import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi"; import { Configuration } from "../../datadog-api-client-common/configuration"; import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http"; import { FleetAgentDetailV2Response } from "../models/FleetAgentDetailV2Response"; import { FleetAgentsV2Response } from "../models/FleetAgentsV2Response"; import { FleetAgentVersionsV2Response } from "../models/FleetAgentVersionsV2Response"; import { FleetDeploymentConfigureV2CreateRequest } from "../models/FleetDeploymentConfigureV2CreateRequest"; import { FleetDeploymentConfigureV2DryRunResponse } from "../models/FleetDeploymentConfigureV2DryRunResponse"; import { FleetDeploymentPackageUpgradeV2CreateRequest } from "../models/FleetDeploymentPackageUpgradeV2CreateRequest"; import { FleetDeploymentResponse } from "../models/FleetDeploymentResponse"; import { FleetDeploymentsV2Response } from "../models/FleetDeploymentsV2Response"; import { FleetDeploymentV2CancelResponse } from "../models/FleetDeploymentV2CancelResponse"; import { FleetDeploymentV2CreateResponse } from "../models/FleetDeploymentV2CreateResponse"; import { FleetDeploymentV2DetailResponse } from "../models/FleetDeploymentV2DetailResponse"; import { FleetScheduleCreateRequest } from "../models/FleetScheduleCreateRequest"; import { FleetSchedulePatchRequest } from "../models/FleetSchedulePatchRequest"; import { FleetScheduleResponse } from "../models/FleetScheduleResponse"; import { FleetSchedulesV2Response } from "../models/FleetSchedulesV2Response"; import { FleetScheduleV2Response } from "../models/FleetScheduleV2Response"; import { FleetTracersResponse } from "../models/FleetTracersResponse"; export declare class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { cancelFleetDeploymentV2(deploymentId: string, _options?: Configuration): Promise; createFleetDeploymentConfigureV2(body: FleetDeploymentConfigureV2CreateRequest, _options?: Configuration): Promise; createFleetDeploymentUpgradeV2(body: FleetDeploymentPackageUpgradeV2CreateRequest, _options?: Configuration): Promise; createFleetSchedule(body: FleetScheduleCreateRequest, _options?: Configuration): Promise; deleteFleetSchedule(id: string, _options?: Configuration): Promise; getFleetAgentDetailV2(agentKey: string, include?: string, _options?: Configuration): Promise; getFleetDeploymentV2(deploymentId: string, _options?: Configuration): Promise; getFleetScheduleV2(id: string, _options?: Configuration): Promise; listFleetAgentsV2(pageNumber?: number, pageSize?: number, filter?: string, tags?: string, sortAttribute?: string, sortDescending?: boolean, _options?: Configuration): Promise; listFleetAgentTracers(agentKey: string, pageNumber?: number, pageSize?: number, sortAttribute?: string, sortDescending?: boolean, _options?: Configuration): Promise; listFleetAgentVersionsV2(_options?: Configuration): Promise; listFleetDeploymentsV2(pageSize?: number, pageNumber?: number, sort?: string, ascending?: boolean, filter?: string, _options?: Configuration): Promise; listFleetSchedulesV2(_options?: Configuration): Promise; listFleetTracers(pageNumber?: number, pageSize?: number, sortAttribute?: string, sortDescending?: boolean, filter?: string, _options?: Configuration): Promise; triggerFleetSchedule(id: string, _options?: Configuration): Promise; updateFleetSchedule(id: string, body: FleetSchedulePatchRequest, _options?: Configuration): Promise; } export declare class FleetAutomationApiResponseProcessor { /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to cancelFleetDeploymentV2 * @throws ApiException if the response code was not in [200, 299] */ cancelFleetDeploymentV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to createFleetDeploymentConfigureV2 * @throws ApiException if the response code was not in [200, 299] */ createFleetDeploymentConfigureV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to createFleetDeploymentUpgradeV2 * @throws ApiException if the response code was not in [200, 299] */ createFleetDeploymentUpgradeV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to createFleetSchedule * @throws ApiException if the response code was not in [200, 299] */ createFleetSchedule(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to deleteFleetSchedule * @throws ApiException if the response code was not in [200, 299] */ deleteFleetSchedule(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getFleetAgentDetailV2 * @throws ApiException if the response code was not in [200, 299] */ getFleetAgentDetailV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getFleetDeploymentV2 * @throws ApiException if the response code was not in [200, 299] */ getFleetDeploymentV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getFleetScheduleV2 * @throws ApiException if the response code was not in [200, 299] */ getFleetScheduleV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listFleetAgentsV2 * @throws ApiException if the response code was not in [200, 299] */ listFleetAgentsV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listFleetAgentTracers * @throws ApiException if the response code was not in [200, 299] */ listFleetAgentTracers(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listFleetAgentVersionsV2 * @throws ApiException if the response code was not in [200, 299] */ listFleetAgentVersionsV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listFleetDeploymentsV2 * @throws ApiException if the response code was not in [200, 299] */ listFleetDeploymentsV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listFleetSchedulesV2 * @throws ApiException if the response code was not in [200, 299] */ listFleetSchedulesV2(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listFleetTracers * @throws ApiException if the response code was not in [200, 299] */ listFleetTracers(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to triggerFleetSchedule * @throws ApiException if the response code was not in [200, 299] */ triggerFleetSchedule(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to updateFleetSchedule * @throws ApiException if the response code was not in [200, 299] */ updateFleetSchedule(response: ResponseContext): Promise; } export interface FleetAutomationApiCancelFleetDeploymentV2Request { /** * The unique identifier of the deployment to cancel. * @type string */ deploymentId: string; } export interface FleetAutomationApiCreateFleetDeploymentConfigureV2Request { /** * Request payload containing the deployment details. * @type FleetDeploymentConfigureV2CreateRequest */ body: FleetDeploymentConfigureV2CreateRequest; } export interface FleetAutomationApiCreateFleetDeploymentUpgradeV2Request { /** * Request payload containing the package upgrade details. * @type FleetDeploymentPackageUpgradeV2CreateRequest */ body: FleetDeploymentPackageUpgradeV2CreateRequest; } export interface FleetAutomationApiCreateFleetScheduleRequest { /** * Request payload containing the schedule details. * @type FleetScheduleCreateRequest */ body: FleetScheduleCreateRequest; } export interface FleetAutomationApiDeleteFleetScheduleRequest { /** * The unique identifier of the schedule to delete. * @type string */ id: string; } export interface FleetAutomationApiGetFleetAgentDetailV2Request { /** * The unique identifier (Agent key) for the Datadog Agent. Must be a 32-character lowercase hexadecimal string. * @type string */ agentKey: string; /** * Comma-separated list of additional fields to include in the response. Valid values are `integrations` and `configuration_files`. Omitting this parameter returns only `agent_infos`. Unrecognized values are silently ignored rather than causing an error. * @type string */ include?: string; } export interface FleetAutomationApiGetFleetDeploymentV2Request { /** * The unique identifier of the deployment to retrieve. * @type string */ deploymentId: string; } export interface FleetAutomationApiGetFleetScheduleV2Request { /** * The unique identifier of the schedule to retrieve. * @type string */ id: string; } export interface FleetAutomationApiListFleetAgentsV2Request { /** * Page number for pagination, starting at 0. * @type number */ pageNumber?: number; /** * Number of agents to return per page. Maximum value is 100. Defaults to 10. * @type number */ pageSize?: number; /** * Filter string to narrow down agent results. * @type string */ filter?: string; /** * Comma-separated list of tag keys to select which tags are included in each agent's `tags` attribute. Does not filter which agents are returned. * @type string */ tags?: string; /** * Agent attribute to sort results by. Must be a supported attribute name; unsupported values return a 400 error. * @type string */ sortAttribute?: string; /** * Set to `true` to sort results in descending order. Defaults to ascending. * @type boolean */ sortDescending?: boolean; } export interface FleetAutomationApiListFleetAgentTracersRequest { /** * The unique identifier (agent key) for the Datadog Agent. * @type string */ agentKey: string; /** * Page number for pagination (starts at 0). * @type number */ pageNumber?: number; /** * Number of results per page (must be greater than 0 and less than or equal to 100). * @type number */ pageSize?: number; /** * Attribute to sort by. * @type string */ sortAttribute?: string; /** * Sort order (true for descending, false for ascending). * @type boolean */ sortDescending?: boolean; } export interface FleetAutomationApiListFleetDeploymentsV2Request { /** * Number of deployments to return per page. Maximum value is 100. * @type number */ pageSize?: number; /** * Page number for pagination, starting at 0. * @type number */ pageNumber?: number; /** * Field to sort results by (for example, `start_date`). Must be a supported field * name; unsupported values return a 400 error. * @type string */ sort?: string; /** * Set to `true` to sort in ascending order. This setting has no effect unless `sort` is also set. * Defaults to descending order. * @type boolean */ ascending?: boolean; /** * Query used to filter deployments. Uses the Datadog query syntax. Filtering on an * unsupported field returns a 400 error. For example: * - `status:failed` or `status:done_with_errors`: deployments that need investigation. * - `status:running`: deployments currently in flight. * - `update_type:update_package` or `update_type:update_config_operations`: deployments of a given type. * @type string */ filter?: string; } export interface FleetAutomationApiListFleetTracersRequest { /** * Page number for pagination (starts at 0). * @type number */ pageNumber?: number; /** * Number of results per page (must be greater than 0 and less than or equal to 100). * @type number */ pageSize?: number; /** * Attribute to sort by. * @type string */ sortAttribute?: string; /** * Sort order (true for descending, false for ascending). * @type boolean */ sortDescending?: boolean; /** * Filter string for narrowing down tracer results. * @type string */ filter?: string; } export interface FleetAutomationApiTriggerFleetScheduleRequest { /** * The unique identifier of the schedule to trigger. * @type string */ id: string; } export interface FleetAutomationApiUpdateFleetScheduleRequest { /** * The unique identifier of the schedule to update. * @type string */ id: string; /** * Request payload containing the fields to update. * @type FleetSchedulePatchRequest */ body: FleetSchedulePatchRequest; } export declare class FleetAutomationApi { private requestFactory; private responseProcessor; private configuration; constructor(configuration: Configuration, requestFactory?: FleetAutomationApiRequestFactory, responseProcessor?: FleetAutomationApiResponseProcessor); /** * Cancel an active deployment and stop all pending operations. * When you cancel a deployment: * - All pending operations on hosts that haven't started yet are stopped. * - Operations currently in progress on hosts may complete or be interrupted, depending on their current status. * - Configuration changes or package upgrades already applied to hosts are not rolled back. * * After cancellation, you can view the final state of the deployment using the GET endpoint to see which hosts * were successfully updated before the cancellation. * * Only deployments with a `pending` or `running` status can be canceled. Returns a 400 if the deployment is not in a cancelable status. Returns a 404 if no deployment matches the specified ID or if you do not have access to it. * @param param The request object */ cancelFleetDeploymentV2(param: FleetAutomationApiCancelFleetDeploymentV2Request, options?: Configuration): Promise; /** * Create a new deployment to apply configuration changes * to a fleet of hosts matching the specified filter query. * * This endpoint supports two types of configuration operations: * - `merge-patch`: Merges the provided patch data with the existing configuration file, * creating the file if it doesn't exist. * - `delete`: Removes the specified configuration file from the target hosts. * * You can optionally use `target_packages` to apply the configuration change only to specific package versions. * * The deployment is created and started automatically. You can specify multiple configuration * operations to execute in order on each target host. Use the filter query to target * specific hosts using the Datadog query syntax. * * Set `dry_run` to `true` to validate the configuration and resolve target hosts and packages without deploying anything. A dry run returns a 200 with the validation result instead of creating and starting a deployment. * * Returns a 400 if `filter_query` or `config_operations` is missing, a target package is missing a name or version or cannot be resolved, the configuration fails validation, or the filter query does not match any host eligible for the deployment. * @param param The request object */ createFleetDeploymentConfigureV2(param: FleetAutomationApiCreateFleetDeploymentConfigureV2Request, options?: Configuration): Promise; /** * Create and immediately start a new package upgrade * on hosts matching the specified filter query. * * This endpoint allows you to upgrade the Datadog Agent to a specific version * on hosts matching the specified filter query. * * The deployment is created and started automatically. The system: * 1. Identifies all hosts matching the filter query. * 2. Validates that the specified version is available. * 3. Begins rolling out the package upgrade to the target hosts. * * Returns a 400 if `filter_query` or `target_packages` is missing, a target package is missing a name or version, or the filter query does not match any host eligible for the upgrade. Returns a 409 if a conflicting upgrade is already running on one or more target hosts. * @param param The request object */ createFleetDeploymentUpgradeV2(param: FleetAutomationApiCreateFleetDeploymentUpgradeV2Request, options?: Configuration): Promise; /** * Create a new schedule for automated package upgrades. * * Schedules define when and how often to automatically deploy package upgrades to a fleet * of hosts. Each schedule includes: * - A filter query to select target hosts * - A recurrence rule defining maintenance windows * - A version strategy (e.g., always latest, or N versions behind latest) * * When the schedule triggers during a maintenance window, it automatically creates a * deployment that upgrades the Datadog Agent to the specified version on all matching hosts. * @param param The request object */ createFleetSchedule(param: FleetAutomationApiCreateFleetScheduleRequest, options?: Configuration): Promise; /** * Delete a schedule permanently. * * When you delete a schedule: * - The schedule is permanently removed and will no longer create deployments * - Any deployments already created by this schedule are not affected * - This action cannot be undone * * If you want to temporarily stop a schedule from creating deployments, consider * updating its status to "inactive" instead of deleting it. * @param param The request object */ deleteFleetSchedule(param: FleetAutomationApiDeleteFleetScheduleRequest, options?: Configuration): Promise; /** * Retrieve detailed information about a specific Datadog Agent. * * By default, only `agent_infos` is returned. Use the `include` query parameter to * request additional data: `integrations` and/or `configuration_files`. * @param param The request object */ getFleetAgentDetailV2(param: FleetAutomationApiGetFleetAgentDetailV2Request, options?: Configuration): Promise; /** * Retrieve detailed information about a specific deployment, including its current status, * configuration operations, and per-host execution status. * * Returns a 404 if no deployment matches the given ID or if you do not have access to it. * @param param The request object */ getFleetDeploymentV2(param: FleetAutomationApiGetFleetDeploymentV2Request, options?: Configuration): Promise; /** * Retrieve detailed information about a specific schedule by its unique identifier. * @param param The request object */ getFleetScheduleV2(param: FleetAutomationApiGetFleetScheduleV2Request, options?: Configuration): Promise; /** * Retrieve a paginated list of Datadog Agents. * * Returns agents with support for pagination, sorting, and filtering. * Use `page_number` and `page_size` to navigate pages, `filter` to narrow by field values, * and `tags` to filter by agent tags. * @param param The request object */ listFleetAgentsV2(param?: FleetAutomationApiListFleetAgentsV2Request, options?: Configuration): Promise; /** * Retrieve a paginated list of tracers for a specific agent. * * This endpoint returns tracers associated with a given agent key, identified by the * agent's hostname. Use this to discover telemetry-derived service names for a particular host. * @param param The request object */ listFleetAgentTracers(param: FleetAutomationApiListFleetAgentTracersRequest, options?: Configuration): Promise; /** * Retrieve the list of Datadog Agent versions available for deployment. * * Returns `200` with an empty `data` array if the Agent package exists in the catalog * but has no available versions, and `404` only if the Agent package itself is absent * from the catalog. * @param param The request object */ listFleetAgentVersionsV2(options?: Configuration): Promise; /** * Retrieve a paginated list of all deployments for fleet automation. * @param param The request object */ listFleetDeploymentsV2(param?: FleetAutomationApiListFleetDeploymentsV2Request, options?: Configuration): Promise; /** * Retrieve all upgrade schedules for the organization. * * Schedules automate package upgrades by defining maintenance windows and recurrence rules. * Each schedule automatically creates deployments based on its configuration. * @param param The request object */ listFleetSchedulesV2(options?: Configuration): Promise; /** * Retrieve a paginated list of all fleet tracers. * * This endpoint returns telemetry-derived service names from the SDK telemetry pipeline. * These names may differ from span-derived names in APM and are useful for querying * service library configurations. * Use the `page_number` and `page_size` query parameters to paginate through results. * @param param The request object */ listFleetTracers(param?: FleetAutomationApiListFleetTracersRequest, options?: Configuration): Promise; /** * Manually trigger a schedule to immediately create and start a deployment. * * This endpoint allows you to manually initiate a deployment using the schedule's * configuration, without waiting for the next scheduled maintenance window. This is * useful for: * - Testing a schedule before it runs automatically * - Performing an emergency update outside the regular maintenance window * - Creating an ad-hoc deployment with the same settings as a schedule * * The deployment is created immediately with: * - The same filter query as the schedule * - The package version determined by the schedule's version strategy * - All matching hosts as targets * * The manually triggered deployment is independent of the schedule and does not * affect the schedule's normal recurrence pattern. * @param param The request object */ triggerFleetSchedule(param: FleetAutomationApiTriggerFleetScheduleRequest, options?: Configuration): Promise; /** * Partially update a schedule by providing only the fields you want to change. * * This endpoint allows you to modify specific attributes of a schedule without * affecting other fields. Common use cases include: * - Changing the schedule status between active and inactive * - Updating the maintenance window times * - Modifying the filter query to target different hosts * - Adjusting the version strategy * * Only include the fields you want to update in the request body. All fields * are optional in a PATCH request. * @param param The request object */ updateFleetSchedule(param: FleetAutomationApiUpdateFleetScheduleRequest, options?: Configuration): Promise; }