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

# gcp_gkemulticloud_aws_node_pool{% #gcp_gkemulticloud_aws_node_pool %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `annotations`{% #annotations %}

**Type**: `MAP_STRING_STRING`**Provider name**: `annotations`**Description**: Optional. Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.

## `autoscaling`{% #autoscaling %}

**Type**: `STRUCT`**Provider name**: `autoscaling`**Description**: Required. Autoscaler configuration for this node pool.

- `max_node_count`**Type**: `INT32`**Provider name**: `maxNodeCount`**Description**: Required. Maximum number of nodes in the node pool. Must be greater than or equal to min_node_count and less than or equal to 50.
- `min_node_count`**Type**: `INT32`**Provider name**: `minNodeCount`**Description**: Required. Minimum number of nodes in the node pool. Must be greater than or equal to 1 and less than or equal to max_node_count.

## `config`{% #config %}

**Type**: `STRUCT`**Provider name**: `config`**Description**: Required. The configuration of the node pool.

- `autoscaling_metrics_collection`**Type**: `STRUCT`**Provider name**: `autoscalingMetricsCollection`**Description**: Optional. Configuration related to CloudWatch metrics collection on the Auto Scaling group of the node pool. When unspecified, metrics collection is disabled.
  - `granularity`**Type**: `STRING`**Provider name**: `granularity`**Description**: Required. The frequency at which EC2 Auto Scaling sends aggregated data to AWS CloudWatch. The only valid value is "1Minute".
  - `metrics`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `metrics`**Description**: Optional. The metrics to enable. For a list of valid metrics, see [https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html). If you specify Granularity and don't specify any metrics, all metrics are enabled.
- `config_encryption`**Type**: `STRUCT`**Provider name**: `configEncryption`**Description**: Required. Config encryption for user data.
  - `kms_key_arn`**Type**: `STRING`**Provider name**: `kmsKeyArn`**Description**: Required. The ARN of the AWS KMS key used to encrypt user data.
- `iam_instance_profile`**Type**: `STRING`**Provider name**: `iamInstanceProfile`**Description**: Required. The name or ARN of the AWS IAM instance profile to assign to nodes in the pool.
- `image_type`**Type**: `STRING`**Provider name**: `imageType`**Description**: Optional. The OS image type to use on node pool instances. Can be unspecified, or have a value of `ubuntu`. When unspecified, it defaults to `ubuntu`.
- `instance_placement`**Type**: `STRUCT`**Provider name**: `instancePlacement`**Description**: Optional. Placement related info for this node. When unspecified, the VPC's default tenancy will be used.
  - `tenancy`**Type**: `STRING`**Provider name**: `tenancy`**Description**: Required. The tenancy for instance.**Possible values**:
    - `TENANCY_UNSPECIFIED` - Not set.
    - `DEFAULT` - Use default VPC tenancy.
    - `DEDICATED` - Run a dedicated instance.
    - `HOST` - Launch this instance to a dedicated host.
