Deployment Gates

Manage Deployment Gates using this API to reduce the likelihood and impact of incidents caused by deployments. See the Deployment Gates documentation for more information.

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/deployment_gateshttps://api.ap2.datadoghq.com/api/v2/deployment_gateshttps://api.datadoghq.eu/api/v2/deployment_gateshttps://api.ddog-gov.com/api/v2/deployment_gateshttps://api.datadoghq.com/api/v2/deployment_gateshttps://api.us3.datadoghq.com/api/v2/deployment_gateshttps://api.us5.datadoghq.com/api/v2/deployment_gates

Información general

Endpoint to create a deployment gate. This endpoint requires the deployment_gates_write permission.

Solicitud

Body Data (required)

Expand All

Campo

Tipo

Descripción

data [required]

object

Parameters for creating a deployment gate.

attributes [required]

object

Parameters for creating a deployment gate.

dry_run

boolean

Whether this gate is run in dry-run mode.

env [required]

string

The environment of the deployment gate.

identifier

string

The identifier of the deployment gate.

default: default

service [required]

string

The service of the deployment gate.

type [required]

enum

Deployment gate resource type. Allowed enum values: deployment_gate

{
  "data": {
    "attributes": {
      "dry_run": false,
      "env": "production",
      "identifier": "my-gate-1",
      "service": "my-service"
    },
    "type": "deployment_gate"
  }
}

Respuesta

OK

Response for a deployment gate.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment gate.

attributes [required]

object

Basic information about a deployment gate.

created_at [required]

date-time

The timestamp when the deployment gate was created.

created_by [required]

object

Information about the user who created the deployment gate.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this gate is run in dry-run mode.

env [required]

string

The environment of the deployment gate.

identifier [required]

string

The identifier of the deployment gate.

service [required]

string

The service of the deployment gate.

updated_at

date-time

The timestamp when the deployment gate was last updated.

updated_by

object

Information about the user who updated the deployment gate.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment gate.

type [required]

enum

Deployment gate resource type. Allowed enum values: deployment_gate

