Response containing detailed information about a single deployment.
Expand All
Field
Type
Description
data [required]
object
Detailed information about a deployment.
attributes [required]
object
Attributes of a deployment detail response.
author
string
Handle of the user who triggered the deployment.
canceled_hosts
int64
Number of hosts on which the deployment was canceled.
config_operations
[object]
Ordered list of configuration file operations applied by this deployment.
Absent for package deployments, which have no configuration file operations.
file_op [required]
enum
Type of file operation to perform on the target configuration file.
merge-patch: Merges the provided patch data with the existing configuration file.
Creates the file if it doesn't exist.
delete: Removes the specified configuration file from the target hosts.
Allowed enum values: merge-patch,delete
file_path [required]
string
Absolute path to the target configuration file on the host.
patch
object
Patch data in JSON format to apply to the configuration file.
When using merge-patch, this object is merged with the existing configuration,
allowing you to add, update, or override specific fields without replacing the entire file.
The structure must match the target configuration file format (for example, YAML structure
for Datadog Agent config). Not applicable when using the delete operation.
duration_seconds
int64
Duration of the deployment in seconds, computed as finished_at - started_at.
Zero if the deployment has not finished.
error_summary
string
Top-level error message for the deployment. Populated only when the deployment has failed.
estimated_finished_at
int64
Estimated completion time of the deployment as a Unix timestamp. Zero if not available.
failed_hosts
int64
Number of hosts on which the deployment failed.
high_level_status
string
Current high-level status of the deployment (for example, "pending", "running",
"completed", "failed").
hosts
[object]
Per-host status list for this deployment.
error
string
Error message if the deployment failed on this host.
hostname
string
Hostname of the agent.
running_step
string
Name of the step currently executing on this host.
status
string
Deployment status for this host (for example, "pending", "running", "succeeded", "failed").
status_details
string
Additional details about the current deployment status on this host.
versions
[object]
Package version details for this host.
current_version
string
The current version of the package on the host.
initial_version
string
The initial version of the package on the host before the deployment started.
package_name
string
The name of the package.
target_version
string
The target version that the deployment is attempting to install.
is_scheduled
boolean
Whether this deployment was triggered by a schedule (schedule_id is non-empty).
query
string
Query used to filter and select target hosts for the deployment.
running_hosts
int64
Number of hosts on which the deployment is currently running.
schedule_id
string
Identifier of the schedule that triggered this deployment. Empty if triggered manually.
skipped_hosts
int64
Number of hosts that were skipped during the deployment.
succeeded_hosts
int64
Number of hosts on which the deployment succeeded.
target_versions
[string]
Distinct package versions targeted by this deployment, in first-seen order.
total_hosts
int64
Total number of hosts targeted by this deployment.
update_type
string
Type of update operation performed by this deployment
(for example, "update_config_operations", "update_package").
id [required]
string
Unique identifier for the deployment.
type [required]
enum
The type of deployment resource.
Allowed enum values: deployment
default: deployment
{"data":{"attributes":{"author":"carol@datadoghq.com","canceled_hosts":1,"config_operations":[{"file_op":"merge-patch","file_path":"/datadog.yaml","patch":{"apm_config":{"enabled":true},"log_level":"debug","logs_enabled":true}}],"duration_seconds":3600,"error_summary":"A host failed to update","estimated_finished_at":1699999999,"failed_hosts":1,"high_level_status":"running","hosts":[{"error":"","hostname":"web-01.example.com","running_step":"applying_config","status":"running","status_details":"step 2/3","versions":[{"current_version":"7.51.0","initial_version":"7.51.0","package_name":"datadog-agent","target_version":"7.52.0"}]}],"is_scheduled":true,"query":"env:prod AND service:web","running_hosts":1,"schedule_id":"sched-789","skipped_hosts":1,"succeeded_hosts":1,"target_versions":["7.52.0"],"total_hosts":42,"update_type":"update_config_operations"},"id":"k7Q-3mX-p9Z","type":"deployment"}}
"""
Get a deployment by ID returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.fleet_automation_apiimportFleetAutomationApi# there is a valid "deployment" in the systemDEPLOYMENT_ID=environ["DEPLOYMENT_ID"]configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=FleetAutomationApi(api_client)response=api_instance.get_fleet_deployment_v2(deployment_id=DEPLOYMENT_ID,)print(response)
# Get a deployment by ID returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::FleetAutomationAPI.new# there is a valid "deployment" in the systemDEPLOYMENT_ID=ENV["DEPLOYMENT_ID"]papi_instance.get_fleet_deployment_v2(DEPLOYMENT_ID)
// Get a deployment by ID returns "OK" responsepackagemainimport("context""encoding/json""fmt""os""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){// there is a valid "deployment" in the systemDeploymentID:=os.Getenv("DEPLOYMENT_ID")ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewFleetAutomationApi(apiClient)resp,r,err:=api.GetFleetDeploymentV2(ctx,DeploymentID)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `FleetAutomationApi.GetFleetDeploymentV2`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `FleetAutomationApi.GetFleetDeploymentV2`:\n%s\n",responseContent)}
// Get a deployment by ID returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.FleetAutomationApi;importcom.datadog.api.client.v2.model.FleetDeploymentV2DetailResponse;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();FleetAutomationApiapiInstance=newFleetAutomationApi(defaultClient);// there is a valid "deployment" in the systemStringDEPLOYMENT_ID=System.getenv("DEPLOYMENT_ID");try{FleetDeploymentV2DetailResponseresult=apiInstance.getFleetDeploymentV2(DEPLOYMENT_ID);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling FleetAutomationApi#getFleetDeploymentV2");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get a deployment by ID returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;#[tokio::main]asyncfnmain(){// there is a valid "deployment" in the system
letdeployment_id=std::env::var("DEPLOYMENT_ID").unwrap();letconfiguration=datadog::Configuration::new();letapi=FleetAutomationAPI::with_config(configuration);letresp=api.get_fleet_deployment_v2(deployment_id.clone()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a deployment by ID returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.FleetAutomationApi(configuration);// there is a valid "deployment" in the system
constDEPLOYMENT_ID=process.env.DEPLOYMENT_IDasstring;constparams: v2.FleetAutomationApiGetFleetDeploymentV2Request={deploymentId: DEPLOYMENT_ID,};apiInstance.getFleetDeploymentV2(params).then((data: v2.FleetDeploymentV2DetailResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));