Create a configuration deployment

This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.ap2.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.datadoghq.eu/api/unstable/fleet/deployments/configurehttps://api.ddog-gov.com/api/unstable/fleet/deployments/configurehttps://api.us2.ddog-gov.com/api/unstable/fleet/deployments/configurehttps://api.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.us3.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure

Overview

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

The deployment is created and started automatically. You can specify multiple configuration operations that will be executed in order on each target host. Use the filter query to target specific hosts using the Datadog query syntax.

This endpoint requires all of the following permissions:
  • agent_upgrade_write
  • fleet_policies_write

  • Request

    Body Data (required)

    Request payload containing the deployment details.

    Expand All

    Field

    Type

    Description

    data [required]

    object

    Data for creating a new configuration deployment.

    attributes [required]

    object

    Attributes for creating a new configuration deployment.

    config_operations [required]

    [object]

    Ordered list of configuration file operations to perform on the target hosts.

    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.

    filter_query

    string

    Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.

    type [required]

    enum

    The type of deployment resource. Allowed enum values: deployment

    default: deployment

    {
      "data": {
        "attributes": {
          "config_operations": [
            {
              "file_op": "merge-patch",
              "file_path": "/datadog.yaml",
              "patch": {
                "apm_config": {
                  "enabled": true
                },
                "log_level": "debug",
                "logs_enabled": true
              }
            }
          ],
          "filter_query": "env:prod AND service:web"
        },
        "type": "deployment"
      }
    }

    Response

    CREATED

    Response containing a single deployment.

    Expand All

    Field

    Type

    Description

    data

    object

    A deployment that defines automated configuration changes for a fleet of hosts.

    attributes [required]

    object

    Attributes of a deployment in the response.

    config_operations

    [object]

    Ordered list of configuration file operations to perform on the target hosts.

    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.

    estimated_end_time_unix

    int64

    Estimated completion time of the deployment as a Unix timestamp (seconds since epoch).

    filter_query

    string

    Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.

    high_level_status

    string

    Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").

    hosts

    [object]

    Paginated list of hosts in this deployment with their individual statuses. Only included when fetching a single deployment by ID. Use the limit and page query parameters to navigate through pages. Pagination metadata is included in the response meta.hosts field.

    error

    string

    Error message if the deployment failed on this host.

    hostname

    string

    The hostname of the agent.

    status

    string

    Current deployment status for this specific host.

    versions

    [object]

    List of packages and their versions currently installed on 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.

    packages

    [object]

    List of packages to deploy to target hosts. Present only for package upgrade deployments.

    name [required]

    string

    The name of the package to deploy.

    version [required]

    string

    The target version of the package to deploy.

    total_hosts

    int64

    Total number of hosts targeted by this deployment.

    id [required]

    string

    Unique identifier for the deployment.

    type [required]

    enum

    The type of deployment resource. Allowed enum values: deployment

    default: deployment

    meta

    object

    Metadata for a single deployment response, including pagination information for hosts.

    hosts

    object

    Pagination details for the list of hosts in a deployment.

    current_page

    int64

    Current page index (zero-based).

    page_size

    int64

    Number of hosts returned per page.

    total_hosts

    int64

    Total number of hosts in this deployment.

    total_pages

    int64

    Total number of pages available.

    {
      "data": {
        "attributes": {
          "config_operations": [
            {
              "file_op": "merge-patch",
              "file_path": "/datadog.yaml",
              "patch": {
                "apm_config": {
                  "enabled": true
                },
                "log_level": "debug",
                "logs_enabled": true
              }
            }
          ],
          "estimated_end_time_unix": 1699999999,
          "filter_query": "env:prod AND service:web",
          "high_level_status": "pending",
          "hosts": [
            {
              "error": "",
              "hostname": "web-server-01.example.com",
              "status": "succeeded",
              "versions": [
                {
                  "current_version": "7.51.0",
                  "initial_version": "7.51.0",
                  "package_name": "datadog-agent",
                  "target_version": "7.52.0"
                }
              ]
            }
          ],
          "packages": [
            {
              "name": "datadog-agent",
              "version": "7.52.0"
            }
          ],
          "total_hosts": 42
        },
        "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
        "type": "deployment"
      },
      "meta": {
        "hosts": {
          "current_page": 0,
          "page_size": 50,
          "total_hosts": 150,
          "total_pages": 3
        }
      }
    }

    Bad Request

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Unauthorized

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Forbidden

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Too many requests

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Code Example

                      ## Add log integrations for multiple services
    # 
    
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "config_operations": [ { "file_op": "merge-patch", "file_path": "/conf.d/postgres.d/logs.yaml", "patch": { "logs": [ { "path": "/var/log/postgres.log", "service": "postgres1", "source": "postgres", "type": "file" } ] } }, { "file_op": "merge-patch", "file_path": "/conf.d/kafka.d/logs.yaml", "patch": { "logs": [ { "path": "/var/log/kafka.log", "service": "kafka1", "source": "kafka", "type": "file" } ] } } ], "filter_query": "env:prod" }, "type": "deployment" } } EOF
    ## Comprehensive example with multiple configuration file types #
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "config_operations": [ { "file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": { "apm_config": { "apm_dd_url": "https://trace.agent.datadoghq.com", "enabled": true }, "log_level": "info", "logs_enabled": true, "process_config": { "enabled": true } } }, { "file_op": "merge-patch", "file_path": "/security-agent.yaml", "patch": { "runtime_security_config": { "enabled": true, "fim_enabled": true } } }, { "file_op": "merge-patch", "file_path": "/system-probe.yaml", "patch": { "network_config": { "enabled": true }, "service_monitoring_config": { "enabled": true } } }, { "file_op": "merge-patch", "file_path": "/application_monitoring.yaml", "patch": { "enabled": true, "server": { "host": "0.0.0.0", "port": 8126 } } }, { "file_op": "merge-patch", "file_path": "/conf.d/logs.d/custom-app.yaml", "patch": { "logs": [ { "path": "/var/log/custom-app/*.log", "service": "custom-app", "source": "custom", "type": "file" } ] } }, { "file_op": "merge-patch", "file_path": "/conf.d/docker.d/docker-logs.yaml", "patch": { "logs": [ { "service": "docker", "source": "docker", "type": "docker" } ] } }, { "file_op": "merge-patch", "file_path": "/conf.d/snmp.d/network-devices.yaml", "patch": { "init_config": { "loader": "core" }, "instances": [ { "community_string": "public", "ip_address": "192.168.1.1" } ] } }, { "file_op": "merge-patch", "file_path": "/conf.d/postgres.d/conf.yaml", "patch": { "instances": [ { "dbname": "postgres", "host": "localhost", "port": 5432, "username": "datadog" } ] } }, { "file_op": "delete", "file_path": "/conf.d/deprecated-integration.yaml" } ], "filter_query": "env:prod AND datacenter:us-east-1" }, "type": "deployment" } } EOF
    ## default #
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "config_operations": [ { "file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": { "apm_config": { "apm_dd_url": "https://trace.agent.datadoghq.com", "enabled": true }, "log_level": "info", "logs_enabled": true, "process_config": { "enabled": true } } }, { "file_op": "merge-patch", "file_path": "/security-agent.yaml", "patch": { "runtime_security_config": { "enabled": true, "fim_enabled": true } } }, { "file_op": "merge-patch", "file_path": "/system-probe.yaml", "patch": { "network_config": { "enabled": true }, "service_monitoring_config": { "enabled": true } } }, { "file_op": "merge-patch", "file_path": "/application_monitoring.yaml", "patch": { "enabled": true, "server": { "host": "0.0.0.0", "port": 8126 } } }, { "file_op": "merge-patch", "file_path": "/conf.d/logs.d/custom-app.yaml", "patch": { "logs": [ { "path": "/var/log/custom-app/*.log", "service": "custom-app", "source": "custom", "type": "file" } ] } }, { "file_op": "merge-patch", "file_path": "/conf.d/docker.d/docker-logs.yaml", "patch": { "logs": [ { "service": "docker", "source": "docker", "type": "docker" } ] } }, { "file_op": "merge-patch", "file_path": "/conf.d/snmp.d/network-devices.yaml", "patch": { "init_config": { "loader": "core" }, "instances": [ { "community_string": "public", "ip_address": "192.168.1.1" } ] } }, { "file_op": "merge-patch", "file_path": "/conf.d/postgres.d/conf.yaml", "patch": { "instances": [ { "dbname": "postgres", "host": "localhost", "port": 5432, "username": "datadog" } ] } }, { "file_op": "delete", "file_path": "/conf.d/deprecated-integration.yaml" } ], "filter_query": "env:prod AND datacenter:us-east-1" }, "type": "deployment" } } EOF
    ## Delete a configuration file #
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "config_operations": [ { "file_op": "delete", "file_path": "/conf.d/old-integration.yaml" } ], "filter_query": "env:dev" }, "type": "deployment" } } EOF
    ## Enable APM and Logs products #
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "config_operations": [ { "file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": { "apm_config": { "enabled": true }, "log_level": "debug", "logs_enabled": true } } ], "filter_query": "env:prod AND service:web" }, "type": "deployment" } } EOF
    ## Set log level to info #
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "config_operations": [ { "file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": { "log_level": "info" } } ], "filter_query": "env:staging" }, "type": "deployment" } } EOF
    """
    Create a configuration deployment returns "CREATED" response
    """
    
    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_configure_attributes import FleetDeploymentConfigureAttributes
    from datadog_api_client.v2.model.fleet_deployment_configure_create import FleetDeploymentConfigureCreate
    from datadog_api_client.v2.model.fleet_deployment_configure_create_request import FleetDeploymentConfigureCreateRequest
    from datadog_api_client.v2.model.fleet_deployment_file_op import FleetDeploymentFileOp
    from datadog_api_client.v2.model.fleet_deployment_operation import FleetDeploymentOperation
    from datadog_api_client.v2.model.fleet_deployment_resource_type import FleetDeploymentResourceType
    
    body = FleetDeploymentConfigureCreateRequest(
        data=FleetDeploymentConfigureCreate(
            attributes=FleetDeploymentConfigureAttributes(
                config_operations=[
                    FleetDeploymentOperation(
                        file_op=FleetDeploymentFileOp.MERGE_PATCH,
                        file_path="/datadog.yaml",
                        patch=dict([("apm_config", "{'enabled': True}"), ("log_level", "debug"), ("logs_enabled", "True")]),
                    ),
                ],
                filter_query="env:prod AND service:web",
            ),
            type=FleetDeploymentResourceType.DEPLOYMENT,
        ),
    )
    
    configuration = Configuration()
    configuration.unstable_operations["create_fleet_deployment_configure"] = True
    with ApiClient(configuration) as api_client:
        api_instance = FleetAutomationApi(api_client)
        response = api_instance.create_fleet_deployment_configure(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Create a configuration deployment returns "CREATED" response
    
    require "datadog_api_client"
    DatadogAPIClient.configure do |config|
      config.unstable_operations["v2.create_fleet_deployment_configure".to_sym] = true
    end
    api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
    
    body = DatadogAPIClient::V2::FleetDeploymentConfigureCreateRequest.new({
      data: DatadogAPIClient::V2::FleetDeploymentConfigureCreate.new({
        attributes: DatadogAPIClient::V2::FleetDeploymentConfigureAttributes.new({
          config_operations: [
            DatadogAPIClient::V2::FleetDeploymentOperation.new({
              file_op: DatadogAPIClient::V2::FleetDeploymentFileOp::MERGE_PATCH,
              file_path: "/datadog.yaml",
              patch: {
                "apm_config": "{'enabled': True}", "log_level": "debug", "logs_enabled": "True",
              },
            }),
          ],
          filter_query: "env:prod AND service:web",
        }),
        type: DatadogAPIClient::V2::FleetDeploymentResourceType::DEPLOYMENT,
      }),
    })
    p api_instance.create_fleet_deployment_configure(body)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // Create a configuration deployment 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.FleetDeploymentConfigureCreateRequest{
    		Data: datadogV2.FleetDeploymentConfigureCreate{
    			Attributes: datadogV2.FleetDeploymentConfigureAttributes{
    				ConfigOperations: []datadogV2.FleetDeploymentOperation{
    					{
    						FileOp:   datadogV2.FLEETDEPLOYMENTFILEOP_MERGE_PATCH,
    						FilePath: "/datadog.yaml",
    						Patch: map[string]interface{}{
    							"apm_config":   "{'enabled': True}",
    							"log_level":    "debug",
    							"logs_enabled": true,
    						},
    					},
    				},
    				FilterQuery: datadog.PtrString("env:prod AND service:web"),
    			},
    			Type: datadogV2.FLEETDEPLOYMENTRESOURCETYPE_DEPLOYMENT,
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	configuration.SetUnstableOperationEnabled("v2.CreateFleetDeploymentConfigure", true)
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewFleetAutomationApi(apiClient)
    	resp, r, err := api.CreateFleetDeploymentConfigure(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `FleetAutomationApi.CreateFleetDeploymentConfigure`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `FleetAutomationApi.CreateFleetDeploymentConfigure`:\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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // Create a configuration deployment 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.FleetDeploymentConfigureAttributes;
    import com.datadog.api.client.v2.model.FleetDeploymentConfigureCreate;
    import com.datadog.api.client.v2.model.FleetDeploymentConfigureCreateRequest;
    import com.datadog.api.client.v2.model.FleetDeploymentFileOp;
    import com.datadog.api.client.v2.model.FleetDeploymentOperation;
    import com.datadog.api.client.v2.model.FleetDeploymentResourceType;
    import com.datadog.api.client.v2.model.FleetDeploymentResponse;
    import java.util.Collections;
    import java.util.Map;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        defaultClient.setUnstableOperationEnabled("v2.createFleetDeploymentConfigure", true);
        FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);
    
        FleetDeploymentConfigureCreateRequest body =
            new FleetDeploymentConfigureCreateRequest()
                .data(
                    new FleetDeploymentConfigureCreate()
                        .attributes(
                            new FleetDeploymentConfigureAttributes()
                                .configOperations(
                                    Collections.singletonList(
                                        new FleetDeploymentOperation()
                                            .fileOp(FleetDeploymentFileOp.MERGE_PATCH)
                                            .filePath("/datadog.yaml")
                                            .patch(
                                                Map.ofEntries(
                                                    Map.entry("apm_config", "{'enabled': True}"),
                                                    Map.entry("log_level", "debug"),
                                                    Map.entry("logs_enabled", "True")))))
                                .filterQuery("env:prod AND service:web"))
                        .type(FleetDeploymentResourceType.DEPLOYMENT));
    
        try {
          FleetDeploymentResponse result = apiInstance.createFleetDeploymentConfigure(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println(
              "Exception when calling FleetAutomationApi#createFleetDeploymentConfigure");
          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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    // Create a configuration deployment returns "CREATED" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
    use datadog_api_client::datadogV2::model::FleetDeploymentConfigureAttributes;
    use datadog_api_client::datadogV2::model::FleetDeploymentConfigureCreate;
    use datadog_api_client::datadogV2::model::FleetDeploymentConfigureCreateRequest;
    use datadog_api_client::datadogV2::model::FleetDeploymentFileOp;
    use datadog_api_client::datadogV2::model::FleetDeploymentOperation;
    use datadog_api_client::datadogV2::model::FleetDeploymentResourceType;
    use serde_json::Value;
    use std::collections::BTreeMap;
    
    #[tokio::main]
    async fn main() {
        let body = FleetDeploymentConfigureCreateRequest::new(FleetDeploymentConfigureCreate::new(
            FleetDeploymentConfigureAttributes::new(vec![FleetDeploymentOperation::new(
                FleetDeploymentFileOp::MERGE_PATCH,
                "/datadog.yaml".to_string(),
            )
            .patch(BTreeMap::from([
                ("log_level".to_string(), Value::from("debug")),
                ("logs_enabled".to_string(), Value::from("True")),
            ]))])
            .filter_query("env:prod AND service:web".to_string()),
            FleetDeploymentResourceType::DEPLOYMENT,
        ));
        let mut configuration = datadog::Configuration::new();
        configuration.set_unstable_operation_enabled("v2.CreateFleetDeploymentConfigure", true);
        let api = FleetAutomationAPI::with_config(configuration);
        let resp = api.create_fleet_deployment_configure(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Create a configuration deployment returns "CREATED" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    configuration.unstableOperations["v2.createFleetDeploymentConfigure"] = true;
    const apiInstance = new v2.FleetAutomationApi(configuration);
    
    const params: v2.FleetAutomationApiCreateFleetDeploymentConfigureRequest = {
      body: {
        data: {
          attributes: {
            configOperations: [
              {
                fileOp: "merge-patch",
                filePath: "/datadog.yaml",
                patch: {
                  apm_config: "{'enabled': True}",
                  log_level: "debug",
                  logs_enabled: "True",
                },
              },
            ],
            filterQuery: "env:prod AND service:web",
          },
          type: "deployment",
        },
      },
    };
    
    apiInstance
      .createFleetDeploymentConfigure(params)
      .then((data: v2.FleetDeploymentResponse) => {
        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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"