/** * UpgradeSelections service. * @version 4.3.1 * @class UpgradeSelectionsApi */ export class UpgradeSelectionsApi { /** * Make the default {@link ApiClient} class available for developers to be able to extend it and bring * their own fetch methods into the SDK */ static get ApiClient(): typeof ApiClient; /** * Constructs a new UpgradeSelectionsApi. * @alias module:api/UpgradeSelectionsApi * @class * @param {module:ApiClient} [apiClient] Optional API client implementation to use, * default to {@link module:ApiClient#instance} if unspecified. */ constructor(apiClient?: any); apiClient: any; /** * Save a new upgrade selection for a cluster. * Create a new upgrade selection to save the intended set of entity upgrades for a cluster. This is primarily used in dark-site workflows where the user selects entities to upgrade, saves the selection, and then exports it to generate a download helper for obtaining the required bundles from the Nutanix Portal. Submit an UpgradeSelection object containing the selectedUpgrades (entity UUID and target version pairs) and the clusterExtId. The operation is asynchronous and returns a TaskReference. Requires the NTNX-Request-Id header (a UUID v4 value) for idempotency. After creating a selection, use POST /upgrade-selections/{extId}/$actions/export to generate the download helper package. * @param { Required> & Partial } body specification * @param {Object} args Additional Arguments * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link CreateUpgradeSelectionApiResponse } and HTTP response */ createUpgradeSelection(body: Required> & Partial, ...args: any): Promise; /** * Delete an upgrade selection. * Delete an upgrade selection that is no longer needed. This operation is asynchronous and returns a TaskReference. Deleting a selection does not affect any bundles or images that have already been uploaded to the cluster. Requires the NTNX-Request-Id header (a UUID v4 value) for idempotency. * @param { String } extId The external identifier (UUID) of the upgrade selection. * @param {Object} args Additional Arguments * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link DeleteUpgradeSelectionApiResponse } and HTTP response */ deleteUpgradeSelectionById(extId: string, ...args: any): Promise; /** * Export a download helper package for obtaining dark-site bundles. * Generate a download_helper.zip file containing scripts and instructions for downloading the LCM dark-site bundles required for the selected upgrades from the Nutanix Portal. The operation is asynchronous and returns a TaskReference. Once the task completes successfully, the URL to download the download_helper.zip file is available in the completion_details field of the task. The download helper includes metadata about which bundles are needed and helper scripts for automated download. Requires the NTNX-Request-Id header (a UUID v4 value) for idempotency. * @param { String } extId The external identifier (UUID) of the upgrade selection. * @param {Object} args Additional Arguments * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link ExportUpgradeSelectionApiResponse } and HTTP response */ exportUpgradeSelection(extId: string, ...args: any): Promise; /** * Retrieve details of a specific upgrade selection. * Retrieve the full details of a specific upgrade selection by its identifier. The response includes the list of selected entity upgrades (entity UUID and target version pairs), the cluster identifier, and the current selection status (PENDING_UPLOAD, UPGRADE_READY, or STALE_SELECTION). Use this endpoint to check whether all required bundles have been uploaded and the selection is ready for upgrade. * @param { String } extId The external identifier (UUID) of the upgrade selection. * @param {Object} args Additional Arguments * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link GetUpgradeSelectionApiResponse } and HTTP response */ getUpgradeSelectionById(extId: string, ...args: any): Promise; /** * List all upgrade selections on the cluster. * Retrieve a paginated list of all upgrade selections on the cluster. Supports standard query parameters for pagination ($page, $limit) and filtering ($filter). Each selection shows the saved entity upgrades, cluster identifier, and current status. * @param {Object} opts Optional parameters defined for the operation * @param { Number } opts.$page A URL query parameter that specifies the page number of the result set. It must be a positive integer between 0 and the maximum number of pages that are available for that resource. Any number out of this range might lead to no results. If both $page and $apply query parameters are present, $page will be applied on entities within the groups. * @param { Number } opts.$limit A URL query parameter that specifies the total number of records returned in the result set. Must be a positive integer between 1 and 100. Any number out of this range will lead to a validation error. If the limit is not provided, a default value of 50 records will be returned in the result set. If both $limit and $apply query parameters are present, $limit will be applied on entities within the groups. Default value of limit with $apply will be 5. * @param { String } opts.$filter A URL query parameter that allows clients to filter a collection of resources. The expression specified with $filter is evaluated for each resource in the collection, and only items where the expression evaluates to true are included in the response. Expression specified with the $filter must conform to the [OData V4.01](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html) URL conventions.
* For example, filter **$filter=name eq 'karbon-ntnx-1.0'** would filter the result on cluster name 'karbon-ntnx1.0', filter **$filter=startswith(name, 'C')** would filter on cluster name starting with 'C'. If both $filter and $apply query parameters are present, $filter will be applied on entities within the groups. * @param { String } opts.$orderby A URL query parameter that allows clients to specify the sort criteria for the returned list of objects. Resources can be sorted in ascending order using asc or descending order using desc. If asc or desc are not specified, the resources will be sorted in ascending order by default. For example, '$orderby=templateName desc' would get all templates sorted by templateName in descending order. If both $orderby and $apply query parameters are present, $orderby will be applied on entities within the groups. * @param { String } opts.$select A URL query parameter that allows clients to request a specific set of properties for each entity or complex type. Expression specified with the $select must conform to the [OData V4.01](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html) URL conventions. If a $select expression consists of a single select item that is an asterisk (i.e., *), then all properties on the matching resource will be returned. If both $select and $apply query parameters are present, $select will be applied on entities within the groups. * @param {Object} args Additional Arguments * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link ListUpgradeSelectionsApiResponse } and HTTP response */ listUpgradeSelections(opts: { $page: number; $limit: number; $filter: string; $orderby: string; $select: string; }, ...args: any): Promise; #private; } import UpgradeSelection from "../models/lifecycle/v4/resources/UpgradeSelection"; import CreateUpgradeSelectionApiResponse from "../models/lifecycle/v4/resources/CreateUpgradeSelectionApiResponse"; import DeleteUpgradeSelectionApiResponse from "../models/lifecycle/v4/resources/DeleteUpgradeSelectionApiResponse"; import ExportUpgradeSelectionApiResponse from "../models/lifecycle/v4/resources/ExportUpgradeSelectionApiResponse"; import GetUpgradeSelectionApiResponse from "../models/lifecycle/v4/resources/GetUpgradeSelectionApiResponse"; import ListUpgradeSelectionsApiResponse from "../models/lifecycle/v4/resources/ListUpgradeSelectionsApiResponse"; import { ApiClient } from "../ApiClient";