---
title: Getting Started with Datadog
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Infrastructure > Datadog Resource Catalog
---

# gcp_clouddeploy_delivery_pipeline{% #gcp_clouddeploy_delivery_pipeline %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `annotations`{% #annotations %}

**Type**: `MAP_STRING_STRING`**Provider name**: `annotations`**Description**: Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy.

## `condition`{% #condition %}

**Type**: `STRUCT`**Provider name**: `condition`**Description**: Output only. Information around the state of the Delivery Pipeline.

- `pipeline_ready_condition`**Type**: `STRUCT`**Provider name**: `pipelineReadyCondition`**Description**: Details around the Pipeline's overall status.
  - `gcp_status`**Type**: `BOOLEAN`**Provider name**: `status`**Description**: True if the Pipeline is in a valid state. Otherwise at least one condition in `PipelineCondition` is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.
  - `update_time`**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Last time the condition was updated.
- `targets_present_condition`**Type**: `STRUCT`**Provider name**: `targetsPresentCondition`**Description**: Details around targets enumerated in the pipeline.
  - `gcp_status`**Type**: `BOOLEAN`**Provider name**: `status`**Description**: True if there aren't any missing Targets.
  - `missing_targets`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `missingTargets`**Description**: The list of Target names that do not exist. For example, `projects/{project_id}/locations/{location_name}/targets/{target_name}`.
  - `update_time`**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Last time the condition was updated.
- `targets_type_condition`**Type**: `STRUCT`**Provider name**: `targetsTypeCondition`**Description**: Details on the whether the targets enumerated in the pipeline are of the same type.
  - `error_details`**Type**: `STRING`**Provider name**: `errorDetails`**Description**: Human readable error message.
  - `gcp_status`**Type**: `BOOLEAN`**Provider name**: `status`**Description**: True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.

## `create_time`{% #create_time %}

**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: Output only. Time at which the pipeline was created.

## `description`{% #description %}

**Type**: `STRING`**Provider name**: `description`**Description**: Optional. Description of the `DeliveryPipeline`. Max length is 255 characters.

## `etag`{% #etag %}

