/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: 80d6fb28a717
 */

import { workflowsDeploymentsGetDeployment } from "../funcs/workflowsDeploymentsGetDeployment.js";
import { workflowsDeploymentsListDeployments } from "../funcs/workflowsDeploymentsListDeployments.js";
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import * as operations from "../models/operations/index.js";
import { unwrapAsync } from "../types/fp.js";

export class Deployments extends ClientSDK {
  /**
   * List Deployments
   */
  async listDeployments(
    request?:
      | operations.ListDeploymentsV1WorkflowsDeploymentsGetRequest
      | undefined,
    options?: RequestOptions,
  ): Promise<components.DeploymentListResponse> {
    return unwrapAsync(workflowsDeploymentsListDeployments(
      this,
      request,
      options,
    ));
  }

  /**
   * Get Deployment
   */
  async getDeployment(
    request: operations.GetDeploymentV1WorkflowsDeploymentsNameGetRequest,
    options?: RequestOptions,
  ): Promise<components.DeploymentDetailResponse> {
    return unwrapAsync(workflowsDeploymentsGetDeployment(
      this,
      request,
      options,
    ));
  }
}
