# Types

<br />

For a list of [methods](https://docs.cloud.google.com/deployment-manager/docs/reference/v2beta/types#methods) for this resource, see the end of this page.

## Resource representations

A resource type supported by Deployment Manager.   

```
{
  "name": string,
  "base": {
    "descriptorUrl": string,
    "credential": {
      "basicAuth": {
        "user": string,
        "password": string
      },
      "serviceAccount": {
        "email": string
      },
      "useProjectDefault": boolean
    },
    "options": {
      "inputMappings": [
        {
          "fieldName": string,
          "methodMatch": string,
          "value": string,
          "location": string
        }
      ],
      "validationOptions": {
        "undeclaredProperties": string,
        "schemaValidation": string
      },
      "virtualProperties": string,
      "asyncOptions": [
        {
          "methodMatch": string,
          "pollingOptions": {
            "finishCondition": string,
            "failCondition": string,
            "targetLink": string,
            "pollingLink": string,
            "diagnostics": [
              {
                "field": string,
                "level": string
              }
            ]
          }
        }
      ]
    },
    "collectionOverrides": [
      {
        "collection": string,
        "options": {
          "inputMappings": [
            {
              "fieldName": string,
              "methodMatch": string,
              "value": string,
              "location": string
            }
          ],
          "validationOptions": {
            "undeclaredProperties": string,
            "schemaValidation": string
          },
          "virtualProperties": string,
          "asyncOptions": [
            {
              "methodMatch": string,
              "pollingOptions": {
                "finishCondition": string,
                "failCondition": string,
                "targetLink": string,
                "pollingLink": string,
                "diagnostics": [
                  {
                    "field": string,
                    "level": string
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  },
  "id": unsigned long,
  "insertTime": string,
  "description": string,
  "selfLink": string,
  "operation": operations Resource,
  "labels": [
    {
      "key": string,
      "value": string
    }
  ]
}
```

| Property name | Value | Description | Notes |
|---|---|---|---|
| `base` | `nested object` | Base Type (configurable service) that backs this Type. |   |
| `base.collectionOverrides[]` | `list` | Allows resource handling overrides for specific collections |   |
| `base.collectionOverrides[].collection` | `string` | The collection that identifies this resource within its service. |   |
| `base.collectionOverrides[].options` | `nested object` | The options to apply to this resource-level override |   |
| `base.collectionOverrides[].options.asyncOptions[]` | `list` | Options regarding how to thread async requests. |   |
| `base.collectionOverrides[].options.asyncOptions[].methodMatch` | `string` | Method regex where this policy will apply. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions` | `nested object` | Deployment manager will poll instances for this API resource setting a RUNNING state, and blocking until polling conditions tell whether the resource is completed or failed. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions.diagnostics[]` | `list` | An array of diagnostics to be collected by Deployment Manager, these diagnostics will be displayed to the user. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions.diagnostics[].field` | `string` | JsonPath expression on the resource that if non empty, indicates that this field needs to be extracted as a diagnostic. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions.diagnostics[].level` | `string` | Level to record this diagnostic. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions.failCondition` | `string` | JsonPath expression that determines if the request failed. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions.finishCondition` | `string` | JsonPath expression that determines if the request is completed. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions.pollingLink` | `string` | JsonPath expression that evaluates to string, it indicates where to poll. |   |
| `base.collectionOverrides[].options.asyncOptions[].pollingOptions.targetLink` | `string` | JsonPath expression, after polling is completed, indicates where to fetch the resource. |   |
| `base.collectionOverrides[].options.inputMappings[]` | `list` | The mappings that apply for requests. |   |
| `base.collectionOverrides[].options.inputMappings[].fieldName` | `string` | The name of the field that is going to be injected. |   |
| `base.collectionOverrides[].options.inputMappings[].location` | `string` | The location where this mapping applies. |   |
| `base.collectionOverrides[].options.inputMappings[].methodMatch` | `string` | Regex to evaluate on method to decide if input applies. |   |
| `base.collectionOverrides[].options.inputMappings[].value` | `string` | A jsonPath expression to select an element. |   |
| `base.collectionOverrides[].options.validationOptions` | `nested object` | Options for how to validate and process properties on a resource. |   |
| `base.collectionOverrides[].options.validationOptions.schemaValidation` | `string` | Customize how deployment manager will validate the resource against schema errors. |   |
| `base.collectionOverrides[].options.validationOptions.undeclaredProperties` | `string` | Specify what to do with extra properties when executing a request. |   |
| `base.collectionOverrides[].options.virtualProperties` | `string` | Additional properties block described as a jsonSchema, these properties will never be part of the json payload, but they can be consumed by InputMappings, this must be a valid json schema draft-04. The properties specified here will be decouple in a different section. This schema will be merged to the schema validation, and properties here will be extracted From the payload and consumed explicitly by InputMappings. ex: field1: type: string field2: type: number |   |
| `base.credential` | `nested object` | Credential used when interacting with this type. |   |
| `base.credential.basicAuth` | `nested object` | Basic Auth Credential, only used by TypeProvider. |   |
| `base.credential.basicAuth.password` | `string` |   |   |
| `base.credential.basicAuth.user` | `string` |   |   |
| `base.credential.serviceAccount` | `nested object` | Service Account Credential, only used by Deployment. |   |
| `base.credential.serviceAccount.email` | `string` | The IAM service account email address like test@myproject.iam.gserviceaccount.com |   |
| `base.credential.useProjectDefault` | `boolean` | Specify to use the project default credential, only supported by Deployment. |   |
| `base.descriptorUrl` | `string` | Descriptor Url for the this type. |   |
| `base.options` | `nested object` | Options to apply when handling any resources in this service. |   |
| `base.options.asyncOptions[]` | `list` | Options regarding how to thread async requests. |   |
| `base.options.asyncOptions[].methodMatch` | `string` | Method regex where this policy will apply. |   |
| `base.options.asyncOptions[].pollingOptions` | `nested object` | Deployment manager will poll instances for this API resource setting a RUNNING state, and blocking until polling conditions tell whether the resource is completed or failed. |   |
| `base.options.asyncOptions[].pollingOptions.diagnostics[]` | `list` | An array of diagnostics to be collected by Deployment Manager, these diagnostics will be displayed to the user. |   |
| `base.options.asyncOptions[].pollingOptions.diagnostics[].field` | `string` | JsonPath expression on the resource that if non empty, indicates that this field needs to be extracted as a diagnostic. |   |
| `base.options.asyncOptions[].pollingOptions.diagnostics[].level` | `string` | Level to record this diagnostic. |   |
| `base.options.asyncOptions[].pollingOptions.failCondition` | `string` | JsonPath expression that determines if the request failed. |   |
| `base.options.asyncOptions[].pollingOptions.finishCondition` | `string` | JsonPath expression that determines if the request is completed. |   |
| `base.options.asyncOptions[].pollingOptions.pollingLink` | `string` | JsonPath expression that evaluates to string, it indicates where to poll. |   |
| `base.options.asyncOptions[].pollingOptions.targetLink` | `string` | JsonPath expression, after polling is completed, indicates where to fetch the resource. |   |
| `base.options.inputMappings[]` | `list` | The mappings that apply for requests. |   |
| `base.options.inputMappings[].fieldName` | `string` | The name of the field that is going to be injected. |   |
| `base.options.inputMappings[].location` | `string` | The location where this mapping applies. |   |
| `base.options.inputMappings[].methodMatch` | `string` | Regex to evaluate on method to decide if input applies. |   |
| `base.options.inputMappings[].value` | `string` | A jsonPath expression to select an element. |   |
| `base.options.validationOptions` | `nested object` | Options for how to validate and process properties on a resource. |   |
| `base.options.validationOptions.schemaValidation` | `string` | Customize how deployment manager will validate the resource against schema errors. |   |
| `base.options.validationOptions.undeclaredProperties` | `string` | Specify what to do with extra properties when executing a request. |   |
| `base.options.virtualProperties` | `string` | Additional properties block described as a jsonSchema, these properties will never be part of the json payload, but they can be consumed by InputMappings, this must be a valid json schema draft-04. The properties specified here will be decouple in a different section. This schema will be merged to the schema validation, and properties here will be extracted From the payload and consumed explicitly by InputMappings. ex: field1: type: string field2: type: number |   |
| `description` | `string` | An optional textual description of the resource; provided by the client when the resource is created. |   |
| `id` | `unsigned long` |   |   |
| `insertTime` | `string` | Output only. Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |   |
| `labels[]` | `list` | Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \`\[a-z\](\[-a-z0-9\]\*\[a-z0-9\])?\` Label values must be between 0 and 63 characters long and must conform to the regular expression \`(\[a-z\](\[-a-z0-9\]\*\[a-z0-9\])?)?\`. |   |
| `labels[].key` | `string` |   |   |
| `labels[].value` | `string` |   |   |
| `name` | `string` | Name of the type. |   |
| `operation` | `nested object` | Output only. The Operation that most recently ran, or is currently running, on this type. |   |
| `selfLink` | `string` | Output only. Server defined URL for the resource. |   |

## Methods

[list](https://docs.cloud.google.com/deployment-manager/docs/reference/v2beta/types/list)
:   Lists all resource types for Deployment Manager.