@datadog/datadog-api-client
Version:
OpenAPI client for Datadog APIs
318 lines (317 loc) • 14.8 kB
TypeScript
import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi";
import { Configuration } from "../../datadog-api-client-common/configuration";
import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http";
import { CreateDeploymentGateParams } from "../models/CreateDeploymentGateParams";
import { CreateDeploymentRuleParams } from "../models/CreateDeploymentRuleParams";
import { DeploymentGateResponse } from "../models/DeploymentGateResponse";
import { DeploymentGateRulesResponse } from "../models/DeploymentGateRulesResponse";
import { DeploymentGatesEvaluationRequest } from "../models/DeploymentGatesEvaluationRequest";
import { DeploymentGatesEvaluationResponse } from "../models/DeploymentGatesEvaluationResponse";
import { DeploymentGatesEvaluationResultResponse } from "../models/DeploymentGatesEvaluationResultResponse";
import { DeploymentGatesListResponse } from "../models/DeploymentGatesListResponse";
import { DeploymentRuleResponse } from "../models/DeploymentRuleResponse";
import { UpdateDeploymentGateParams } from "../models/UpdateDeploymentGateParams";
import { UpdateDeploymentRuleParams } from "../models/UpdateDeploymentRuleParams";
export declare class DeploymentGatesApiRequestFactory extends BaseAPIRequestFactory {
createDeploymentGate(body: CreateDeploymentGateParams, _options?: Configuration): Promise<RequestContext>;
createDeploymentRule(gateId: string, body: CreateDeploymentRuleParams, _options?: Configuration): Promise<RequestContext>;
deleteDeploymentGate(id: string, _options?: Configuration): Promise<RequestContext>;
deleteDeploymentRule(gateId: string, id: string, _options?: Configuration): Promise<RequestContext>;
getDeploymentGate(id: string, _options?: Configuration): Promise<RequestContext>;
getDeploymentGateRules(gateId: string, _options?: Configuration): Promise<RequestContext>;
getDeploymentGatesEvaluationResult(id: string, _options?: Configuration): Promise<RequestContext>;
getDeploymentRule(gateId: string, id: string, _options?: Configuration): Promise<RequestContext>;
listDeploymentGates(pageCursor?: string, pageSize?: number, _options?: Configuration): Promise<RequestContext>;
triggerDeploymentGatesEvaluation(body: DeploymentGatesEvaluationRequest, _options?: Configuration): Promise<RequestContext>;
updateDeploymentGate(id: string, body: UpdateDeploymentGateParams, _options?: Configuration): Promise<RequestContext>;
updateDeploymentRule(gateId: string, id: string, body: UpdateDeploymentRuleParams, _options?: Configuration): Promise<RequestContext>;
}
export declare class DeploymentGatesApiResponseProcessor {
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to createDeploymentGate
* @throws ApiException if the response code was not in [200, 299]
*/
createDeploymentGate(response: ResponseContext): Promise<DeploymentGateResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to createDeploymentRule
* @throws ApiException if the response code was not in [200, 299]
*/
createDeploymentRule(response: ResponseContext): Promise<DeploymentRuleResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to deleteDeploymentGate
* @throws ApiException if the response code was not in [200, 299]
*/
deleteDeploymentGate(response: ResponseContext): Promise<void>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to deleteDeploymentRule
* @throws ApiException if the response code was not in [200, 299]
*/
deleteDeploymentRule(response: ResponseContext): Promise<void>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to getDeploymentGate
* @throws ApiException if the response code was not in [200, 299]
*/
getDeploymentGate(response: ResponseContext): Promise<DeploymentGateResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to getDeploymentGateRules
* @throws ApiException if the response code was not in [200, 299]
*/
getDeploymentGateRules(response: ResponseContext): Promise<DeploymentGateRulesResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to getDeploymentGatesEvaluationResult
* @throws ApiException if the response code was not in [200, 299]
*/
getDeploymentGatesEvaluationResult(response: ResponseContext): Promise<DeploymentGatesEvaluationResultResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to getDeploymentRule
* @throws ApiException if the response code was not in [200, 299]
*/
getDeploymentRule(response: ResponseContext): Promise<DeploymentRuleResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to listDeploymentGates
* @throws ApiException if the response code was not in [200, 299]
*/
listDeploymentGates(response: ResponseContext): Promise<DeploymentGatesListResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to triggerDeploymentGatesEvaluation
* @throws ApiException if the response code was not in [200, 299]
*/
triggerDeploymentGatesEvaluation(response: ResponseContext): Promise<DeploymentGatesEvaluationResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to updateDeploymentGate
* @throws ApiException if the response code was not in [200, 299]
*/
updateDeploymentGate(response: ResponseContext): Promise<DeploymentGateResponse>;
/**
* Unwraps the actual response sent by the server from the response context and deserializes the response content
* to the expected objects
*
* @params response Response returned by the server for a request to updateDeploymentRule
* @throws ApiException if the response code was not in [200, 299]
*/
updateDeploymentRule(response: ResponseContext): Promise<DeploymentRuleResponse>;
}
export interface DeploymentGatesApiCreateDeploymentGateRequest {
/**
* @type CreateDeploymentGateParams
*/
body: CreateDeploymentGateParams;
}
export interface DeploymentGatesApiCreateDeploymentRuleRequest {
/**
* The ID of the deployment gate.
* @type string
*/
gateId: string;
/**
* @type CreateDeploymentRuleParams
*/
body: CreateDeploymentRuleParams;
}
export interface DeploymentGatesApiDeleteDeploymentGateRequest {
/**
* The ID of the deployment gate.
* @type string
*/
id: string;
}
export interface DeploymentGatesApiDeleteDeploymentRuleRequest {
/**
* The ID of the deployment gate.
* @type string
*/
gateId: string;
/**
* The ID of the deployment rule.
* @type string
*/
id: string;
}
export interface DeploymentGatesApiGetDeploymentGateRequest {
/**
* The ID of the deployment gate.
* @type string
*/
id: string;
}
export interface DeploymentGatesApiGetDeploymentGateRulesRequest {
/**
* The ID of the deployment gate.
* @type string
*/
gateId: string;
}
export interface DeploymentGatesApiGetDeploymentGatesEvaluationResultRequest {
/**
* The evaluation ID returned by the trigger endpoint.
* @type string
*/
id: string;
}
export interface DeploymentGatesApiGetDeploymentRuleRequest {
/**
* The ID of the deployment gate.
* @type string
*/
gateId: string;
/**
* The ID of the deployment rule.
* @type string
*/
id: string;
}
export interface DeploymentGatesApiListDeploymentGatesRequest {
/**
* Cursor for pagination. Use the `meta.page.next_cursor` value from the previous response.
* @type string
*/
pageCursor?: string;
/**
* Number of results per page. Defaults to 50. Must be between 1 and 1000.
* @type number
*/
pageSize?: number;
}
export interface DeploymentGatesApiTriggerDeploymentGatesEvaluationRequest {
/**
* @type DeploymentGatesEvaluationRequest
*/
body: DeploymentGatesEvaluationRequest;
}
export interface DeploymentGatesApiUpdateDeploymentGateRequest {
/**
* The ID of the deployment gate.
* @type string
*/
id: string;
/**
* @type UpdateDeploymentGateParams
*/
body: UpdateDeploymentGateParams;
}
export interface DeploymentGatesApiUpdateDeploymentRuleRequest {
/**
* The ID of the deployment gate.
* @type string
*/
gateId: string;
/**
* The ID of the deployment rule.
* @type string
*/
id: string;
/**
* @type UpdateDeploymentRuleParams
*/
body: UpdateDeploymentRuleParams;
}
export declare class DeploymentGatesApi {
private requestFactory;
private responseProcessor;
private configuration;
constructor(configuration: Configuration, requestFactory?: DeploymentGatesApiRequestFactory, responseProcessor?: DeploymentGatesApiResponseProcessor);
/**
* Endpoint to create a deployment gate.
* @param param The request object
*/
createDeploymentGate(param: DeploymentGatesApiCreateDeploymentGateRequest, options?: Configuration): Promise<DeploymentGateResponse>;
/**
* Endpoint to create a deployment rule. A gate for the rule must already exist.
* @param param The request object
*/
createDeploymentRule(param: DeploymentGatesApiCreateDeploymentRuleRequest, options?: Configuration): Promise<DeploymentRuleResponse>;
/**
* Endpoint to delete a deployment gate. Rules associated with the gate are also deleted.
* @param param The request object
*/
deleteDeploymentGate(param: DeploymentGatesApiDeleteDeploymentGateRequest, options?: Configuration): Promise<void>;
/**
* Endpoint to delete a deployment rule.
* @param param The request object
*/
deleteDeploymentRule(param: DeploymentGatesApiDeleteDeploymentRuleRequest, options?: Configuration): Promise<void>;
/**
* Endpoint to get a deployment gate.
* @param param The request object
*/
getDeploymentGate(param: DeploymentGatesApiGetDeploymentGateRequest, options?: Configuration): Promise<DeploymentGateResponse>;
/**
* Endpoint to get rules for a deployment gate.
* @param param The request object
*/
getDeploymentGateRules(param: DeploymentGatesApiGetDeploymentGateRulesRequest, options?: Configuration): Promise<DeploymentGateRulesResponse>;
/**
* 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.
* @param param The request object
*/
getDeploymentGatesEvaluationResult(param: DeploymentGatesApiGetDeploymentGatesEvaluationResultRequest, options?: Configuration): Promise<DeploymentGatesEvaluationResultResponse>;
/**
* Endpoint to get a deployment rule.
* @param param The request object
*/
getDeploymentRule(param: DeploymentGatesApiGetDeploymentRuleRequest, options?: Configuration): Promise<DeploymentRuleResponse>;
/**
* Returns a paginated list of all deployment gates for the organization.
* Use `page[cursor]` and `page[size]` query parameters to paginate through results.
* @param param The request object
*/
listDeploymentGates(param?: DeploymentGatesApiListDeploymentGatesRequest, options?: Configuration): Promise<DeploymentGatesListResponse>;
/**
* 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.
*
* When the `configuration` attribute is provided, rules are evaluated inline from that configuration
* and no pre-configured gate is required. When `configuration` is omitted, rules are resolved from the
* gate pre-configured for the given service and environment through the Datadog UI, API, or Terraform.
* @param param The request object
*/
triggerDeploymentGatesEvaluation(param: DeploymentGatesApiTriggerDeploymentGatesEvaluationRequest, options?: Configuration): Promise<DeploymentGatesEvaluationResponse>;
/**
* Endpoint to update a deployment gate.
* @param param The request object
*/
updateDeploymentGate(param: DeploymentGatesApiUpdateDeploymentGateRequest, options?: Configuration): Promise<DeploymentGateResponse>;
/**
* Endpoint to update a deployment rule.
* @param param The request object
*/
updateDeploymentRule(param: DeploymentGatesApiUpdateDeploymentRuleRequest, options?: Configuration): Promise<DeploymentRuleResponse>;
}