호스트 업그레이드
https://api.datadoghq.com/api/v2/fleet/deployments/upgradehttps://api.us3.datadoghq.com/api/v2/fleet/deployments/upgradehttps://api.us5.datadoghq.com/api/v2/fleet/deployments/upgradehttps://api.datadoghq.eu/api/v2/fleet/deployments/upgradehttps://api.ap1.datadoghq.com/api/v2/fleet/deployments/upgradehttps://api.ap2.datadoghq.com/api/v2/fleet/deployments/upgradehttps://api.uk1.datadoghq.com/api/v2/fleet/deployments/upgradehttps://api.ddog-gov.com/api/v2/fleet/deployments/upgradehttps://api.us2.ddog-gov.com/api/v2/fleet/deployments/upgrade개요
지정된 필터 쿼리와 일치하는 호스트에서 새 패키지 업그레이드를 생성하고 즉시 시작합니다.
이 엔드포인트를 사용하면 지정된 필터 쿼리와 일치하는 호스트에서 Datadog Agent를 특정 버전으로 업그레이드할 수 있습니다.
배포가 자동으로 생성되고 시작됩니다. 시스템:
- 필터 쿼리와 일치하는 모든 호스트를 식별합니다.
- 지정된 버전을 사용할 수 있는지 확인합니다.
- 대상 호스트에 패키지 업그레이드 배포를 시작합니다.
filter_query 또는 target_packages가 누락되었거나, 대상 패키지에 이름이나 버전이 없거나, 필터 쿼리가 업그레이드 가능한 호스트와 일치하지 않는 경우 400을 반환합니다. 하나 이상의 대상 호스트에서 충돌하는 업그레이드가 이미 실행 중인 경우 409를 반환합니다.
요청
Body Data (required)
패키지 업그레이드 세부 정보가 포함된 요청 페이로드입니다.
data [required]새 v2 패키지 업그레이드 배포를 생성하기 위한 요청 페이로드입니다.
attributes [required]Attributes for creating a new v2 package upgrade deployment.
filter_query [required]Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
target_packages [required]List of packages and their target versions to deploy to the selected hosts.
name [required]The name of the package to deploy.
version [required]The target version of the package to deploy.
type [required]The type of deployment resource.
deploymentdeployment{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}응답
CREATED
Response containing the newly created deployment.
data [required]A deployment in the v2 API response.
attributes [required]Attributes of a deployment in the v2 API response.
authorHandle of the user who triggered the deployment.
config_operationsOrdered list of configuration file operations applied by this deployment. Absent for package deployments, which have no configuration file operations.
file_op [required]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.
merge-patch, deletefile_path [required]Absolute path to the target configuration file on the host.
patchPatch 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_secondsDuration of the deployment in seconds, computed as finished_at - started_at.
Zero if the deployment has not finished.
error_summaryTop-level error message for the deployment. Populated only when the deployment has failed.
estimated_finished_atEstimated completion time of the deployment as a Unix timestamp. Zero if not available.
finished_atTime the deployment finished as a Unix timestamp. Zero if not yet finished.
is_scheduledWhether this deployment was triggered by a schedule (schedule_id is non-empty).
queryQuery used to filter and select target hosts for the deployment.
schedule_idIdentifier of the schedule that triggered this deployment. Empty if triggered manually.
started_atTime the deployment started as a Unix timestamp. Zero if not yet started.
statusCurrent high-level status of the deployment (for example, "pending", "running", "completed", "failed").
target_versionsPackage versions targeted by this deployment.
total_hostsTotal number of hosts targeted by this deployment.
update_typeType of update operation performed by this deployment (for example, "update_config_operations", "update_package").
id [required]Unique identifier for the deployment.
type [required]The type of deployment resource.
deploymentdeployment{
"data": {
"attributes": {
"author": "alice@datadoghq.com",
"config_operations": [
{
"file_op": "merge-patch",
"file_path": "/datadog.yaml",
"patch": {
"apm_config": {
"enabled": true
},
"log_level": "debug",
"logs_enabled": true
}
}
],
"duration_seconds": 1000,
"error_summary": "A host failed to update",
"estimated_finished_at": 1699999999,
"finished_at": 0,
"is_scheduled": true,
"query": "env:prod AND service:web",
"schedule_id": "sched-123",
"started_at": 1699990000,
"status": "pending",
"target_versions": [
"7.52.0"
],
"total_hosts": 42,
"update_type": "update_config_operations"
},
"id": "k7Q-3mX-p9Z",
"type": "deployment"
}
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Unauthorized
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Forbidden
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Conflict
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}코드 예시
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter_query": "env:prod AND service:web",
"target_packages": [
{
"name": "datadog-agent",
"version": "7.52.0"
}
]
},
"type": "deployment"
}
}
EOF// Upgrade hosts returns "CREATED" response
package main
import (
"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"
)
func main() {
body := datadogV2.FleetDeploymentPackageUpgradeV2CreateRequest{
Data: datadogV2.FleetDeploymentPackageUpgradeV2Create{
Attributes: datadogV2.FleetDeploymentPackageUpgradeV2Attributes{
FilterQuery: "env:prod AND service:example-fleet-automation",
TargetPackages: []datadogV2.FleetDeploymentPackage{
{
Name: "datadog-agent",
Version: "7.52.0",
},
},
},
Type: datadogV2.FLEETDEPLOYMENTRESOURCETYPE_DEPLOYMENT,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewFleetAutomationApi(apiClient)
resp, r, err := api.CreateFleetDeploymentUpgradeV2(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `FleetAutomationApi.CreateFleetDeploymentUpgradeV2`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `FleetAutomationApi.CreateFleetDeploymentUpgradeV2`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Upgrade hosts returns "CREATED" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetDeploymentPackage;
import com.datadog.api.client.v2.model.FleetDeploymentPackageUpgradeV2Attributes;
import com.datadog.api.client.v2.model.FleetDeploymentPackageUpgradeV2Create;
import com.datadog.api.client.v2.model.FleetDeploymentPackageUpgradeV2CreateRequest;
import com.datadog.api.client.v2.model.FleetDeploymentResourceType;
import com.datadog.api.client.v2.model.FleetDeploymentV2CreateResponse;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);
FleetDeploymentPackageUpgradeV2CreateRequest body =
new FleetDeploymentPackageUpgradeV2CreateRequest()
.data(
new FleetDeploymentPackageUpgradeV2Create()
.attributes(
new FleetDeploymentPackageUpgradeV2Attributes()
.filterQuery("env:prod AND service:example-fleet-automation")
.targetPackages(
Collections.singletonList(
new FleetDeploymentPackage()
.name("datadog-agent")
.version("7.52.0"))))
.type(FleetDeploymentResourceType.DEPLOYMENT));
try {
FleetDeploymentV2CreateResponse result = apiInstance.createFleetDeploymentUpgradeV2(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling FleetAutomationApi#createFleetDeploymentUpgradeV2");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Upgrade hosts returns "CREATED" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi
from datadog_api_client.v2.model.fleet_deployment_package import FleetDeploymentPackage
from datadog_api_client.v2.model.fleet_deployment_package_upgrade_v2_attributes import (
FleetDeploymentPackageUpgradeV2Attributes,
)
from datadog_api_client.v2.model.fleet_deployment_package_upgrade_v2_create import FleetDeploymentPackageUpgradeV2Create
from datadog_api_client.v2.model.fleet_deployment_package_upgrade_v2_create_request import (
FleetDeploymentPackageUpgradeV2CreateRequest,
)
from datadog_api_client.v2.model.fleet_deployment_resource_type import FleetDeploymentResourceType
body = FleetDeploymentPackageUpgradeV2CreateRequest(
data=FleetDeploymentPackageUpgradeV2Create(
attributes=FleetDeploymentPackageUpgradeV2Attributes(
filter_query="env:prod AND service:example-fleet-automation",
target_packages=[
FleetDeploymentPackage(
name="datadog-agent",
version="7.52.0",
),
],
),
type=FleetDeploymentResourceType.DEPLOYMENT,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = FleetAutomationApi(api_client)
response = api_instance.create_fleet_deployment_upgrade_v2(body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Upgrade hosts returns "CREATED" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
body = DatadogAPIClient::V2::FleetDeploymentPackageUpgradeV2CreateRequest.new({
data: DatadogAPIClient::V2::FleetDeploymentPackageUpgradeV2Create.new({
attributes: DatadogAPIClient::V2::FleetDeploymentPackageUpgradeV2Attributes.new({
filter_query: "env:prod AND service:example-fleet-automation",
target_packages: [
DatadogAPIClient::V2::FleetDeploymentPackage.new({
name: "datadog-agent",
version: "7.52.0",
}),
],
}),
type: DatadogAPIClient::V2::FleetDeploymentResourceType::DEPLOYMENT,
}),
})
p api_instance.create_fleet_deployment_upgrade_v2(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Upgrade hosts returns "CREATED" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::model::FleetDeploymentPackage;
use datadog_api_client::datadogV2::model::FleetDeploymentPackageUpgradeV2Attributes;
use datadog_api_client::datadogV2::model::FleetDeploymentPackageUpgradeV2Create;
use datadog_api_client::datadogV2::model::FleetDeploymentPackageUpgradeV2CreateRequest;
use datadog_api_client::datadogV2::model::FleetDeploymentResourceType;
#[tokio::main]
async fn main() {
let body = FleetDeploymentPackageUpgradeV2CreateRequest::new(
FleetDeploymentPackageUpgradeV2Create::new(
FleetDeploymentPackageUpgradeV2Attributes::new(
"env:prod AND service:example-fleet-automation".to_string(),
vec![FleetDeploymentPackage::new(
"datadog-agent".to_string(),
"7.52.0".to_string(),
)],
),
FleetDeploymentResourceType::DEPLOYMENT,
),
);
let configuration = datadog::Configuration::new();
let api = FleetAutomationAPI::with_config(configuration);
let resp = api.create_fleet_deployment_upgrade_v2(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Upgrade hosts returns "CREATED" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.FleetAutomationApi(configuration);
const params: v2.FleetAutomationApiCreateFleetDeploymentUpgradeV2Request = {
body: {
data: {
attributes: {
filterQuery: "env:prod AND service:example-fleet-automation",
targetPackages: [
{
name: "datadog-agent",
version: "7.52.0",
},
],
},
type: "deployment",
},
},
};
apiInstance
.createFleetDeploymentUpgradeV2(params)
.then((data: v2.FleetDeploymentV2CreateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"