Skip to content

googleGkehubFeature

Contains information about a GKEHub Feature. The google_gke_hub is the Fleet API.

\~> Warning: This resource is in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.

Example Usage - Multi Cluster Ingress

/*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.*/
const googleContainerClusterCluster =
  new google.containerCluster.ContainerCluster(this, "cluster", {
    initial_node_count: 1,
    location: "us-central1-a",
    name: "my-cluster",
    provider: "${google-beta}",
  });
const googleGkeHubMembershipMembership =
  new google.gkeHubMembership.GkeHubMembership(this, "membership", {
    description: "Membership",
    endpoint: [
      {
        gke_cluster: [
          {
            resource_link: `//container.googleapis.com/\${${googleContainerClusterCluster.id}}`,
          },
        ],
      },
    ],
    membership_id: "my-membership",
    provider: "${google-beta}",
  });
new google.gkeHubFeature.GkeHubFeature(this, "feature", {
  location: "global",
  name: "multiclusteringress",
  provider: "${google-beta}",
  spec: [
    {
      multiclusteringress: [
        {
          config_membership: googleGkeHubMembershipMembership.id,
        },
      ],
    },
  ],
});

Example Usage - Multi Cluster Service Discovery

/*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.gkeHubFeature.GkeHubFeature(this, "feature", {
  labels: [
    {
      foo: "bar",
    },
  ],
  location: "global",
  name: "multiclusterservicediscovery",
  provider: "${google-beta}",
});

Example Usage - Enable Anthos Service Mesh

/*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.gkeHubFeature.GkeHubFeature(this, "feature", {
  location: "global",
  name: "servicemesh",
  provider: "${google-beta}",
});

Argument Reference

The following arguments are supported:

  • location - (Required) The location for the resource

  • labels - (Optional) GCP labels for this Feature.

  • name - (Optional) The full, unique name of this Feature resource

  • project - (Optional) The project for the resource

  • spec - (Optional) Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.

The spec block supports:

  • multiclusteringress - (Optional) Multicluster Ingress-specific spec. The multiclusteringress block supports:

  • configMembership - (Optional) Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: projects/fooProj/locations/global/memberships/bar

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/{{location}}/features/{{name}}

  • createTime - Output only. When the Feature resource was created.

  • deleteTime - Output only. When the Feature resource was deleted.

  • updateTime - Output only. When the Feature resource was last updated.

Timeouts

This resource provides the following Timeouts configuration options: configuration options:

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

Import

Feature can be imported using any of these accepted formats:

$ terraform import google_gke_hub_feature.default projects/{{project}}/locations/{{location}}/features/{{name}}
$ terraform import google_gke_hub_feature.default {{project}}/{{location}}/{{name}}
$ terraform import google_gke_hub_feature.default {{location}}/{{name}}