**Type**: `STRING`**Provider name**: `etag`**Description**: This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `parent`{% #parent %}

**Type**: `STRING`

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `serial_pipeline`{% #serial_pipeline %}

**Type**: `STRUCT`**Provider name**: `serialPipeline`**Description**: Optional. SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.

- `stages`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `stages`**Description**: Optional. Each stage specifies configuration for a `Target`. The ordering of this list defines the promotion flow.
  - `deploy_parameters`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `deployParameters`**Description**: Optional. The deploy parameters to use for the target in this stage.

  - `profiles`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `profiles`**Description**: Optional. Skaffold profiles to use when rendering the manifest for this stage's `Target`.

  - `strategy`**Type**: `STRUCT`**Provider name**: `strategy`**Description**: Optional. The strategy to use for a `Rollout` to this stage.

    - `canary`**Type**: `STRUCT`**Provider name**: `canary`**Description**: Optional. Canary deployment strategy provides progressive percentage based deployments to a Target.
      - `canary_deployment`**Type**: `STRUCT`**Provider name**: `canaryDeployment`**Description**: Optional. Configures the progressive based deployment for a Target.
        - `percentages`**Type**: `UNORDERED_LIST_INT32`**Provider name**: `percentages`**Description**: Required. The percentage based deployments that will occur as a part of a `Rollout`. List is expected in ascending order and each integer n is 0 <= n < 100. If the GatewayServiceMesh is configured for Kubernetes, then the range for n is 0 <= n <= 100.
        - `postdeploy`**Type**: `STRUCT`**Provider name**: `postdeploy`**Description**: Optional. Configuration for the postdeploy job of the last phase. If this is not configured, there will be no postdeploy job for this phase.
          - `actions`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `actions`**Description**: Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job.
        - `predeploy`**Type**: `STRUCT`**Provider name**: `predeploy`**Description**: Optional. Configuration for the predeploy job of the first phase. If this is not configured, there will be no predeploy job for this phase.
          - `actions`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `actions`**Description**: Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job.
        - `verify`**Type**: `BOOLEAN`**Provider name**: `verify`**Description**: Optional. Whether to run verify tests after each percentage deployment via `skaffold verify`.
      - `custom_canary_deployment`**Type**: `STRUCT`**Provider name**: `customCanaryDeployment`**Description**: Optional. Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.
        - `phase_configs`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `phaseConfigs`**Description**: Required. Configuration for each phase in the canary deployment in the order executed.
          - `percentage`**Type**: `INT32`**Provider name**: `percentage`**Description**: Required. Percentage deployment for the phase.
          - `phase_id`**Type**: `STRING`**Provider name**: `phaseId`**Description**: Required. The ID to assign to the `Rollout` phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
          - `postdeploy`**Type**: `STRUCT`**Provider name**: `postdeploy`**Description**: Optional. Configuration for the postdeploy job of this phase. If this is not configured, there will be no postdeploy job for this phase.
            - `actions`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `actions`**Description**: Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job.
          - `predeploy`**Type**: `STRUCT`**Provider name**: `predeploy`**Description**: Optional. Configuration for the predeploy job of this phase. If this is not configured, there will be no predeploy job for this phase.
            - `actions`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `actions`**Description**: Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job.
          - `profiles`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `profiles`**Description**: Optional. Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the `DeliveryPipeline` stage.
          - `verify`**Type**: `BOOLEAN`**Provider name**: `verify`**Description**: Optional. Whether to run verify tests after the deployment via `skaffold verify`.
      - `runtime_config`**Type**: `STRUCT`**Provider name**: `runtimeConfig`**Description**: Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.
        - `cloud_run`**Type**: `STRUCT`**Provider name**: `cloudRun`**Description**: Optional. Cloud Run runtime configuration.
          - `automatic_traffic_control`**Type**: `BOOLEAN`**Provider name**: `automaticTrafficControl`**Description**: Optional. Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.
          - `canary_revision_tags`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `canaryRevisionTags`**Description**: Optional. A list of tags that are added to the canary revision while the canary phase is in progress.
          - `prior_revision_tags`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `priorRevisionTags`**Description**: Optional. A list of tags that are added to the prior revision while the canary phase is in progress.
          - `stable_revision_tags`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `stableRevisionTags`**Description**: Optional. A list of tags that are added to the final stable revision when the stable phase is applied.
        - `kubernetes`**Type**: `STRUCT`**Provider name**: `kubernetes`**Description**: Optional. Kubernetes runtime configuration.
          - `gateway_service_mesh`**Type**: `STRUCT`**Provider name**: `gatewayServiceMesh`**Description**: Optional. Kubernetes Gateway API service mesh configuration.
            - `deployment`**Type**: `STRING`**Provider name**: `deployment`**Description**: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
            - `http_route`**Type**: `STRING`**Provider name**: `httpRoute`**Description**: Required. Name of the Gateway API HTTPRoute.
            - `pod_selector_label`**Type**: `STRING`**Provider name**: `podSelectorLabel`**Description**: Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
            - `route_destinations`**Type**: `STRUCT`**Provider name**: `routeDestinations`**Description**: Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster.
              - `destination_ids`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `destinationIds`**Description**: Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster.
              - `propagate_service`**Type**: `BOOLEAN`**Provider name**: `propagateService`**Description**: Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.
            - `route_update_wait_time`**Type**: `STRING`**Provider name**: `routeUpdateWaitTime`**Description**: Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
            - `service`**Type**: `STRING`**Provider name**: `service`**Description**: Required. Name of the Kubernetes Service.
            - `stable_cutback_duration`**Type**: `STRING`**Provider name**: `stableCutbackDuration`**Description**: Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
          - `service_networking`**Type**: `STRUCT`**Provider name**: `serviceNetworking`**Description**: Optional. Kubernetes Service networking configuration.
            - `deployment`**Type**: `STRING`**Provider name**: `deployment`**Description**: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
            - `disable_pod_overprovisioning`**Type**: `BOOLEAN`**Provider name**: `disablePodOverprovisioning`**Description**: Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
            - `pod_selector_label`**Type**: `STRING`**Provider name**: `podSelectorLabel`**Description**: Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
            - `service`**Type**: `STRING`**Provider name**: `service`**Description**: Required. Name of the Kubernetes Service.
    - `standard`**Type**: `STRUCT`**Provider name**: `standard`**Description**: Optional. Standard deployment strategy executes a single deploy and allows verifying the deployment.
      - `postdeploy`**Type**: `STRUCT`**Provider name**: `postdeploy`**Description**: Optional. Configuration for the postdeploy job. If this is not configured, the postdeploy job will not be present.
        - `actions`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `actions`**Description**: Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job.
      - `predeploy`**Type**: `STRUCT`**Provider name**: `predeploy`**Description**: Optional. Configuration for the predeploy job. If this is not configured, the predeploy job will not be present.
        - `actions`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `actions`**Description**: Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job.
      - `verify`**Type**: `BOOLEAN`**Provider name**: `verify`**Description**: Optional. Whether to verify a deployment via `skaffold verify`.

  - `target_id`**Type**: `STRING`**Provider name**: `targetId`**Description**: Optional. The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`). The location of the `Target` is inferred to be the same as the location of the `DeliveryPipeline` that contains this `Stage`.

## `suspended`{% #suspended %}

**Type**: `BOOLEAN`**Provider name**: `suspended`**Description**: Optional. When suspended, no new releases or rollouts can be created, but in-progress ones will complete.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `uid`{% #uid %}

**Type**: `STRING`**Provider name**: `uid`**Description**: Output only. Unique identifier of the `DeliveryPipeline`.

## `update_time`{% #update_time %}

**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Output only. Most recent time at which the pipeline was updated.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