{
  "data": {
    "attributes": {
      "created_at": "2021-01-01T00:00:00Z",
      "created_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      },
      "dry_run": false,
      "env": "production",
      "identifier": "pre",
      "service": "my-service",
      "updated_at": "2021-01-01T00:00:00Z",
      "updated_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      }
    },
    "id": "1111-2222-3333-4444-555566667777",
    "type": "deployment_gate"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                          # 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.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates" \ -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": { "dry_run": false, "env": "production", "identifier": "my-gate-1", "service": "my-service" }, "type": "deployment_gate" } } EOF
// Create deployment gate returns "OK" 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.CreateDeploymentGateParams{
		Data: datadogV2.CreateDeploymentGateParamsData{
			Attributes: datadogV2.CreateDeploymentGateParamsDataAttributes{
				DryRun:     datadog.PtrBool(false),
				Env:        "production",
				Identifier: datadog.PtrString("my-gate-1"),
				Service:    "my-service",
			},
			Type: datadogV2.DEPLOYMENTGATEDATATYPE_DEPLOYMENT_GATE,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateDeploymentGate", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	resp, r, err := api.CreateDeploymentGate(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.CreateDeploymentGate`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.CreateDeploymentGate`:\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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Create deployment gate returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.CreateDeploymentGateParams;
import com.datadog.api.client.v2.model.CreateDeploymentGateParamsData;
import com.datadog.api.client.v2.model.CreateDeploymentGateParamsDataAttributes;
import com.datadog.api.client.v2.model.DeploymentGateDataType;
import com.datadog.api.client.v2.model.DeploymentGateResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.createDeploymentGate", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    CreateDeploymentGateParams body =
        new CreateDeploymentGateParams()
            .data(
                new CreateDeploymentGateParamsData()
                    .attributes(
                        new CreateDeploymentGateParamsDataAttributes()
                            .dryRun(false)
                            .env("production")
                            .identifier("my-gate-1")
                            .service("my-service"))
                    .type(DeploymentGateDataType.DEPLOYMENT_GATE));

    try {
      DeploymentGateResponse result = apiInstance.createDeploymentGate(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#createDeploymentGate");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
"""
Create deployment gate returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi
from datadog_api_client.v2.model.create_deployment_gate_params import CreateDeploymentGateParams
from datadog_api_client.v2.model.create_deployment_gate_params_data import CreateDeploymentGateParamsData
from datadog_api_client.v2.model.create_deployment_gate_params_data_attributes import (
    CreateDeploymentGateParamsDataAttributes,
)
from datadog_api_client.v2.model.deployment_gate_data_type import DeploymentGateDataType

body = CreateDeploymentGateParams(
    data=CreateDeploymentGateParamsData(
        attributes=CreateDeploymentGateParamsDataAttributes(
            dry_run=False,
            env="production",
            identifier="my-gate-1",
            service="my-service",
        ),
        type=DeploymentGateDataType.DEPLOYMENT_GATE,
    ),
)

configuration = Configuration()
configuration.unstable_operations["create_deployment_gate"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    response = api_instance.create_deployment_gate(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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Create deployment gate returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.create_deployment_gate".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

body = DatadogAPIClient::V2::CreateDeploymentGateParams.new({
  data: DatadogAPIClient::V2::CreateDeploymentGateParamsData.new({
    attributes: DatadogAPIClient::V2::CreateDeploymentGateParamsDataAttributes.new({
      dry_run: false,
      env: "production",
      identifier: "my-gate-1",
      service: "my-service",
    }),
    type: DatadogAPIClient::V2::DeploymentGateDataType::DEPLOYMENT_GATE,
  }),
})
p api_instance.create_deployment_gate(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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Create deployment gate returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;
use datadog_api_client::datadogV2::model::CreateDeploymentGateParams;
use datadog_api_client::datadogV2::model::CreateDeploymentGateParamsData;
use datadog_api_client::datadogV2::model::CreateDeploymentGateParamsDataAttributes;
use datadog_api_client::datadogV2::model::DeploymentGateDataType;

#[tokio::main]
async fn main() {
    let body = CreateDeploymentGateParams::new(CreateDeploymentGateParamsData::new(
        CreateDeploymentGateParamsDataAttributes::new(
            "production".to_string(),
            "my-service".to_string(),
        )
        .dry_run(false)
        .identifier("my-gate-1".to_string()),
        DeploymentGateDataType::DEPLOYMENT_GATE,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateDeploymentGate", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api.create_deployment_gate(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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Create deployment gate returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createDeploymentGate"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

const params: v2.DeploymentGatesApiCreateDeploymentGateRequest = {
  body: {
    data: {
      attributes: {
        dryRun: false,
        env: "production",
        identifier: "my-gate-1",
        service: "my-service",
      },
      type: "deployment_gate",
    },
  },
};

apiInstance
  .createDeploymentGate(params)
  .then((data: v2.DeploymentGateResponse) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/deployment_gates/{id}https://api.ap2.datadoghq.com/api/v2/deployment_gates/{id}https://api.datadoghq.eu/api/v2/deployment_gates/{id}https://api.ddog-gov.com/api/v2/deployment_gates/{id}https://api.datadoghq.com/api/v2/deployment_gates/{id}https://api.us3.datadoghq.com/api/v2/deployment_gates/{id}https://api.us5.datadoghq.com/api/v2/deployment_gates/{id}

Información general

Endpoint to get a deployment gate. This endpoint requires the deployment_gates_read permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

id [required]

string

The ID of the deployment gate.

Respuesta

OK

Response for a deployment gate.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment gate.

attributes [required]

object

Basic information about a deployment gate.

created_at [required]

date-time

The timestamp when the deployment gate was created.

created_by [required]

object

Information about the user who created the deployment gate.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this gate is run in dry-run mode.

env [required]

string

The environment of the deployment gate.

identifier [required]

string

The identifier of the deployment gate.

service [required]

string

The service of the deployment gate.

updated_at

date-time

The timestamp when the deployment gate was last updated.

updated_by

object

Information about the user who updated the deployment gate.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment gate.

type [required]

enum

Deployment gate resource type. Allowed enum values: deployment_gate

{
  "data": {
    "attributes": {
      "created_at": "2021-01-01T00:00:00Z",
      "created_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      },
      "dry_run": false,
      "env": "production",
      "identifier": "pre",
      "service": "my-service",
      "updated_at": "2021-01-01T00:00:00Z",
      "updated_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      }
    },
    "id": "1111-2222-3333-4444-555566667777",
    "type": "deployment_gate"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment gate not found.

Deployment gate not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                  # Path parameters
export id="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get deployment gate returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

configuration = Configuration()
configuration.unstable_operations["get_deployment_gate"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    response = api_instance.get_deployment_gate(
        id=DEPLOYMENT_GATE_DATA_ID,
    )

    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get deployment gate returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.get_deployment_gate".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]
p api_instance.get_deployment_gate(DEPLOYMENT_GATE_DATA_ID)

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get deployment gate returns "OK" 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() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetDeploymentGate", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	resp, r, err := api.GetDeploymentGate(ctx, DeploymentGateDataID)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.GetDeploymentGate`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.GetDeploymentGate`:\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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get deployment gate returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.DeploymentGateResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.getDeploymentGate", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    try {
      DeploymentGateResponse result = apiInstance.getDeploymentGate(DEPLOYMENT_GATE_DATA_ID);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#getDeploymentGate");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get deployment gate returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.GetDeploymentGate", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .get_deployment_gate(deployment_gate_data_id.clone())
        .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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get deployment gate returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.getDeploymentGate"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

const params: v2.DeploymentGatesApiGetDeploymentGateRequest = {
  id: DEPLOYMENT_GATE_DATA_ID,
};

apiInstance
  .getDeploymentGate(params)
  .then((data: v2.DeploymentGateResponse) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

PUT https://api.ap1.datadoghq.com/api/v2/deployment_gates/{id}https://api.ap2.datadoghq.com/api/v2/deployment_gates/{id}https://api.datadoghq.eu/api/v2/deployment_gates/{id}https://api.ddog-gov.com/api/v2/deployment_gates/{id}https://api.datadoghq.com/api/v2/deployment_gates/{id}https://api.us3.datadoghq.com/api/v2/deployment_gates/{id}https://api.us5.datadoghq.com/api/v2/deployment_gates/{id}

Información general

Endpoint to update a deployment gate. This endpoint requires the deployment_gates_write permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

id [required]

string

The ID of the deployment gate.

Solicitud

Body Data (required)

Expand All

Campo

Tipo

Descripción

data [required]

object

Parameters for updating a deployment gate.

attributes [required]

object

Attributes for updating a deployment gate.

dry_run [required]

boolean

Whether to run in dry-run mode.

id [required]

string

Unique identifier of the deployment gate.

type [required]

enum

Deployment gate resource type. Allowed enum values: deployment_gate

{
  "data": {
    "attributes": {
      "dry_run": false
    },
    "id": "12345678-1234-1234-1234-123456789012",
    "type": "deployment_gate"
  }
}

Respuesta

OK

Response for a deployment gate.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment gate.

attributes [required]

object

Basic information about a deployment gate.

created_at [required]

date-time

The timestamp when the deployment gate was created.

created_by [required]

object

Information about the user who created the deployment gate.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this gate is run in dry-run mode.

env [required]

string

The environment of the deployment gate.

identifier [required]

string

The identifier of the deployment gate.

service [required]

string

The service of the deployment gate.

updated_at

date-time

The timestamp when the deployment gate was last updated.

updated_by

object

Information about the user who updated the deployment gate.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment gate.

type [required]

enum

Deployment gate resource type. Allowed enum values: deployment_gate

{
  "data": {
    "attributes": {
      "created_at": "2021-01-01T00:00:00Z",
      "created_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      },
      "dry_run": false,
      "env": "production",
      "identifier": "pre",
      "service": "my-service",
      "updated_at": "2021-01-01T00:00:00Z",
      "updated_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      }
    },
    "id": "1111-2222-3333-4444-555566667777",
    "type": "deployment_gate"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment gate not found.

Deployment gate not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                          # Path parameters
export id="CHANGE_ME"
# Curl command
curl -X PUT "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${id}" \ -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": { "dry_run": false }, "id": "12345678-1234-1234-1234-123456789012", "type": "deployment_gate" } } EOF
// Update deployment gate returns "OK" 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() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	body := datadogV2.UpdateDeploymentGateParams{
		Data: datadogV2.UpdateDeploymentGateParamsData{
			Attributes: datadogV2.UpdateDeploymentGateParamsDataAttributes{
				DryRun: false,
			},
			Id:   "12345678-1234-1234-1234-123456789012",
			Type: datadogV2.DEPLOYMENTGATEDATATYPE_DEPLOYMENT_GATE,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.UpdateDeploymentGate", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	resp, r, err := api.UpdateDeploymentGate(ctx, DeploymentGateDataID, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.UpdateDeploymentGate`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.UpdateDeploymentGate`:\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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Update deployment gate returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.DeploymentGateDataType;
import com.datadog.api.client.v2.model.DeploymentGateResponse;
import com.datadog.api.client.v2.model.UpdateDeploymentGateParams;
import com.datadog.api.client.v2.model.UpdateDeploymentGateParamsData;
import com.datadog.api.client.v2.model.UpdateDeploymentGateParamsDataAttributes;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.updateDeploymentGate", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    UpdateDeploymentGateParams body =
        new UpdateDeploymentGateParams()
            .data(
                new UpdateDeploymentGateParamsData()
                    .attributes(new UpdateDeploymentGateParamsDataAttributes().dryRun(false))
                    .id("12345678-1234-1234-1234-123456789012")
                    .type(DeploymentGateDataType.DEPLOYMENT_GATE));

    try {
      DeploymentGateResponse result =
          apiInstance.updateDeploymentGate(DEPLOYMENT_GATE_DATA_ID, body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#updateDeploymentGate");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
"""
Update deployment gate returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi
from datadog_api_client.v2.model.deployment_gate_data_type import DeploymentGateDataType
from datadog_api_client.v2.model.update_deployment_gate_params import UpdateDeploymentGateParams
from datadog_api_client.v2.model.update_deployment_gate_params_data import UpdateDeploymentGateParamsData
from datadog_api_client.v2.model.update_deployment_gate_params_data_attributes import (
    UpdateDeploymentGateParamsDataAttributes,
)

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

body = UpdateDeploymentGateParams(
    data=UpdateDeploymentGateParamsData(
        attributes=UpdateDeploymentGateParamsDataAttributes(
            dry_run=False,
        ),
        id="12345678-1234-1234-1234-123456789012",
        type=DeploymentGateDataType.DEPLOYMENT_GATE,
    ),
)

configuration = Configuration()
configuration.unstable_operations["update_deployment_gate"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    response = api_instance.update_deployment_gate(id=DEPLOYMENT_GATE_DATA_ID, 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Update deployment gate returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.update_deployment_gate".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]

body = DatadogAPIClient::V2::UpdateDeploymentGateParams.new({
  data: DatadogAPIClient::V2::UpdateDeploymentGateParamsData.new({
    attributes: DatadogAPIClient::V2::UpdateDeploymentGateParamsDataAttributes.new({
      dry_run: false,
    }),
    id: "12345678-1234-1234-1234-123456789012",
    type: DatadogAPIClient::V2::DeploymentGateDataType::DEPLOYMENT_GATE,
  }),
})
p api_instance.update_deployment_gate(DEPLOYMENT_GATE_DATA_ID, 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Update deployment gate returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;
use datadog_api_client::datadogV2::model::DeploymentGateDataType;
use datadog_api_client::datadogV2::model::UpdateDeploymentGateParams;
use datadog_api_client::datadogV2::model::UpdateDeploymentGateParamsData;
use datadog_api_client::datadogV2::model::UpdateDeploymentGateParamsDataAttributes;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();
    let body = UpdateDeploymentGateParams::new(UpdateDeploymentGateParamsData::new(
        UpdateDeploymentGateParamsDataAttributes::new(false),
        "12345678-1234-1234-1234-123456789012".to_string(),
        DeploymentGateDataType::DEPLOYMENT_GATE,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.UpdateDeploymentGate", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .update_deployment_gate(deployment_gate_data_id.clone(), 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Update deployment gate returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.updateDeploymentGate"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

const params: v2.DeploymentGatesApiUpdateDeploymentGateRequest = {
  body: {
    data: {
      attributes: {
        dryRun: false,
      },
      id: "12345678-1234-1234-1234-123456789012",
      type: "deployment_gate",
    },
  },
  id: DEPLOYMENT_GATE_DATA_ID,
};

apiInstance
  .updateDeploymentGate(params)
  .then((data: v2.DeploymentGateResponse) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

DELETE https://api.ap1.datadoghq.com/api/v2/deployment_gates/{id}https://api.ap2.datadoghq.com/api/v2/deployment_gates/{id}https://api.datadoghq.eu/api/v2/deployment_gates/{id}https://api.ddog-gov.com/api/v2/deployment_gates/{id}https://api.datadoghq.com/api/v2/deployment_gates/{id}https://api.us3.datadoghq.com/api/v2/deployment_gates/{id}https://api.us5.datadoghq.com/api/v2/deployment_gates/{id}

Información general

Endpoint to delete a deployment gate. Rules associated with the gate are also deleted. This endpoint requires the deployment_gates_write permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

id [required]

string

The ID of the deployment gate.

Respuesta

No Content

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment gate not found.

Deployment gate not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                  # Path parameters
export id="CHANGE_ME"
# Curl command
curl -X DELETE "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${id}" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Delete deployment gate returns "No Content" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

configuration = Configuration()
configuration.unstable_operations["delete_deployment_gate"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    api_instance.delete_deployment_gate(
        id=DEPLOYMENT_GATE_DATA_ID,
    )

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Delete deployment gate returns "No Content" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.delete_deployment_gate".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]
api_instance.delete_deployment_gate(DEPLOYMENT_GATE_DATA_ID)

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Delete deployment gate returns "No Content" response

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.DeleteDeploymentGate", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	r, err := api.DeleteDeploymentGate(ctx, DeploymentGateDataID)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.DeleteDeploymentGate`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
}

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Delete deployment gate returns "No Content" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.deleteDeploymentGate", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    try {
      apiInstance.deleteDeploymentGate(DEPLOYMENT_GATE_DATA_ID);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#deleteDeploymentGate");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Delete deployment gate returns "No Content" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.DeleteDeploymentGate", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .delete_deployment_gate(deployment_gate_data_id.clone())
        .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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Delete deployment gate returns "No Content" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.deleteDeploymentGate"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

const params: v2.DeploymentGatesApiDeleteDeploymentGateRequest = {
  id: DEPLOYMENT_GATE_DATA_ID,
};

apiInstance
  .deleteDeploymentGate(params)
  .then((data: any) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.ap2.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.datadoghq.eu/api/v2/deployment_gates/{gate_id}/ruleshttps://api.ddog-gov.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.us3.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.us5.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules

Información general

Endpoint to create a deployment rule. A gate for the rule must already exist. This endpoint requires the deployment_gates_write permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

gate_id [required]

string

The ID of the deployment gate.

Solicitud

Body Data (required)

Expand All

Campo

Tipo

Descripción

data

object

Parameters for creating a deployment rule.

attributes [required]

object

Parameters for creating a deployment rule.

dry_run

boolean

Whether this rule is run in dry-run mode.

name [required]

string

The name of the deployment rule.

options [required]

 <oneOf>

Options for deployment rule response representing either faulty deployment detection or monitor options.

Option 1

object

Faulty deployment detection options for deployment rules.

duration

int64

The duration for faulty deployment detection.

excluded_resources

[string]

Resources to exclude from faulty deployment detection.

Option 2

object

Monitor options for deployment rules.

duration

int64

Seconds the monitor needs to stay in OK status for the rule to pass.

query [required]

string

Monitors that match this query are evaluated.

type [required]

string

The type of the deployment rule (faulty_deployment_detection or monitor).

type [required]

enum

Deployment rule resource type. Allowed enum values: deployment_rule

{
  "data": {
    "attributes": {
      "dry_run": false,
      "name": "My deployment rule",
      "options": {
        "excluded_resources": []
      },
      "type": "faulty_deployment_detection"
    },
    "type": "deployment_rule"
  }
}

Respuesta

OK

Response for a deployment rule.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment rule.

attributes [required]

object

Basic information about a deployment rule.

created_at [required]

date-time

The timestamp when the deployment rule was created.

created_by [required]

object

Information about the user who created the deployment rule.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this rule is run in dry-run mode.

gate_id [required]

string

The ID of the deployment gate.

name [required]

string

The name of the deployment rule.

options [required]

 <oneOf>

Options for deployment rule response representing either faulty deployment detection or monitor options.

Option 1

object

Faulty deployment detection options for deployment rules.

duration

int64

The duration for faulty deployment detection.

excluded_resources

[string]

Resources to exclude from faulty deployment detection.

Option 2

object

Monitor options for deployment rules.

duration

int64

Seconds the monitor needs to stay in OK status for the rule to pass.

query [required]

string

Monitors that match this query are evaluated.

type [required]

enum

The type of the deployment rule. Allowed enum values: faulty_deployment_detection,monitor

updated_at

date-time

The timestamp when the deployment rule was last updated.

updated_by

object

Information about the user who updated the deployment rule.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment rule.

type [required]

enum

Deployment rule resource type. Allowed enum values: deployment_rule

{
  "data": {
    "attributes": {
      "created_at": "2021-01-01T00:00:00Z",
      "created_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      },
      "dry_run": false,
      "gate_id": "1111-2222-3333-4444-555566667777",
      "name": "My deployment rule",
      "options": {
        "duration": 3600,
        "excluded_resources": [
          "resource1",
          "resource2"
        ]
      },
      "type": "faulty_deployment_detection",
      "updated_at": "2019-09-19T10:00:00.000Z",
      "updated_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      }
    },
    "id": "1111-2222-3333-4444-555566667777",
    "type": "deployment_rule"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                          # Path parameters
export gate_id="CHANGE_ME"
# 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.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${gate_id}/rules" \ -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": { "dry_run": false, "name": "My deployment rule", "options": { "excluded_resources": [] }, "type": "faulty_deployment_detection" }, "type": "deployment_rule" } } EOF
// Create deployment rule returns "OK" 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() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	body := datadogV2.CreateDeploymentRuleParams{
		Data: &datadogV2.CreateDeploymentRuleParamsData{
			Attributes: datadogV2.CreateDeploymentRuleParamsDataAttributes{
				DryRun: datadog.PtrBool(false),
				Name:   "My deployment rule",
				Options: datadogV2.DeploymentRulesOptions{
					DeploymentRuleOptionsFaultyDeploymentDetection: &datadogV2.DeploymentRuleOptionsFaultyDeploymentDetection{
						ExcludedResources: []string{},
					}},
				Type: "faulty_deployment_detection",
			},
			Type: datadogV2.DEPLOYMENTRULEDATATYPE_DEPLOYMENT_RULE,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateDeploymentRule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	resp, r, err := api.CreateDeploymentRule(ctx, DeploymentGateDataID, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.CreateDeploymentRule`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.CreateDeploymentRule`:\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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Create deployment rule returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.CreateDeploymentRuleParams;
import com.datadog.api.client.v2.model.CreateDeploymentRuleParamsData;
import com.datadog.api.client.v2.model.CreateDeploymentRuleParamsDataAttributes;
import com.datadog.api.client.v2.model.DeploymentRuleDataType;
import com.datadog.api.client.v2.model.DeploymentRuleOptionsFaultyDeploymentDetection;
import com.datadog.api.client.v2.model.DeploymentRuleResponse;
import com.datadog.api.client.v2.model.DeploymentRulesOptions;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.createDeploymentRule", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    CreateDeploymentRuleParams body =
        new CreateDeploymentRuleParams()
            .data(
                new CreateDeploymentRuleParamsData()
                    .attributes(
                        new CreateDeploymentRuleParamsDataAttributes()
                            .dryRun(false)
                            .name("My deployment rule")
                            .options(
                                new DeploymentRulesOptions(
                                    new DeploymentRuleOptionsFaultyDeploymentDetection()))
                            .type("faulty_deployment_detection"))
                    .type(DeploymentRuleDataType.DEPLOYMENT_RULE));

    try {
      DeploymentRuleResponse result =
          apiInstance.createDeploymentRule(DEPLOYMENT_GATE_DATA_ID, body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#createDeploymentRule");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
"""
Create deployment rule returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi
from datadog_api_client.v2.model.create_deployment_rule_params import CreateDeploymentRuleParams
from datadog_api_client.v2.model.create_deployment_rule_params_data import CreateDeploymentRuleParamsData
from datadog_api_client.v2.model.create_deployment_rule_params_data_attributes import (
    CreateDeploymentRuleParamsDataAttributes,
)
from datadog_api_client.v2.model.deployment_rule_data_type import DeploymentRuleDataType
from datadog_api_client.v2.model.deployment_rule_options_faulty_deployment_detection import (
    DeploymentRuleOptionsFaultyDeploymentDetection,
)

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

body = CreateDeploymentRuleParams(
    data=CreateDeploymentRuleParamsData(
        attributes=CreateDeploymentRuleParamsDataAttributes(
            dry_run=False,
            name="My deployment rule",
            options=DeploymentRuleOptionsFaultyDeploymentDetection(
                excluded_resources=[],
            ),
            type="faulty_deployment_detection",
        ),
        type=DeploymentRuleDataType.DEPLOYMENT_RULE,
    ),
)

configuration = Configuration()
configuration.unstable_operations["create_deployment_rule"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    response = api_instance.create_deployment_rule(gate_id=DEPLOYMENT_GATE_DATA_ID, 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Create deployment rule returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.create_deployment_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]

body = DatadogAPIClient::V2::CreateDeploymentRuleParams.new({
  data: DatadogAPIClient::V2::CreateDeploymentRuleParamsData.new({
    attributes: DatadogAPIClient::V2::CreateDeploymentRuleParamsDataAttributes.new({
      dry_run: false,
      name: "My deployment rule",
      options: DatadogAPIClient::V2::DeploymentRuleOptionsFaultyDeploymentDetection.new({
        excluded_resources: [],
      }),
      type: "faulty_deployment_detection",
    }),
    type: DatadogAPIClient::V2::DeploymentRuleDataType::DEPLOYMENT_RULE,
  }),
})
p api_instance.create_deployment_rule(DEPLOYMENT_GATE_DATA_ID, 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Create deployment rule returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;
use datadog_api_client::datadogV2::model::CreateDeploymentRuleParams;
use datadog_api_client::datadogV2::model::CreateDeploymentRuleParamsData;
use datadog_api_client::datadogV2::model::CreateDeploymentRuleParamsDataAttributes;
use datadog_api_client::datadogV2::model::DeploymentRuleDataType;
use datadog_api_client::datadogV2::model::DeploymentRuleOptionsFaultyDeploymentDetection;
use datadog_api_client::datadogV2::model::DeploymentRulesOptions;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();
    let body = CreateDeploymentRuleParams::new().data(CreateDeploymentRuleParamsData::new(
        CreateDeploymentRuleParamsDataAttributes::new(
            "My deployment rule".to_string(),
            DeploymentRulesOptions::DeploymentRuleOptionsFaultyDeploymentDetection(Box::new(
                DeploymentRuleOptionsFaultyDeploymentDetection::new().excluded_resources(vec![]),
            )),
            "faulty_deployment_detection".to_string(),
        )
        .dry_run(false),
        DeploymentRuleDataType::DEPLOYMENT_RULE,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateDeploymentRule", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .create_deployment_rule(deployment_gate_data_id.clone(), 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Create deployment rule returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createDeploymentRule"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

const params: v2.DeploymentGatesApiCreateDeploymentRuleRequest = {
  body: {
    data: {
      attributes: {
        dryRun: false,
        name: "My deployment rule",
        options: {
          excludedResources: [],
        },
        type: "faulty_deployment_detection",
      },
      type: "deployment_rule",
    },
  },
  gateId: DEPLOYMENT_GATE_DATA_ID,
};

apiInstance
  .createDeploymentRule(params)
  .then((data: v2.DeploymentRuleResponse) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.ap2.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.datadoghq.eu/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.ddog-gov.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.us3.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.us5.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}

Información general

Endpoint to get a deployment rule. This endpoint requires the deployment_gates_read permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

gate_id [required]

string

The ID of the deployment gate.

id [required]

string

The ID of the deployment rule.

Respuesta

OK

Response for a deployment rule.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment rule.

attributes [required]

object

Basic information about a deployment rule.

created_at [required]

date-time

The timestamp when the deployment rule was created.

created_by [required]

object

Information about the user who created the deployment rule.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this rule is run in dry-run mode.

gate_id [required]

string

The ID of the deployment gate.

name [required]

string

The name of the deployment rule.

options [required]

 <oneOf>

Options for deployment rule response representing either faulty deployment detection or monitor options.

Option 1

object

Faulty deployment detection options for deployment rules.

duration

int64

The duration for faulty deployment detection.

excluded_resources

[string]

Resources to exclude from faulty deployment detection.

Option 2

object

Monitor options for deployment rules.

duration

int64

Seconds the monitor needs to stay in OK status for the rule to pass.

query [required]

string

Monitors that match this query are evaluated.

type [required]

enum

The type of the deployment rule. Allowed enum values: faulty_deployment_detection,monitor

updated_at

date-time

The timestamp when the deployment rule was last updated.

updated_by

object

Information about the user who updated the deployment rule.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment rule.

type [required]

enum

Deployment rule resource type. Allowed enum values: deployment_rule

{
  "data": {
    "attributes": {
      "created_at": "2021-01-01T00:00:00Z",
      "created_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      },
      "dry_run": false,
      "gate_id": "1111-2222-3333-4444-555566667777",
      "name": "My deployment rule",
      "options": {
        "duration": 3600,
        "excluded_resources": [
          "resource1",
          "resource2"
        ]
      },
      "type": "faulty_deployment_detection",
      "updated_at": "2019-09-19T10:00:00.000Z",
      "updated_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      }
    },
    "id": "1111-2222-3333-4444-555566667777",
    "type": "deployment_rule"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment rule not found.

Deployment rule not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                  # Path parameters
export gate_id="CHANGE_ME"
export id="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${gate_id}/rules/${id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get deployment rule returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

# there is a valid "deployment_rule" in the system
DEPLOYMENT_RULE_DATA_ID = environ["DEPLOYMENT_RULE_DATA_ID"]

configuration = Configuration()
configuration.unstable_operations["get_deployment_rule"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    response = api_instance.get_deployment_rule(
        gate_id=DEPLOYMENT_GATE_DATA_ID,
        id=DEPLOYMENT_RULE_DATA_ID,
    )

    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get deployment rule returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.get_deployment_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]

# there is a valid "deployment_rule" in the system
DEPLOYMENT_RULE_DATA_ID = ENV["DEPLOYMENT_RULE_DATA_ID"]
p api_instance.get_deployment_rule(DEPLOYMENT_GATE_DATA_ID, DEPLOYMENT_RULE_DATA_ID)

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get deployment rule returns "OK" 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() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	// there is a valid "deployment_rule" in the system
	DeploymentRuleDataID := os.Getenv("DEPLOYMENT_RULE_DATA_ID")

	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetDeploymentRule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	resp, r, err := api.GetDeploymentRule(ctx, DeploymentGateDataID, DeploymentRuleDataID)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.GetDeploymentRule`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.GetDeploymentRule`:\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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get deployment rule returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.DeploymentRuleResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.getDeploymentRule", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    // there is a valid "deployment_rule" in the system
    String DEPLOYMENT_RULE_DATA_ID = System.getenv("DEPLOYMENT_RULE_DATA_ID");

    try {
      DeploymentRuleResponse result =
          apiInstance.getDeploymentRule(DEPLOYMENT_GATE_DATA_ID, DEPLOYMENT_RULE_DATA_ID);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#getDeploymentRule");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get deployment rule returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();

    // there is a valid "deployment_rule" in the system
    let deployment_rule_data_id = std::env::var("DEPLOYMENT_RULE_DATA_ID").unwrap();
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.GetDeploymentRule", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .get_deployment_rule(
            deployment_gate_data_id.clone(),
            deployment_rule_data_id.clone(),
        )
        .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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get deployment rule returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.getDeploymentRule"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

// there is a valid "deployment_rule" in the system
const DEPLOYMENT_RULE_DATA_ID = process.env.DEPLOYMENT_RULE_DATA_ID as string;

const params: v2.DeploymentGatesApiGetDeploymentRuleRequest = {
  gateId: DEPLOYMENT_GATE_DATA_ID,
  id: DEPLOYMENT_RULE_DATA_ID,
};

apiInstance
  .getDeploymentRule(params)
  .then((data: v2.DeploymentRuleResponse) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

PUT https://api.ap1.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.ap2.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.datadoghq.eu/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.ddog-gov.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.us3.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.us5.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}

Información general

Endpoint to update a deployment rule. This endpoint requires the deployment_gates_write permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

gate_id [required]

string

The ID of the deployment gate.

id [required]

string

The ID of the deployment rule.

Solicitud

Body Data (required)

Expand All

Campo

Tipo

Descripción

data [required]

object

Parameters for updating a deployment rule.

attributes [required]

object

Parameters for updating a deployment rule.

dry_run [required]

boolean

Whether to run this rule in dry-run mode.

name [required]

string

The name of the deployment rule.

options [required]

 <oneOf>

Options for deployment rule response representing either faulty deployment detection or monitor options.

Option 1

object

Faulty deployment detection options for deployment rules.

duration

int64

The duration for faulty deployment detection.

excluded_resources

[string]

Resources to exclude from faulty deployment detection.

Option 2

object

Monitor options for deployment rules.

duration

int64

Seconds the monitor needs to stay in OK status for the rule to pass.

query [required]

string

Monitors that match this query are evaluated.

type [required]

enum

Deployment rule resource type. Allowed enum values: deployment_rule

{
  "data": {
    "attributes": {
      "dry_run": false,
      "name": "Updated deployment rule",
      "options": {
        "excluded_resources": []
      }
    },
    "type": "deployment_rule"
  }
}

Respuesta

OK

Response for a deployment rule.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment rule.

attributes [required]

object

Basic information about a deployment rule.

created_at [required]

date-time

The timestamp when the deployment rule was created.

created_by [required]

object

Information about the user who created the deployment rule.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this rule is run in dry-run mode.

gate_id [required]

string

The ID of the deployment gate.

name [required]

string

The name of the deployment rule.

options [required]

 <oneOf>

Options for deployment rule response representing either faulty deployment detection or monitor options.

Option 1

object

Faulty deployment detection options for deployment rules.

duration

int64

The duration for faulty deployment detection.

excluded_resources

[string]

Resources to exclude from faulty deployment detection.

Option 2

object

Monitor options for deployment rules.

duration

int64

Seconds the monitor needs to stay in OK status for the rule to pass.

query [required]

string

Monitors that match this query are evaluated.

type [required]

enum

The type of the deployment rule. Allowed enum values: faulty_deployment_detection,monitor

updated_at

date-time

The timestamp when the deployment rule was last updated.

updated_by

object

Information about the user who updated the deployment rule.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment rule.

type [required]

enum

Deployment rule resource type. Allowed enum values: deployment_rule

{
  "data": {
    "attributes": {
      "created_at": "2021-01-01T00:00:00Z",
      "created_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      },
      "dry_run": false,
      "gate_id": "1111-2222-3333-4444-555566667777",
      "name": "My deployment rule",
      "options": {
        "duration": 3600,
        "excluded_resources": [
          "resource1",
          "resource2"
        ]
      },
      "type": "faulty_deployment_detection",
      "updated_at": "2019-09-19T10:00:00.000Z",
      "updated_by": {
        "handle": "test-user",
        "id": "1111-2222-3333-4444-555566667777",
        "name": "Test User"
      }
    },
    "id": "1111-2222-3333-4444-555566667777",
    "type": "deployment_rule"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment rule not found.

Deployment rule not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                          # Path parameters
export gate_id="CHANGE_ME"
export id="CHANGE_ME"
# Curl command
curl -X PUT "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${gate_id}/rules/${id}" \ -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": { "dry_run": false, "name": "Updated deployment rule", "options": { "excluded_resources": [] } }, "type": "deployment_rule" } } EOF
// Update deployment rule returns "OK" 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() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	// there is a valid "deployment_rule" in the system
	DeploymentRuleDataID := os.Getenv("DEPLOYMENT_RULE_DATA_ID")

	body := datadogV2.UpdateDeploymentRuleParams{
		Data: datadogV2.UpdateDeploymentRuleParamsData{
			Attributes: datadogV2.UpdateDeploymentRuleParamsDataAttributes{
				DryRun: false,
				Name:   "Updated deployment rule",
				Options: datadogV2.DeploymentRulesOptions{
					DeploymentRuleOptionsFaultyDeploymentDetection: &datadogV2.DeploymentRuleOptionsFaultyDeploymentDetection{
						ExcludedResources: []string{},
					}},
			},
			Type: datadogV2.DEPLOYMENTRULEDATATYPE_DEPLOYMENT_RULE,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.UpdateDeploymentRule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	resp, r, err := api.UpdateDeploymentRule(ctx, DeploymentGateDataID, DeploymentRuleDataID, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.UpdateDeploymentRule`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.UpdateDeploymentRule`:\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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Update deployment rule returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.DeploymentRuleDataType;
import com.datadog.api.client.v2.model.DeploymentRuleOptionsFaultyDeploymentDetection;
import com.datadog.api.client.v2.model.DeploymentRuleResponse;
import com.datadog.api.client.v2.model.DeploymentRulesOptions;
import com.datadog.api.client.v2.model.UpdateDeploymentRuleParams;
import com.datadog.api.client.v2.model.UpdateDeploymentRuleParamsData;
import com.datadog.api.client.v2.model.UpdateDeploymentRuleParamsDataAttributes;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.updateDeploymentRule", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    // there is a valid "deployment_rule" in the system
    String DEPLOYMENT_RULE_DATA_ID = System.getenv("DEPLOYMENT_RULE_DATA_ID");

    UpdateDeploymentRuleParams body =
        new UpdateDeploymentRuleParams()
            .data(
                new UpdateDeploymentRuleParamsData()
                    .attributes(
                        new UpdateDeploymentRuleParamsDataAttributes()
                            .dryRun(false)
                            .name("Updated deployment rule")
                            .options(
                                new DeploymentRulesOptions(
                                    new DeploymentRuleOptionsFaultyDeploymentDetection())))
                    .type(DeploymentRuleDataType.DEPLOYMENT_RULE));

    try {
      DeploymentRuleResponse result =
          apiInstance.updateDeploymentRule(DEPLOYMENT_GATE_DATA_ID, DEPLOYMENT_RULE_DATA_ID, body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#updateDeploymentRule");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
"""
Update deployment rule returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi
from datadog_api_client.v2.model.deployment_rule_data_type import DeploymentRuleDataType
from datadog_api_client.v2.model.deployment_rule_options_faulty_deployment_detection import (
    DeploymentRuleOptionsFaultyDeploymentDetection,
)
from datadog_api_client.v2.model.update_deployment_rule_params import UpdateDeploymentRuleParams
from datadog_api_client.v2.model.update_deployment_rule_params_data import UpdateDeploymentRuleParamsData
from datadog_api_client.v2.model.update_deployment_rule_params_data_attributes import (
    UpdateDeploymentRuleParamsDataAttributes,
)

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

# there is a valid "deployment_rule" in the system
DEPLOYMENT_RULE_DATA_ID = environ["DEPLOYMENT_RULE_DATA_ID"]

body = UpdateDeploymentRuleParams(
    data=UpdateDeploymentRuleParamsData(
        attributes=UpdateDeploymentRuleParamsDataAttributes(
            dry_run=False,
            name="Updated deployment rule",
            options=DeploymentRuleOptionsFaultyDeploymentDetection(
                excluded_resources=[],
            ),
        ),
        type=DeploymentRuleDataType.DEPLOYMENT_RULE,
    ),
)

configuration = Configuration()
configuration.unstable_operations["update_deployment_rule"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    response = api_instance.update_deployment_rule(
        gate_id=DEPLOYMENT_GATE_DATA_ID, id=DEPLOYMENT_RULE_DATA_ID, 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Update deployment rule returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.update_deployment_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]

# there is a valid "deployment_rule" in the system
DEPLOYMENT_RULE_DATA_ID = ENV["DEPLOYMENT_RULE_DATA_ID"]

body = DatadogAPIClient::V2::UpdateDeploymentRuleParams.new({
  data: DatadogAPIClient::V2::UpdateDeploymentRuleParamsData.new({
    attributes: DatadogAPIClient::V2::UpdateDeploymentRuleParamsDataAttributes.new({
      dry_run: false,
      name: "Updated deployment rule",
      options: DatadogAPIClient::V2::DeploymentRuleOptionsFaultyDeploymentDetection.new({
        excluded_resources: [],
      }),
    }),
    type: DatadogAPIClient::V2::DeploymentRuleDataType::DEPLOYMENT_RULE,
  }),
})
p api_instance.update_deployment_rule(DEPLOYMENT_GATE_DATA_ID, DEPLOYMENT_RULE_DATA_ID, 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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Update deployment rule returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;
use datadog_api_client::datadogV2::model::DeploymentRuleDataType;
use datadog_api_client::datadogV2::model::DeploymentRuleOptionsFaultyDeploymentDetection;
use datadog_api_client::datadogV2::model::DeploymentRulesOptions;
use datadog_api_client::datadogV2::model::UpdateDeploymentRuleParams;
use datadog_api_client::datadogV2::model::UpdateDeploymentRuleParamsData;
use datadog_api_client::datadogV2::model::UpdateDeploymentRuleParamsDataAttributes;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();

    // there is a valid "deployment_rule" in the system
    let deployment_rule_data_id = std::env::var("DEPLOYMENT_RULE_DATA_ID").unwrap();
    let body = UpdateDeploymentRuleParams::new(UpdateDeploymentRuleParamsData::new(
        UpdateDeploymentRuleParamsDataAttributes::new(
            false,
            "Updated deployment rule".to_string(),
            DeploymentRulesOptions::DeploymentRuleOptionsFaultyDeploymentDetection(Box::new(
                DeploymentRuleOptionsFaultyDeploymentDetection::new().excluded_resources(vec![]),
            )),
        ),
        DeploymentRuleDataType::DEPLOYMENT_RULE,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.UpdateDeploymentRule", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .update_deployment_rule(
            deployment_gate_data_id.clone(),
            deployment_rule_data_id.clone(),
            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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Update deployment rule returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.updateDeploymentRule"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

// there is a valid "deployment_rule" in the system
const DEPLOYMENT_RULE_DATA_ID = process.env.DEPLOYMENT_RULE_DATA_ID as string;

const params: v2.DeploymentGatesApiUpdateDeploymentRuleRequest = {
  body: {
    data: {
      attributes: {
        dryRun: false,
        name: "Updated deployment rule",
        options: {
          excludedResources: [],
        },
      },
      type: "deployment_rule",
    },
  },
  gateId: DEPLOYMENT_GATE_DATA_ID,
  id: DEPLOYMENT_RULE_DATA_ID,
};

apiInstance
  .updateDeploymentRule(params)
  .then((data: v2.DeploymentRuleResponse) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

DELETE https://api.ap1.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.ap2.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.datadoghq.eu/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.ddog-gov.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.us3.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}https://api.us5.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules/{id}

Información general

Endpoint to delete a deployment rule. This endpoint requires the deployment_gates_write permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

gate_id [required]

string

The ID of the deployment gate.

id [required]

string

The ID of the deployment rule.

Respuesta

No Content

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment gate not found.

Deployment gate not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                  # Path parameters
export gate_id="CHANGE_ME"
export id="CHANGE_ME"
# Curl command
curl -X DELETE "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${gate_id}/rules/${id}" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Delete deployment rule returns "No Content" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

# there is a valid "deployment_rule" in the system
DEPLOYMENT_RULE_DATA_ID = environ["DEPLOYMENT_RULE_DATA_ID"]

configuration = Configuration()
configuration.unstable_operations["delete_deployment_rule"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    api_instance.delete_deployment_rule(
        gate_id=DEPLOYMENT_GATE_DATA_ID,
        id=DEPLOYMENT_RULE_DATA_ID,
    )

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Delete deployment rule returns "No Content" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.delete_deployment_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]

# there is a valid "deployment_rule" in the system
DEPLOYMENT_RULE_DATA_ID = ENV["DEPLOYMENT_RULE_DATA_ID"]
api_instance.delete_deployment_rule(DEPLOYMENT_GATE_DATA_ID, DEPLOYMENT_RULE_DATA_ID)

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Delete deployment rule returns "No Content" response

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	// there is a valid "deployment_rule" in the system
	DeploymentRuleDataID := os.Getenv("DEPLOYMENT_RULE_DATA_ID")

	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.DeleteDeploymentRule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	r, err := api.DeleteDeploymentRule(ctx, DeploymentGateDataID, DeploymentRuleDataID)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.DeleteDeploymentRule`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
}

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Delete deployment rule returns "No Content" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.deleteDeploymentRule", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    // there is a valid "deployment_rule" in the system
    String DEPLOYMENT_RULE_DATA_ID = System.getenv("DEPLOYMENT_RULE_DATA_ID");

    try {
      apiInstance.deleteDeploymentRule(DEPLOYMENT_GATE_DATA_ID, DEPLOYMENT_RULE_DATA_ID);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#deleteDeploymentRule");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Delete deployment rule returns "No Content" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();

    // there is a valid "deployment_rule" in the system
    let deployment_rule_data_id = std::env::var("DEPLOYMENT_RULE_DATA_ID").unwrap();
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.DeleteDeploymentRule", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .delete_deployment_rule(
            deployment_gate_data_id.clone(),
            deployment_rule_data_id.clone(),
        )
        .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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Delete deployment rule returns "No Content" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.deleteDeploymentRule"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

// there is a valid "deployment_rule" in the system
const DEPLOYMENT_RULE_DATA_ID = process.env.DEPLOYMENT_RULE_DATA_ID as string;

const params: v2.DeploymentGatesApiDeleteDeploymentRuleRequest = {
  gateId: DEPLOYMENT_GATE_DATA_ID,
  id: DEPLOYMENT_RULE_DATA_ID,
};

apiInstance
  .deleteDeploymentRule(params)
  .then((data: any) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.ap2.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.datadoghq.eu/api/v2/deployment_gates/{gate_id}/ruleshttps://api.ddog-gov.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.us3.datadoghq.com/api/v2/deployment_gates/{gate_id}/ruleshttps://api.us5.datadoghq.com/api/v2/deployment_gates/{gate_id}/rules

Información general

Endpoint to get rules for a deployment gate. This endpoint requires the deployment_gates_read permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

gate_id [required]

string

The ID of the deployment gate.

Respuesta

OK

Response for a deployment gate rules.

Expand All

Campo

Tipo

Descripción

data

object

Data for a list of deployment rules.

attributes [required]

object

Attributes of the response for listing deployment rules.

rules

[object]

The list of deployment rules.

created_at [required]

date-time

The timestamp when the deployment rule was created.

created_by [required]

object

Information about the user who created the deployment rule.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this rule is run in dry-run mode.

gate_id [required]

string

The ID of the deployment gate.

name [required]

string

The name of the deployment rule.

options [required]

 <oneOf>

Options for deployment rule response representing either faulty deployment detection or monitor options.

Option 1

object

Faulty deployment detection options for deployment rules.

duration

int64

The duration for faulty deployment detection.

excluded_resources

[string]

Resources to exclude from faulty deployment detection.

Option 2

object

Monitor options for deployment rules.

duration

int64

Seconds the monitor needs to stay in OK status for the rule to pass.

query [required]

string

Monitors that match this query are evaluated.

type [required]

enum

The type of the deployment rule. Allowed enum values: faulty_deployment_detection,monitor

updated_at

date-time

The timestamp when the deployment rule was last updated.

updated_by

object

Information about the user who updated the deployment rule.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment rule.

type [required]

enum

List deployment rule resource type. Allowed enum values: list_deployment_rules

{
  "data": {
    "attributes": {
      "rules": [
        {
          "created_at": "2021-01-01T00:00:00Z",
          "created_by": {
            "handle": "test-user",
            "id": "1111-2222-3333-4444-555566667777",
            "name": "Test User"
          },
          "dry_run": false,
          "gate_id": "1111-2222-3333-4444-555566667777",
          "name": "My deployment rule",
          "options": {
            "duration": 3600,
            "excluded_resources": [
              "resource1",
              "resource2"
            ]
          },
          "type": "faulty_deployment_detection",
          "updated_at": "2019-09-19T10:00:00.000Z",
          "updated_by": {
            "handle": "test-user",
            "id": "1111-2222-3333-4444-555566667777",
            "name": "Test User"
          }
        }
      ]
    },
    "id": "1111-2222-3333-4444-555566667777",
    "type": "list_deployment_rules"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                  # Path parameters
export gate_id="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates/${gate_id}/rules" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get rules for a deployment gate returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = environ["DEPLOYMENT_GATE_DATA_ID"]

configuration = Configuration()
configuration.unstable_operations["get_deployment_gate_rules"] = True
with ApiClient(configuration) as api_client:
    api_instance = DeploymentGatesApi(api_client)
    response = api_instance.get_deployment_gate_rules(
        gate_id=DEPLOYMENT_GATE_DATA_ID,
    )

    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get rules for a deployment gate returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.get_deployment_gate_rules".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DeploymentGatesAPI.new

# there is a valid "deployment_gate" in the system
DEPLOYMENT_GATE_DATA_ID = ENV["DEPLOYMENT_GATE_DATA_ID"]
p api_instance.get_deployment_gate_rules(DEPLOYMENT_GATE_DATA_ID)

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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get rules for a deployment gate returns "OK" 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() {
	// there is a valid "deployment_gate" in the system
	DeploymentGateDataID := os.Getenv("DEPLOYMENT_GATE_DATA_ID")

	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetDeploymentGateRules", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDeploymentGatesApi(apiClient)
	resp, r, err := api.GetDeploymentGateRules(ctx, DeploymentGateDataID)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DeploymentGatesApi.GetDeploymentGateRules`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DeploymentGatesApi.GetDeploymentGateRules`:\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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get rules for a deployment gate returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DeploymentGatesApi;
import com.datadog.api.client.v2.model.DeploymentGateRulesResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.getDeploymentGateRules", true);
    DeploymentGatesApi apiInstance = new DeploymentGatesApi(defaultClient);

    // there is a valid "deployment_gate" in the system
    String DEPLOYMENT_GATE_DATA_ID = System.getenv("DEPLOYMENT_GATE_DATA_ID");

    try {
      DeploymentGateRulesResponse result =
          apiInstance.getDeploymentGateRules(DEPLOYMENT_GATE_DATA_ID);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling DeploymentGatesApi#getDeploymentGateRules");
      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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get rules for a deployment gate returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_deployment_gates::DeploymentGatesAPI;

#[tokio::main]
async fn main() {
    // there is a valid "deployment_gate" in the system
    let deployment_gate_data_id = std::env::var("DEPLOYMENT_GATE_DATA_ID").unwrap();
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.GetDeploymentGateRules", true);
    let api = DeploymentGatesAPI::with_config(configuration);
    let resp = api
        .get_deployment_gate_rules(deployment_gate_data_id.clone())
        .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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get rules for a deployment gate returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.getDeploymentGateRules"] = true;
const apiInstance = new v2.DeploymentGatesApi(configuration);

// there is a valid "deployment_gate" in the system
const DEPLOYMENT_GATE_DATA_ID = process.env.DEPLOYMENT_GATE_DATA_ID as string;

const params: v2.DeploymentGatesApiGetDeploymentGateRulesRequest = {
  gateId: DEPLOYMENT_GATE_DATA_ID,
};

apiInstance
  .getDeploymentGateRules(params)
  .then((data: v2.DeploymentGateRulesResponse) => {
    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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/deployment_gateshttps://api.ap2.datadoghq.com/api/v2/deployment_gateshttps://api.datadoghq.eu/api/v2/deployment_gateshttps://api.ddog-gov.com/api/v2/deployment_gateshttps://api.datadoghq.com/api/v2/deployment_gateshttps://api.us3.datadoghq.com/api/v2/deployment_gateshttps://api.us5.datadoghq.com/api/v2/deployment_gates

Información general

Returns a paginated list of all deployment gates for the organization. Use page[cursor] and page[size] query parameters to paginate through results. This endpoint requires the deployment_gates_read permission.

Argumentos

Cadenas de consulta

Nombre

Tipo

Descripción

page[cursor]

string

Cursor for pagination. Use the meta.page.next_cursor value from the previous response.

page[size]

integer

Number of results per page. Defaults to 50. Must be between 1 and 1000.

Respuesta

OK

Response containing a paginated list of deployment gates.

Expand All

Campo

Tipo

Descripción

data

[object]

Array of deployment gates.

attributes [required]

object

Basic information about a deployment gate.

created_at [required]

date-time

The timestamp when the deployment gate was created.

created_by [required]

object

Information about the user who created the deployment gate.

handle

string

The handle of the user who created the deployment rule.

id [required]

string

The ID of the user who created the deployment rule.

name

string

The name of the user who created the deployment rule.

dry_run [required]

boolean

Whether this gate is run in dry-run mode.

env [required]

string

The environment of the deployment gate.

identifier [required]

string

The identifier of the deployment gate.

service [required]

string

The service of the deployment gate.

updated_at

date-time

The timestamp when the deployment gate was last updated.

updated_by

object

Information about the user who updated the deployment gate.

handle

string

The handle of the user who updated the deployment rule.

id [required]

string

The ID of the user who updated the deployment rule.

name

string

The name of the user who updated the deployment rule.

id [required]

string

Unique identifier of the deployment gate.

type [required]

enum

Deployment gate resource type. Allowed enum values: deployment_gate

meta

object

Metadata for a list of deployment gates response.

page

object

Pagination information for a list of deployment gates.

cursor

string

The cursor used for the current page.

next_cursor

string

The cursor to use to fetch the next page. This is absent when there are no more pages.

size

int64

The number of results per page.

default: 50

{
  "data": [
    {
      "attributes": {
        "created_at": "2021-01-01T00:00:00Z",
        "created_by": {
          "handle": "test-user",
          "id": "1111-2222-3333-4444-555566667777",
          "name": "Test User"
        },
        "dry_run": false,
        "env": "production",
        "identifier": "pre",
        "service": "my-service",
        "updated_at": "2021-01-01T00:00:00Z",
        "updated_by": {
          "handle": "test-user",
          "id": "1111-2222-3333-4444-555566667777",
          "name": "Test User"
        }
      },
      "id": "1111-2222-3333-4444-555566667777",
      "type": "deployment_gate"
    }
  ],
  "meta": {
    "page": {
      "cursor": "string",
      "next_cursor": "string",
      "size": "integer"
    }
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                  # Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployment_gates" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.ap2.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.datadoghq.eu/api/v2/deployments/gates/evaluationhttps://api.ddog-gov.com/api/v2/deployments/gates/evaluationhttps://api.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.us3.datadoghq.com/api/v2/deployments/gates/evaluationhttps://api.us5.datadoghq.com/api/v2/deployments/gates/evaluation

Información general

Triggers an asynchronous deployment gate evaluation for the given service and environment. Returns an evaluation ID that can be used to poll for the result via the GET /api/v2/deployments/gates/evaluation/{id} endpoint. This endpoint requires the deployment_gates_evaluate permission.

Solicitud

Body Data (required)

Expand All

Campo

Tipo

Descripción

data [required]

object

Data for a deployment gate evaluation request.

attributes [required]

object

Attributes for a deployment gate evaluation request.

env [required]

string

The environment of the deployment.

identifier

string

The identifier of the deployment gate. Defaults to "default".

default: default

primary_tag

string

A primary tag to scope APM Faulty Deployment Detection rules.

service [required]

string

The service being deployed.

version

string

The version of the deployment. Required for APM Faulty Deployment Detection rules.

type [required]

enum

JSON:API type for a deployment gate evaluation request. Allowed enum values: deployment_gates_evaluation_request

default: deployment_gates_evaluation_request

{
  "data": {
    "attributes": {
      "env": "production",
      "identifier": "pre",
      "service": "my-service"
    },
    "type": "deployment_gates_evaluation_request"
  }
}

Respuesta

Accepted

Response for a deployment gate evaluation request.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment gate evaluation response.

attributes [required]

object

Attributes for a deployment gate evaluation response.

evaluation_id [required]

string

The unique identifier of the gate evaluation.

id [required]

uuid

The unique identifier of the evaluation response.

type [required]

enum

JSON:API type for a deployment gate evaluation response. Allowed enum values: deployment_gates_evaluation_response

default: deployment_gates_evaluation_response

{
  "data": {
    "attributes": {
      "evaluation_id": "e9d2f04f-4f4b-494b-86e5-52f03e10c8e9"
    },
    "id": "e9d2f04f-4f4b-494b-86e5-52f03e10c8e9",
    "type": "deployment_gates_evaluation_response"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment gate not found.

Deployment gate not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                          # 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.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployments/gates/evaluation" \ -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": { "env": "production", "identifier": "pre", "service": "my-service" }, "type": "deployment_gates_evaluation_request" } } EOF

Note: This endpoint is in preview and may be subject to change. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/deployments/gates/evaluation/{id}https://api.ap2.datadoghq.com/api/v2/deployments/gates/evaluation/{id}https://api.datadoghq.eu/api/v2/deployments/gates/evaluation/{id}https://api.ddog-gov.com/api/v2/deployments/gates/evaluation/{id}https://api.datadoghq.com/api/v2/deployments/gates/evaluation/{id}https://api.us3.datadoghq.com/api/v2/deployments/gates/evaluation/{id}https://api.us5.datadoghq.com/api/v2/deployments/gates/evaluation/{id}

Información general

Retrieves the result of a deployment gate evaluation by its evaluation ID. If the evaluation is still in progress, data.attributes.gate_status will be in_progress; continue polling until it returns pass or fail. Polling every 10-20 seconds is recommended. The endpoint may return a 404 if called too soon after triggering; retry after a few seconds. This endpoint requires the deployment_gates_evaluate permission.

Argumentos

Parámetros de ruta

Nombre

Tipo

Descripción

id [required]

string

The evaluation ID returned by the trigger endpoint.

Respuesta

OK

Response containing the result of a deployment gate evaluation.

Expand All

Campo

Tipo

Descripción

data

object

Data for a deployment gate evaluation result response.

attributes [required]

object

Attributes for a deployment gate evaluation result response.

dry_run [required]

boolean

Whether the gate was evaluated in dry-run mode.

evaluation_id [required]

string

The unique identifier of the gate evaluation.

evaluation_url [required]

string

A URL to view the evaluation details in the Datadog UI.

gate_id [required]

uuid

The unique identifier of the deployment gate.

gate_status [required]

enum

The overall status of the gate evaluation.

  • in_progress: The evaluation is still running.
  • pass: All rules passed successfully and the deployment is allowed to proceed.
  • fail: One or more rules did not pass; the deployment should not proceed. Allowed enum values: in_progress,pass,fail

rules [required]

[object]

The results of individual rule evaluations.

dry_run

boolean

Whether this rule was evaluated in dry-run mode.

name

string

The name of the rule.

reason

string

The reason for the rule result, if applicable.

status

enum

The overall status of the gate evaluation.

  • in_progress: The evaluation is still running.
  • pass: All rules passed successfully and the deployment is allowed to proceed.
  • fail: One or more rules did not pass; the deployment should not proceed. Allowed enum values: in_progress,pass,fail

id [required]

string

The unique identifier of the evaluation.

type [required]

enum

JSON:API type for a deployment gate evaluation result response. Allowed enum values: deployment_gates_evaluation_result_response

default: deployment_gates_evaluation_result_response

{
  "data": {
    "attributes": {
      "dry_run": false,
      "evaluation_id": "e9d2f04f-4f4b-494b-86e5-52f03e10c8e9",
      "evaluation_url": "https://app.datadoghq.com/ci/deployment-gates/evaluations?index=cdgates\u0026query=level%3Agate+%40evaluation_id%3Ae9d2f04f-4f4b-494b-86e5-52f03e10c8e9",
      "gate_id": "e140302e-0cba-40d2-978c-6780647f8f1c",
      "gate_status": "pass",
      "rules": [
        {
          "dry_run": false,
          "name": "Check service monitors",
          "reason": "One or more monitors in ALERT state",
          "status": "pass"
        }
      ]
    },
    "id": "e9d2f04f-4f4b-494b-86e5-52f03e10c8e9",
    "type": "deployment_gates_evaluation_result_response"
  }
}

Bad request.

Bad request.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Forbidden

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Deployment gate not found.

Deployment gate not found.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Campo

Tipo

Descripción

errors [required]

[string]

A list of errors.

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

Internal Server Error

Errors occurred.

Expand All

Campo

Tipo

Descripción

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Ejemplo de código

                  # Path parameters
export id="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/deployments/gates/evaluation/${id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"