action digitalocean_apps_get_deployment { label: "Retrieve an App Deployment" description: "Retrieve information about an app deployment." provider: digitalocean method: GET path: "/v2/apps/{app_id}/deployments/{deployment_id}" encoding: json input: { type: "object" properties: { app_id: { type: "string" } deployment_id: { type: "string" } } required: ["app_id", "deployment_id"] additionalProperties: false } output: { type: "object" properties: { deployment: { type: "object" properties: { cause: { type: "string" } cloned_from: { type: "string" } created_at: { type: "string" format: "date-time" } functions: { type: "array" items: { type: "object" properties: { name: { type: "string" } namespace: { type: "string" description: "The namespace where the functions are deployed." } source_commit_hash: { type: "string" description: "The commit hash of the repository that was used to build this functions component." } } } } id: { type: "string" } jobs: { type: "array" items: { type: "object" properties: { name: { type: "string" } source_commit_hash: { type: "string" } } } } phase: { type: "string" enum: ["UNKNOWN", "PENDING_BUILD", "BUILDING", "PENDING_DEPLOY", "DEPLOYING", "ACTIVE", "SUPERSEDED", "ERROR", "CANCELED"] } phase_last_updated_at: { type: "string" format: "date-time" } progress: { type: "object" properties: { error_steps: { type: "integer" format: "int32" } pending_steps: { type: "integer" format: "int32" } running_steps: { type: "integer" format: "int32" } steps: { type: "array" items: { type: "object" properties: { component_name: { type: "string" } ended_at: { type: "string" format: "date-time" } message_base: { type: "string" description: "The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\n\n`message_base` = \"Building service\"\n`component_name` = \"api\"" } name: { type: "string" } reason: { type: "object" properties: { code: { type: "string" } message: { type: "string" } } } started_at: { type: "string" format: "date-time" } status: { type: "string" enum: ["UNKNOWN", "PENDING", "RUNNING", "ERROR", "SUCCESS"] } steps: { type: "array" items: { type: "object" } } } } } success_steps: { type: "integer" format: "int32" } summary_steps: { type: "array" items: { type: "object" properties: { component_name: { type: "string" } ended_at: { type: "string" format: "date-time" } message_base: { type: "string" description: "The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:\n\n`message_base` = \"Building service\"\n`component_name` = \"api\"" } name: { type: "string" } reason: { type: "object" properties: { code: { type: "string" } message: { type: "string" } } } started_at: { type: "string" format: "date-time" } status: { type: "string" enum: ["UNKNOWN", "PENDING", "RUNNING", "ERROR", "SUCCESS"] } steps: { type: "array" items: { type: "object" } } } } } total_steps: { type: "integer" format: "int32" } } } services: { type: "array" items: { type: "object" properties: { name: { type: "string" } source_commit_hash: { type: "string" } } } } spec: { type: "object" description: "The desired configuration of an application." required: ["name"] properties: { databases: { type: "array" description: "Database instances which can provide persistence to workloads within the\napplication." items: { type: "object" required: ["name"] properties: { cluster_name: { type: "string" description: "The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned." } db_name: { type: "string" description: "The name of the MySQL or PostgreSQL database to configure." } db_user: { type: "string" description: "The name of the MySQL or PostgreSQL user to configure." } engine: { type: "string" description: "- MYSQL: MySQL\n- PG: PostgreSQL\n- REDIS: Redis" enum: ["UNSET", "MYSQL", "PG", "REDIS"] } name: { type: "string" description: "The name. Must be unique across all components within the same app." } production: { type: "boolean" description: "Whether this is a production or dev database." } version: { type: "string" description: "The version of the database engine" } } } } domains: { type: "array" description: "A set of hostnames where the application will be available." items: { type: "object" required: ["domain"] properties: { domain: { type: "string" description: "The hostname for the domain" } minimum_tls_version: { type: "string" description: "The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `\"1.2\"` or `\"1.3\"`." enum: ["1.2", "1.3"] } type: { type: "string" description: "- DEFAULT: The default `.ondigitalocean.app` domain assigned to this app\n- PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary.\n- ALIAS: A non-primary domain" enum: ["UNSPECIFIED", "DEFAULT", "PRIMARY", "ALIAS"] } wildcard: { type: "boolean" description: "Indicates whether the domain includes all sub-domains, in addition to the given domain" } zone: { type: "string" format: "hostname" description: "Optional. If the domain uses DigitalOcean DNS and you would like App\nPlatform to automatically manage it for you, set this to the name of the\ndomain on your account.\n\nFor example, If the domain you are adding is `app.domain.com`, the zone\ncould be `domain.com`." } } } } functions: { type: "array" description: "Workloads which expose publicly-accessible HTTP services via Functions Components." items: { type: "object" required: ["name"] properties: { alerts: { type: "array" items: { type: "object" properties: { disabled: { type: "boolean" description: "Is the alert disabled?" } operator: { type: "string" enum: ["UNSPECIFIED_OPERATOR", "GREATER_THAN", "LESS_THAN"] } rule: { type: "string" enum: ["UNSPECIFIED_RULE", "CPU_UTILIZATION", "MEM_UTILIZATION", "RESTART_COUNT", "DEPLOYMENT_FAILED", "DEPLOYMENT_LIVE", "DOMAIN_FAILED", "DOMAIN_LIVE", "FUNCTIONS_ACTIVATION_COUNT", "FUNCTIONS_AVERAGE_DURATION_MS", "FUNCTIONS_ERROR_RATE_PER_MINUTE", "FUNCTIONS_AVERAGE_WAIT_TIME_MS", "FUNCTIONS_ERROR_COUNT", "FUNCTIONS_GB_RATE_PER_SECOND"] } value: { type: "number" format: "float" description: "Threshold value for alert" } window: { type: "string" enum: ["UNSPECIFIED_WINDOW", "FIVE_MINUTES", "TEN_MINUTES", "THIRTY_MINUTES", "ONE_HOUR"] } } } } cors: { type: "object" properties: { allow_credentials: { type: "boolean" description: "Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header." } allow_headers: { type: "array" description: "The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header." items: { type: "string" } } allow_methods: { type: "array" description: "The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header." items: { type: "string" } } allow_origins: { type: "array" description: "The set of allowed CORS origins." items: { type: "object" properties: { exact: { type: "string" description: "Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set." } prefix: { type: "string" description: "Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set." } regex: { type: "string" description: "RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax" } } } } expose_headers: { type: "array" description: "The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header." items: { type: "string" } } max_age: { type: "string" description: "An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header." } } } envs: { type: "array" description: "A list of environment variables made available to the component." items: { type: "object" required: ["key"] properties: { key: { type: "string" description: "The variable name" } scope: { type: "string" description: "- RUN_TIME: Made available only at run-time\n- BUILD_TIME: Made available only at build-time\n- RUN_AND_BUILD_TIME: Made available at both build and run-time" enum: ["UNSET", "RUN_TIME", "BUILD_TIME", "RUN_AND_BUILD_TIME"] } type: { type: "string" description: "- GENERAL: A plain-text environment variable\n- SECRET: A secret encrypted environment variable" enum: ["GENERAL", "SECRET"] } value: { type: "string" description: "The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used." } } } } git: { type: "object" properties: { branch: { type: "string" description: "The name of the branch to use" } repo_clone_url: { type: "string" description: "The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git`" } } } github: { type: "object" properties: { branch: { type: "string" description: "The name of the branch to use" } deploy_on_push: { type: "boolean" description: "Whether to automatically deploy new commits made to the repo" } repo: { type: "string" description: "The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`" } } } gitlab: { type: "object" properties: { branch: { type: "string" description: "The name of the branch to use" } deploy_on_push: { type: "boolean" description: "Whether to automatically deploy new commits made to the repo" } repo: { type: "string" description: "The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang`" } } } log_destinations: { type: "object" required: ["name"] properties: { datadog: { type: "object" description: "DataDog configuration." required: ["api_key"] properties: { api_key: { type: "string" description: "Datadog API key." } endpoint: { type: "string" description: "Datadog HTTP log intake endpoint." } } } logtail: { type: "object" description: "Logtail configuration." required: ["endpoint"] properties: { token: { type: "string" description: "Logtail token." } } } name: { type: "string" } papertrail: { type: "object" description: "Papertrail configuration." required: ["endpoint"] properties: { endpoint: { type: "string" description: "Papertrail syslog endpoint." } } } } } name: { type: "string" description: "The name. Must be unique across all components within the same app." } routes: { type: "array" description: "A list of HTTP routes that should be routed to this component." items: { type: "object" properties: { path: { type: "string" description: "An HTTP path prefix. Paths must start with / and must be unique across all components within an app." } preserve_path_prefix: { type: "boolean" description: "An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`." } } } } source_dir: { type: "string" description: "An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo." } } } } jobs: { type: "array" description: "Pre and post deployment workloads which do not expose publicly-accessible HTTP routes." items: { type: "object" } } name: { type: "string" description: "The name of the app. Must be unique across all apps in the same account." } region: { type: "string" description: "The slug form of the geographical origin of the app. Default: `nearest available`" enum: ["ams", "nyc", "fra", "sfo", "sgp", "blr", "tor", "lon", "syd"] } services: { type: "array" description: "Workloads which expose publicly-accessible HTTP services." items: { type: "object" } } static_sites: { type: "array" description: "Content which can be rendered to static web assets." items: { required: ["name"] type: "object" } } workers: { type: "array" description: "Workloads which do not expose publicly-accessible HTTP services." items: { required: ["name"] type: "object" } } } } static_sites: { type: "array" items: { type: "object" properties: { name: { type: "string" } source_commit_hash: { type: "string" } } } } tier_slug: { type: "string" } updated_at: { type: "string" format: "date-time" } workers: { type: "array" items: { type: "object" properties: { name: { type: "string" } source_commit_hash: { type: "string" } } } } } } } } }