ApiHubInstanceArgs

data class ApiHubInstanceArgs(val apiHubInstanceId: Output<String>? = null, val config: Output<ApiHubInstanceConfigArgs>? = null, val description: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val location: Output<String>? = null, val project: Output<String>? = null) : ConvertibleToJava<ApiHubInstanceArgs>

An ApiHubInstance represents the instance resources of the API Hub. Currently, only one ApiHub instance is allowed for each project. Currently, updation/deletion of ApiHub instance is not allowed.

Example Usage

Apihub Api Hub Instance Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const apihub_instance_without_search = new gcp.apihub.ApiHubInstance("apihub-instance-without-search", {
location: "us-central1",
config: {
disableSearch: true,
},
});
import pulumi
import pulumi_gcp as gcp
apihub_instance_without_search = gcp.apihub.ApiHubInstance("apihub-instance-without-search",
location="us-central1",
config={
"disable_search": True,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var apihub_instance_without_search = new Gcp.ApiHub.ApiHubInstance("apihub-instance-without-search", new()
{
Location = "us-central1",
Config = new Gcp.ApiHub.Inputs.ApiHubInstanceConfigArgs
{
DisableSearch = true,
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/apihub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apihub.NewApiHubInstance(ctx, "apihub-instance-without-search", &apihub.ApiHubInstanceArgs{
Location: pulumi.String("us-central1"),
Config: &apihub.ApiHubInstanceConfigArgs{
DisableSearch: pulumi.Bool(true),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.apihub.ApiHubInstance;
import com.pulumi.gcp.apihub.ApiHubInstanceArgs;
import com.pulumi.gcp.apihub.inputs.ApiHubInstanceConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var apihub_instance_without_search = new ApiHubInstance("apihub-instance-without-search", ApiHubInstanceArgs.builder()
.location("us-central1")
.config(ApiHubInstanceConfigArgs.builder()
.disableSearch(true)
.build())
.build());
}
}
resources:
apihub-instance-without-search:
type: gcp:apihub:ApiHubInstance
properties:
location: us-central1
config:
disableSearch: true

Apihub Api Hub Instance Full

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const apihub_instance_search = new gcp.apihub.ApiHubInstance("apihub-instance-search", {
project: "my-project",
apiHubInstanceId: "test-instance-full",
description: "Test API hub instance",
location: "us-central1",
config: {
encryptionType: "CMEK",
cmekKeyName: "projects/my-project/locations/us-central1/keyRings/apihub/cryptoKeys/apihub-key",
disableSearch: false,
vertexLocation: "us",
},
labels: {
environment: "dev",
},
});
import pulumi
import pulumi_gcp as gcp
apihub_instance_search = gcp.apihub.ApiHubInstance("apihub-instance-search",
project="my-project",
api_hub_instance_id="test-instance-full",
description="Test API hub instance",
location="us-central1",
config={
"encryption_type": "CMEK",
"cmek_key_name": "projects/my-project/locations/us-central1/keyRings/apihub/cryptoKeys/apihub-key",
"disable_search": False,
"vertex_location": "us",
},
labels={
"environment": "dev",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var apihub_instance_search = new Gcp.ApiHub.ApiHubInstance("apihub-instance-search", new()
{
Project = "my-project",
ApiHubInstanceId = "test-instance-full",
Description = "Test API hub instance",
Location = "us-central1",
Config = new Gcp.ApiHub.Inputs.ApiHubInstanceConfigArgs
{
EncryptionType = "CMEK",
CmekKeyName = "projects/my-project/locations/us-central1/keyRings/apihub/cryptoKeys/apihub-key",
DisableSearch = false,
VertexLocation = "us",
},
Labels =
{
{ "environment", "dev" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/apihub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apihub.NewApiHubInstance(ctx, "apihub-instance-search", &apihub.ApiHubInstanceArgs{
Project: pulumi.String("my-project"),
ApiHubInstanceId: pulumi.String("test-instance-full"),
Description: pulumi.String("Test API hub instance"),
Location: pulumi.String("us-central1"),
Config: &apihub.ApiHubInstanceConfigArgs{
EncryptionType: pulumi.String("CMEK"),
CmekKeyName: pulumi.String("projects/my-project/locations/us-central1/keyRings/apihub/cryptoKeys/apihub-key"),
DisableSearch: pulumi.Bool(false),
VertexLocation: pulumi.String("us"),
},
Labels: pulumi.StringMap{
"environment": pulumi.String("dev"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.apihub.ApiHubInstance;
import com.pulumi.gcp.apihub.ApiHubInstanceArgs;
import com.pulumi.gcp.apihub.inputs.ApiHubInstanceConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var apihub_instance_search = new ApiHubInstance("apihub-instance-search", ApiHubInstanceArgs.builder()
.project("my-project")
.apiHubInstanceId("test-instance-full")
.description("Test API hub instance")
.location("us-central1")
.config(ApiHubInstanceConfigArgs.builder()
.encryptionType("CMEK")
.cmekKeyName("projects/my-project/locations/us-central1/keyRings/apihub/cryptoKeys/apihub-key")
.disableSearch(false)
.vertexLocation("us")
.build())
.labels(Map.of("environment", "dev"))
.build());
}
}
resources:
apihub-instance-search:
type: gcp:apihub:ApiHubInstance
properties:
project: my-project
apiHubInstanceId: test-instance-full
description: Test API hub instance
location: us-central1
config:
encryptionType: CMEK
cmekKeyName: projects/my-project/locations/us-central1/keyRings/apihub/cryptoKeys/apihub-key
disableSearch: false
vertexLocation: us
labels:
environment: dev

Import

ApiHubInstance can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/apiHubInstances/{{api_hub_instance_id}}

  • {{project}}/{{location}}/{{api_hub_instance_id}}

  • {{location}}/{{api_hub_instance_id}} When using the pulumi import command, ApiHubInstance can be imported using one of the formats above. For example:

$ pulumi import gcp:apihub/apiHubInstance:ApiHubInstance default projects/{{project}}/locations/{{location}}/apiHubInstances/{{api_hub_instance_id}}
$ pulumi import gcp:apihub/apiHubInstance:ApiHubInstance default {{project}}/{{location}}/{{api_hub_instance_id}}
$ pulumi import gcp:apihub/apiHubInstance:ApiHubInstance default {{location}}/{{api_hub_instance_id}}

Constructors

Link copied to clipboard
constructor(apiHubInstanceId: Output<String>? = null, config: Output<ApiHubInstanceConfigArgs>? = null, description: Output<String>? = null, labels: Output<Map<String, String>>? = null, location: Output<String>? = null, project: Output<String>? = null)

Properties

Link copied to clipboard
val apiHubInstanceId: Output<String>? = null

Optional. Identifier to assign to the Api Hub instance. Must be unique within scope of the parent resource. If the field is not provided, system generated id will be used. This value should be 4-40 characters, and valid characters are '/a-z0-9-_/'.

Link copied to clipboard
val config: Output<ApiHubInstanceConfigArgs>? = null

Available configurations to provision an ApiHub Instance. Structure is documented below.

Link copied to clipboard
val description: Output<String>? = null

Optional. Description of the ApiHub instance.

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

Optional. Instance labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.

Link copied to clipboard
val location: Output<String>? = null

Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.

Link copied to clipboard
val project: Output<String>? = null

Functions

Link copied to clipboard
open override fun toJava(): ApiHubInstanceArgs