LogicalViewArgs

data class LogicalViewArgs(val instance: Output<String>? = null, val logicalViewId: Output<String>? = null, val project: Output<String>? = null, val query: Output<String>? = null) : ConvertibleToJava<LogicalViewArgs>

A logical view object that can be referenced in SQL queries. To get more information about LogicalView, see:

Example Usage

Bigtable Logical View

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.bigtable.Instance("instance", {
name: "bt-instance",
clusters: [{
clusterId: "cluster-1",
zone: "us-east1-b",
numNodes: 3,
storageType: "HDD",
}],
deletionProtection: false,
});
const table = new gcp.bigtable.Table("table", {
name: "bt-table",
instanceName: instance.name,
columnFamilies: [{
family: "CF",
}],
});
const logicalView = new gcp.bigtable.LogicalView("logical_view", {
logicalViewId: "bt-logical-view",
instance: instance.name,
query: `SELECT _key, CF
FROM \` + "\`bt-table\`" + \`
`,
}, {
dependsOn: [table],
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.bigtable.Instance("instance",
name="bt-instance",
clusters=[{
"cluster_id": "cluster-1",
"zone": "us-east1-b",
"num_nodes": 3,
"storage_type": "HDD",
}],
deletion_protection=False)
table = gcp.bigtable.Table("table",
name="bt-table",
instance_name=instance.name,
column_families=[{
"family": "CF",
}])
logical_view = gcp.bigtable.LogicalView("logical_view",
logical_view_id="bt-logical-view",
instance=instance.name,
query="""SELECT _key, CF
FROM ` + "`bt-table`" + `
""",
opts = pulumi.ResourceOptions(depends_on=[table]))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var instance = new Gcp.BigTable.Instance("instance", new()
{
Name = "bt-instance",
Clusters = new[]
{
new Gcp.BigTable.Inputs.InstanceClusterArgs
{
ClusterId = "cluster-1",
Zone = "us-east1-b",
NumNodes = 3,
StorageType = "HDD",
},
},
DeletionProtection = false,
});
var table = new Gcp.BigTable.Table("table", new()
{
Name = "bt-table",
InstanceName = instance.Name,
ColumnFamilies = new[]
{
new Gcp.BigTable.Inputs.TableColumnFamilyArgs
{
Family = "CF",
},
},
});
var logicalView = new Gcp.BigTable.LogicalView("logical_view", new()
{
LogicalViewId = "bt-logical-view",
Instance = instance.Name,
Query = @"SELECT _key, CF
FROM ` + ""`bt-table`"" + `
",
}, new CustomResourceOptions
{
DependsOn =
{
table,
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigtable"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
instance, err := bigtable.NewInstance(ctx, "instance", &bigtable.InstanceArgs{
Name: pulumi.String("bt-instance"),
Clusters: bigtable.InstanceClusterArray{
&bigtable.InstanceClusterArgs{
ClusterId: pulumi.String("cluster-1"),
Zone: pulumi.String("us-east1-b"),
NumNodes: pulumi.Int(3),
StorageType: pulumi.String("HDD"),
},
},
DeletionProtection: pulumi.Bool(false),
})
if err != nil {
return err
}
table, err := bigtable.NewTable(ctx, "table", &bigtable.TableArgs{
Name: pulumi.String("bt-table"),
InstanceName: instance.Name,
ColumnFamilies: bigtable.TableColumnFamilyArray{
&bigtable.TableColumnFamilyArgs{
Family: pulumi.String("CF"),
},
},
})
if err != nil {
return err
}
_, err = bigtable.NewLogicalView(ctx, "logical_view", &bigtable.LogicalViewArgs{
LogicalViewId: pulumi.String("bt-logical-view"),
Instance: instance.Name,
Query: pulumi.String("SELECT _key, CF\nFROM ` + \"`bt-table`\" + `\n"),
}, pulumi.DependsOn([]pulumi.Resource{
table,
}))
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.bigtable.Instance;
import com.pulumi.gcp.bigtable.InstanceArgs;
import com.pulumi.gcp.bigtable.inputs.InstanceClusterArgs;
import com.pulumi.gcp.bigtable.Table;
import com.pulumi.gcp.bigtable.TableArgs;
import com.pulumi.gcp.bigtable.inputs.TableColumnFamilyArgs;
import com.pulumi.gcp.bigtable.LogicalView;
import com.pulumi.gcp.bigtable.LogicalViewArgs;
import com.pulumi.resources.CustomResourceOptions;
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 instance = new Instance("instance", InstanceArgs.builder()
.name("bt-instance")
.clusters(InstanceClusterArgs.builder()
.clusterId("cluster-1")
.zone("us-east1-b")
.numNodes(3)
.storageType("HDD")
.build())
.deletionProtection(false)
.build());
var table = new Table("table", TableArgs.builder()
.name("bt-table")
.instanceName(instance.name())
.columnFamilies(TableColumnFamilyArgs.builder()
.family("CF")
.build())
.build());
var logicalView = new LogicalView("logicalView", LogicalViewArgs.builder()
.logicalViewId("bt-logical-view")
.instance(instance.name())
.query("""
SELECT _key, CF
FROM ` + "`bt-table`" + `
""")
.build(), CustomResourceOptions.builder()
.dependsOn(table)
.build());
}
}
resources:
instance:
type: gcp:bigtable:Instance
properties:
name: bt-instance
clusters:
- clusterId: cluster-1
zone: us-east1-b
numNodes: 3
storageType: HDD
deletionProtection: false
table:
type: gcp:bigtable:Table
properties:
name: bt-table
instanceName: ${instance.name}
columnFamilies:
- family: CF
logicalView:
type: gcp:bigtable:LogicalView
name: logical_view
properties:
logicalViewId: bt-logical-view
instance: ${instance.name}
query: |
SELECT _key, CF
FROM ` + "`bt-table`" + `
options:
dependsOn:
- ${table}

Import

LogicalView can be imported using any of these accepted formats:

  • projects/{{project}}/instances/{{instance}}/logicalViews/{{logical_view_id}}

  • {{project}}/{{instance}}/{{logical_view_id}}

  • {{instance}}/{{logical_view_id}} When using the pulumi import command, LogicalView can be imported using one of the formats above. For example:

$ pulumi import gcp:bigtable/logicalView:LogicalView default projects/{{project}}/instances/{{instance}}/logicalViews/{{logical_view_id}}
$ pulumi import gcp:bigtable/logicalView:LogicalView default {{project}}/{{instance}}/{{logical_view_id}}
$ pulumi import gcp:bigtable/logicalView:LogicalView default {{instance}}/{{logical_view_id}}

Constructors

Link copied to clipboard
constructor(instance: Output<String>? = null, logicalViewId: Output<String>? = null, project: Output<String>? = null, query: Output<String>? = null)

Properties

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

The name of the instance to create the logical view within.

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

The unique name of the logical view in the form [_a-zA-Z0-9][-_&#46;a-zA-Z0-9]*.

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

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

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

The logical view's select query.

Functions

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