- `instance_type`**Type**: `STRING`**Provider name**: `instanceType`**Description**: Optional. The EC2 instance type when creating on-Demand instances. If unspecified during node pool creation, a default will be chosen based on the node pool version, and assigned to this field.
- `proxy_config`**Type**: `STRUCT`**Provider name**: `proxyConfig`**Description**: Optional. Proxy configuration for outbound HTTP(S) traffic.
  - `secret_arn`**Type**: `STRING`**Provider name**: `secretArn`**Description**: The ARN of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration. The secret must be a JSON encoded proxy configuration as described in [https://cloud.google.com/kubernetes-engine/multi-cloud/docs/aws/how-to/use-a-proxy#create_a_proxy_configuration_file](https://cloud.google.com/kubernetes-engine/multi-cloud/docs/aws/how-to/use-a-proxy#create_a_proxy_configuration_file)
  - `secret_version`**Type**: `STRING`**Provider name**: `secretVersion`**Description**: The version string of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration.
- `root_volume`**Type**: `STRUCT`**Provider name**: `rootVolume`**Description**: Optional. Template for the root volume provisioned for node pool nodes. Volumes will be provisioned in the availability zone assigned to the node pool subnet. When unspecified, it defaults to 32 GiB with the GP2 volume type.
  - `iops`**Type**: `INT32`**Provider name**: `iops`**Description**: Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.
  - `kms_key_arn`**Type**: `STRING`**Provider name**: `kmsKeyArn`**Description**: Optional. The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.
  - `size_gib`**Type**: `INT32`**Provider name**: `sizeGib`**Description**: Optional. The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
  - `throughput`**Type**: `INT32`**Provider name**: `throughput`**Description**: Optional. The throughput that the volume supports, in MiB/s. Only valid if volume_type is GP3. If the volume_type is GP3 and this is not specified, it defaults to 125.
  - `volume_type`**Type**: `STRING`**Provider name**: `volumeType`**Description**: Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume.**Possible values**:
    - `VOLUME_TYPE_UNSPECIFIED` - Not set.
    - `GP2` - GP2 (General Purpose SSD volume type).
    - `GP3` - GP3 (General Purpose SSD volume type).
- `security_group_ids`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `securityGroupIds`**Description**: Optional. The IDs of additional security groups to add to nodes in this pool. The manager will automatically create security groups with minimum rules needed for a functioning cluster.
- `spot_config`**Type**: `STRUCT`**Provider name**: `spotConfig`**Description**: Optional. Configuration for provisioning EC2 Spot instances When specified, the node pool will provision Spot instances from the set of spot_config.instance_types. This field is mutually exclusive with `instance_type`.
  - `instance_types`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `instanceTypes`**Description**: Required. A list of instance types for creating spot node pool.
- `ssh_config`**Type**: `STRUCT`**Provider name**: `sshConfig`**Description**: Optional. The SSH configuration.
  - `ec2_key_pair`**Type**: `STRING`**Provider name**: `ec2KeyPair`**Description**: Required. The name of the EC2 key pair used to login into cluster machines.
- `taints`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `taints`**Description**: Optional. The initial taints assigned to nodes of this node pool.
  - `effect`**Type**: `STRING`**Provider name**: `effect`**Description**: Required. The taint effect.**Possible values**:
    - `EFFECT_UNSPECIFIED` - Not set.
    - `NO_SCHEDULE` - Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running. Enforced by the scheduler.
    - `PREFER_NO_SCHEDULE` - Like TaintEffectNoSchedule, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.
    - `NO_EXECUTE` - Evict any already-running pods that do not tolerate the taint. Currently enforced by NodeController.
  - `key`**Type**: `STRING`**Provider name**: `key`**Description**: Required. Key for the taint.
  - `value`**Type**: `STRING`**Provider name**: `value`**Description**: Required. Value for the taint.

## `create_time`{% #create_time %}

**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: Output only. The time at which this node pool was created.

## `errors`{% #errors %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `errors`**Description**: Output only. A set of errors found in the node pool.

- `message`**Type**: `STRING`**Provider name**: `message`**Description**: Human-friendly description of the error.

## `etag`{% #etag %}

**Type**: `STRING`**Provider name**: `etag`**Description**: Allows clients to perform consistent read-modify-writes through optimistic concurrency control. Can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.

## `kubelet_config`{% #kubelet_config %}

**Type**: `STRUCT`**Provider name**: `kubeletConfig`**Description**: Optional. Node kubelet configs.

- `cpu_cfs_quota`**Type**: `BOOLEAN`**Provider name**: `cpuCfsQuota`**Description**: Optional. Enable CPU CFS quota enforcement for containers that specify CPU limits. This option is enabled by default which makes kubelet use CFS quota ([https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt](https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt)) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified.
- `cpu_cfs_quota_period`**Type**: `STRING`**Provider name**: `cpuCfsQuotaPeriod`**Description**: Optional. Set the CPU CFS quota period value 'cpu.cfs_period_us'. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must be a positive duration. The default value is '100ms' if unspecified.
- `cpu_manager_policy`**Type**: `STRING`**Provider name**: `cpuManagerPolicy`**Description**: Optional. Control the CPU management policy on the node. See [https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/) The following values are allowed. * "none": the default, which represents the existing scheduling behavior. * "static": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.
- `insecure_kubelet_readonly_port_enabled`**Type**: `BOOLEAN`**Provider name**: `insecureKubeletReadonlyPortEnabled`**Description**: Optional. Enable the insecure kubelet read only port.
- `pod_pids_limit`**Type**: `INT64`**Provider name**: `podPidsLimit`**Description**: Optional. Set the Pod PID limits. See [https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits](https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits) Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `management`{% #management %}

**Type**: `STRUCT`**Provider name**: `management`**Description**: Optional. The Management configuration for this node pool.

- `auto_repair`**Type**: `BOOLEAN`**Provider name**: `autoRepair`**Description**: Optional. Whether or not the nodes will be automatically repaired. When set to true, the nodes in this node pool will be monitored and if they fail health checks consistently over a period of time, an automatic repair action will be triggered to replace them with new nodes.

## `max_pods_constraint`{% #max_pods_constraint %}

**Type**: `STRUCT`**Provider name**: `maxPodsConstraint`**Description**: Required. The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool.

- `max_pods_per_node`**Type**: `INT64`**Provider name**: `maxPodsPerNode`**Description**: Required. The maximum number of pods to schedule on a single node.

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: The name of this resource. Node pool names are formatted as `projects//locations//awsClusters//awsNodePools/`. For more details on Google Cloud resource names, see [Resource Names](https://cloud.google.com/apis/design/resource_names)

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `parent`{% #parent %}

**Type**: `STRING`

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `reconciling`{% #reconciling %}

**Type**: `BOOLEAN`**Provider name**: `reconciling`**Description**: Output only. If set, there are currently changes in flight to the node pool.

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `state`{% #state %}

**Type**: `STRING`**Provider name**: `state`**Description**: Output only. The lifecycle state of the node pool.**Possible values**:

- `STATE_UNSPECIFIED` - Not set.
- `PROVISIONING` - The PROVISIONING state indicates the node pool is being created.
- `RUNNING` - The RUNNING state indicates the node pool has been created and is fully usable.
- `RECONCILING` - The RECONCILING state indicates that the node pool is being reconciled.
- `STOPPING` - The STOPPING state indicates the node pool is being deleted.
- `ERROR` - The ERROR state indicates the node pool is in a broken unrecoverable state.
- `DEGRADED` - The DEGRADED state indicates the node pool requires user action to restore full functionality.

## `subnet_id`{% #subnet_id %}

**Type**: `STRING`**Provider name**: `subnetId`**Description**: Required. The subnet where the node pool node run.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `uid`{% #uid %}

**Type**: `STRING`**Provider name**: `uid`**Description**: Output only. A globally unique identifier for the node pool.

## `update_settings`{% #update_settings %}

**Type**: `STRUCT`**Provider name**: `updateSettings`**Description**: Optional. Update settings control the speed and disruption of the update.

- `surge_settings`**Type**: `STRUCT`**Provider name**: `surgeSettings`**Description**: Optional. Settings for surge update.
  - `max_surge`**Type**: `INT32`**Provider name**: `maxSurge`**Description**: Optional. The maximum number of nodes that can be created beyond the current size of the node pool during the update process.
  - `max_unavailable`**Type**: `INT32`**Provider name**: `maxUnavailable`**Description**: Optional. The maximum number of nodes that can be simultaneously unavailable during the update process. A node is considered unavailable if its status is not Ready.

## `update_time`{% #update_time %}

**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Output only. The time at which this node pool was last updated.

## `version`{% #version %}

**Type**: `STRING`**Provider name**: `version`**Description**: Required. The Kubernetes version to run on this node pool (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAwsServerConfig.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
