Skip to content

googleVertexAiFeaturestore

A collection of DataItems and Annotations on them.

To get more information about Featurestore, see:

Example Usage - Vertex Ai Featurestore

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google.
For a more precise conversion please use the --provider flag in convert.*/
new google.vertexAiFeaturestore.VertexAiFeaturestore(this, "featurestore", {
  encryption_spec: [
    {
      kms_key_name: "kms-name",
    },
  ],
  force_destroy: true,
  labels: [
    {
      foo: "bar",
    },
  ],
  name: "terraform",
  online_serving_config: [
    {
      fixed_node_count: 2,
    },
  ],
  region: "us-central1",
});

Example Usage - Vertex Ai Featurestore With Beta Fields

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google.
For a more precise conversion please use the --provider flag in convert.*/
new google.vertexAiFeaturestore.VertexAiFeaturestore(this, "featurestore", {
  encryption_spec: [
    {
      kms_key_name: "kms-name",
    },
  ],
  force_destroy: true,
  labels: [
    {
      foo: "bar",
    },
  ],
  name: "terraform2",
  online_serving_config: [
    {
      fixed_node_count: 2,
    },
  ],
  online_storage_ttl_days: 30,
  provider: "${google-beta}",
  region: "us-central1",
});

Example Usage - Vertex Ai Featurestore Scaling

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google.
For a more precise conversion please use the --provider flag in convert.*/
new google.vertexAiFeaturestore.VertexAiFeaturestore(this, "featurestore", {
  encryption_spec: [
    {
      kms_key_name: "kms-name",
    },
  ],
  force_destroy: true,
  labels: [
    {
      foo: "bar",
    },
  ],
  name: "terraform3",
  online_serving_config: [
    {
      scaling: [
        {
          max_node_count: 10,
          min_node_count: 2,
        },
      ],
    },
  ],
  region: "us-central1",
});

Argument Reference

The following arguments are supported:


  • name - (Optional) The name of the Featurestore. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.

  • labels - (Optional) A set of key/value label pairs to assign to this Featurestore.

  • onlineServingConfig - (Optional) Config for online serving resources. Structure is documented below.

  • onlineStorageTtlDays - (Optional, Beta) TTL in days for feature values that will be stored in online serving storage. The Feature Store online storage periodically removes obsolete feature values older than onlineStorageTtlDays since the feature generation time. Note that onlineStorageTtlDays should be less than or equal to offlineStorageTtlDays for each EntityType under a featurestore. If not set, default to 4000 days

  • encryptionSpec - (Optional) If set, both of the online and offline data storage will be secured by this key. Structure is documented below.

  • region - (Optional) The region of the dataset. eg us-central1

  • project - (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • forceDestroy - (Optional) If set to true, any EntityTypes and Features for this Featurestore will also be deleted

The onlineServingConfig block supports:

  • fixedNodeCount - (Optional) The number of nodes for each cluster. The number of nodes will not scale automatically but can be scaled manually by providing different values when updating.

  • scaling - (Optional) Online serving scaling configuration. Only one of fixedNodeCount and scaling can be set. Setting one will reset the other. Structure is documented below.

The scaling block supports:

  • minNodeCount - (Required) The minimum number of nodes to scale down to. Must be greater than or equal to 1.

  • maxNodeCount - (Required) The maximum number of nodes to scale up to. Must be greater than minNodeCount, and less than or equal to 10 times of 'minNodeCount'.

The encryptionSpec block supports:

  • kmsKeyName - (Required) The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • id - an identifier for the resource with format projects/{{project}}/locations/{{region}}/featurestores/{{name}}

  • etag - Used to perform consistent read-modify-write updates.

  • createTime - The timestamp of when the featurestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

  • updateTime - The timestamp of when the featurestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 20 minutes.
  • update - Default is 20 minutes.
  • delete - Default is 20 minutes.

Import

Featurestore can be imported using any of these accepted formats:

$ terraform import google_vertex_ai_featurestore.default projects/{{project}}/locations/{{region}}/featurestores/{{name}}
$ terraform import google_vertex_ai_featurestore.default {{project}}/{{region}}/{{name}}
$ terraform import google_vertex_ai_featurestore.default {{region}}/{{name}}
$ terraform import google_vertex_ai_featurestore.default {{name}}

User Project Overrides

This resource supports User Project Overrides.