---
title: Create a configuration deployment
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > Fleet Automation
---

# Create a configuration deployment{% #create-a-configuration-deployment %}
Copy pageCopied
{% tab title="v2" %}
This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
| Datadog site      | API endpoint                                                                |
| ----------------- | --------------------------------------------------------------------------- |
| ap1.datadoghq.com | POST https://api.ap1.datadoghq.com/api/unstable/fleet/deployments/configure |
| ap2.datadoghq.com | POST https://api.ap2.datadoghq.com/api/unstable/fleet/deployments/configure |
| app.datadoghq.eu  | POST https://api.datadoghq.eu/api/unstable/fleet/deployments/configure      |
| app.ddog-gov.com  | POST https://api.ddog-gov.com/api/unstable/fleet/deployments/configure      |
| us2.ddog-gov.com  | POST https://api.us2.ddog-gov.com/api/unstable/fleet/deployments/configure  |
| app.datadoghq.com | POST https://api.datadoghq.com/api/unstable/fleet/deployments/configure     |
| us3.datadoghq.com | POST https://api.us3.datadoghq.com/api/unstable/fleet/deployments/configure |
| us5.datadoghq.com | POST https://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.

{% tab title="Model" %}

| Parent field      | Field                               | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                        |
| ----------------- | ----------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|                   | data [*required*]              | object   | Data for creating a new configuration deployment.                                                                                                                                                                                                                                                                                                                                                                  |
| data              | attributes [*required*]        | object   | Attributes for creating a new configuration deployment.                                                                                                                                                                                                                                                                                                                                                            |
| attributes        | config_operations [*required*] | [object] | Ordered list of configuration file operations to perform on the target hosts.                                                                                                                                                                                                                                                                                                                                      |
| config_operations | file_op [*required*]           | enum     | Type of file operation to perform on the target configuration file.                                                                                                                                                                                                                                                                                                                                                |
| config_operations | file_path [*required*]         | string   | Absolute path to the target configuration file on the host.                                                                                                                                                                                                                                                                                                                                                        |
| config_operations | 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. |
| attributes        | filter_query                        | string   | Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.                                                                                                                                                                                                                                                                                                                    |
| data              | type [*required*]              | enum     | The type of deployment resource. Allowed enum values: `deployment`                                                                                                                                                                                                                                                                                                                                                 |

{% /tab %}

{% tab title="Example" %}

```json
{
  "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"
  }
}
```

{% /tab %}

### Response

{% tab title="201" %}
CREATED
{% tab title="Model" %}
Response containing a single deployment.

| Parent field      | Field                        | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                        |
| ----------------- | ---------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|                   | data                         | object   | A deployment that defines automated configuration changes for a fleet of hosts.                                                                                                                                                                                                                                                                                                                                    |
| data              | attributes [*required*] | object   | Attributes of a deployment in the response.                                                                                                                                                                                                                                                                                                                                                                        |
| attributes        | config_operations            | [object] | Ordered list of configuration file operations to perform on the target hosts.                                                                                                                                                                                                                                                                                                                                      |
| config_operations | file_op [*required*]    | enum     | Type of file operation to perform on the target configuration file.                                                                                                                                                                                                                                                                                                                                                |
| config_operations | file_path [*required*]  | string   | Absolute path to the target configuration file on the host.                                                                                                                                                                                                                                                                                                                                                        |
| config_operations | 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. |
| attributes        | estimated_end_time_unix      | int64    | Estimated completion time of the deployment as a Unix timestamp (seconds since epoch).                                                                                                                                                                                                                                                                                                                             |
| attributes        | filter_query                 | string   | Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.                                                                                                                                                                                                                                                                                                                    |
| attributes        | high_level_status            | string   | Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").                                                                                                                                                                                                                                                                                                            |
| attributes        | 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.                                                                                                                                       |
| hosts             | error                        | string   | Error message if the deployment failed on this host.                                                                                                                                                                                                                                                                                                                                                               |
| hosts             | hostname                     | string   | The hostname of the agent.                                                                                                                                                                                                                                                                                                                                                                                         |
| hosts             | status                       | string   | Current deployment status for this specific host.                                                                                                                                                                                                                                                                                                                                                                  |
| hosts             | versions                     | [object] | List of packages and their versions currently installed on this host.                                                                                                                                                                                                                                                                                                                                              |
| versions          | current_version              | string   | The current version of the package on the host.                                                                                                                                                                                                                                                                                                                                                                    |
| versions          | initial_version              | string   | The initial version of the package on the host before the deployment started.                                                                                                                                                                                                                                                                                                                                      |
| versions          | package_name                 | string   | The name of the package.                                                                                                                                                                                                                                                                                                                                                                                           |
| versions          | target_version               | string   | The target version that the deployment is attempting to install.                                                                                                                                                                                                                                                                                                                                                   |
| attributes        | packages                     | [object] | List of packages to deploy to target hosts. Present only for package upgrade deployments.                                                                                                                                                                                                                                                                                                                          |
| packages          | name [*required*]       | string   | The name of the package to deploy.                                                                                                                                                                                                                                                                                                                                                                                 |
| packages          | version [*required*]    | string   | The target version of the package to deploy.                                                                                                                                                                                                                                                                                                                                                                       |
| attributes        | total_hosts                  | int64    | Total number of hosts targeted by this deployment.                                                                                                                                                                                                                                                                                                                                                                 |
| data              | id [*required*]         | string   | Unique identifier for the deployment.                                                                                                                                                                                                                                                                                                                                                                              |
| data              | type [*required*]       | enum     | The type of deployment resource. Allowed enum values: `deployment`                                                                                                                                                                                                                                                                                                                                                 |
|                   | meta                         | object   | Metadata for a single deployment response, including pagination information for hosts.                                                                                                                                                                                                                                                                                                                             |
| meta              | hosts                        | object   | Pagination details for the list of hosts in a deployment.                                                                                                                                                                                                                                                                                                                                                          |
| hosts             | current_page                 | int64    | Current page index (zero-based).                                                                                                                                                                                                                                                                                                                                                                                   |
| hosts             | page_size                    | int64    | Number of hosts returned per page.                                                                                                                                                                                                                                                                                                                                                                                 |
| hosts             | total_hosts                  | int64    | Total number of hosts in this deployment.                                                                                                                                                                                                                                                                                                                                                                          |
| hosts             | total_pages                  | int64    | Total number of pages available.                                                                                                                                                                                                                                                                                                                                                                                   |

{% /tab %}

{% tab title="Example" %}

```json
{
  "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
    }
  }
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Bad Request
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

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

{% /tab %}

{% /tab %}

{% tab title="401" %}
Unauthorized
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

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

{% /tab %}

{% /tab %}

{% tab title="403" %}
Forbidden
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

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

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too many requests
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

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

{% /tab %}

{% /tab %}

### Code Example

##### 
                  \## Add log integrations for multiple services
# 
 \# Curl command curl -X POST "https://api.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.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.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.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.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.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 
                
##### 

```python
"""
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](https://docs.datadoghq.com/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
##### 

```ruby
# 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](https://docs.datadoghq.com/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
##### 

```go
// 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](https://docs.datadoghq.com/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
##### 

```java
// 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](https://docs.datadoghq.com/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
##### 

```rust
// 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](https://docs.datadoghq.com/api/latest.md?code-lang=rust) 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 run
##### 

```typescript
/**
 * 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](https://docs.datadoghq.com/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"
{% /tab %}
