1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. datafusion
  5. Instance
Google Cloud Classic v7.11.2 published on Wednesday, Feb 28, 2024 by Pulumi

gcp.datafusion.Instance

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.11.2 published on Wednesday, Feb 28, 2024 by Pulumi

    Represents a Data Fusion instance.

    To get more information about Instance, see:

    Example Usage

    Data Fusion Instance Basic

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var basicInstance = new Gcp.DataFusion.Instance("basic_instance", new()
        {
            Name = "my-instance",
            Region = "us-central1",
            Type = "BASIC",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datafusion"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := datafusion.NewInstance(ctx, "basic_instance", &datafusion.InstanceArgs{
    			Name:   pulumi.String("my-instance"),
    			Region: pulumi.String("us-central1"),
    			Type:   pulumi.String("BASIC"),
    		})
    		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.datafusion.Instance;
    import com.pulumi.gcp.datafusion.InstanceArgs;
    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 basicInstance = new Instance("basicInstance", InstanceArgs.builder()        
                .name("my-instance")
                .region("us-central1")
                .type("BASIC")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    basic_instance = gcp.datafusion.Instance("basic_instance",
        name="my-instance",
        region="us-central1",
        type="BASIC")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const basicInstance = new gcp.datafusion.Instance("basic_instance", {
        name: "my-instance",
        region: "us-central1",
        type: "BASIC",
    });
    
    resources:
      basicInstance:
        type: gcp:datafusion:Instance
        name: basic_instance
        properties:
          name: my-instance
          region: us-central1
          type: BASIC
    

    Data Fusion Instance Full

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = Gcp.AppEngine.GetDefaultServiceAccount.Invoke();
    
        var network = new Gcp.Compute.Network("network", new()
        {
            Name = "datafusion-full-network",
        });
    
        var privateIpAlloc = new Gcp.Compute.GlobalAddress("private_ip_alloc", new()
        {
            Name = "datafusion-ip-alloc",
            AddressType = "INTERNAL",
            Purpose = "VPC_PEERING",
            PrefixLength = 22,
            Network = network.Id,
        });
    
        var extendedInstance = new Gcp.DataFusion.Instance("extended_instance", new()
        {
            Name = "my-instance",
            Description = "My Data Fusion instance",
            DisplayName = "My Data Fusion instance",
            Region = "us-central1",
            Type = "BASIC",
            EnableStackdriverLogging = true,
            EnableStackdriverMonitoring = true,
            PrivateInstance = true,
            DataprocServiceAccount = @default.Apply(@default => @default.Apply(getDefaultServiceAccountResult => getDefaultServiceAccountResult.Email)),
            Labels = 
            {
                { "example_key", "example_value" },
            },
            NetworkConfig = new Gcp.DataFusion.Inputs.InstanceNetworkConfigArgs
            {
                Network = "default",
                IpAllocation = Output.Tuple(privateIpAlloc.Address, privateIpAlloc.PrefixLength).Apply(values =>
                {
                    var address = values.Item1;
                    var prefixLength = values.Item2;
                    return $"{address}/{prefixLength}";
                }),
            },
            Accelerators = new[]
            {
                new Gcp.DataFusion.Inputs.InstanceAcceleratorArgs
                {
                    AcceleratorType = "CDC",
                    State = "ENABLED",
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/appengine"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datafusion"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_default, err := appengine.GetDefaultServiceAccount(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
    			Name: pulumi.String("datafusion-full-network"),
    		})
    		if err != nil {
    			return err
    		}
    		privateIpAlloc, err := compute.NewGlobalAddress(ctx, "private_ip_alloc", &compute.GlobalAddressArgs{
    			Name:         pulumi.String("datafusion-ip-alloc"),
    			AddressType:  pulumi.String("INTERNAL"),
    			Purpose:      pulumi.String("VPC_PEERING"),
    			PrefixLength: pulumi.Int(22),
    			Network:      network.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datafusion.NewInstance(ctx, "extended_instance", &datafusion.InstanceArgs{
    			Name:                        pulumi.String("my-instance"),
    			Description:                 pulumi.String("My Data Fusion instance"),
    			DisplayName:                 pulumi.String("My Data Fusion instance"),
    			Region:                      pulumi.String("us-central1"),
    			Type:                        pulumi.String("BASIC"),
    			EnableStackdriverLogging:    pulumi.Bool(true),
    			EnableStackdriverMonitoring: pulumi.Bool(true),
    			PrivateInstance:             pulumi.Bool(true),
    			DataprocServiceAccount:      *pulumi.String(_default.Email),
    			Labels: pulumi.StringMap{
    				"example_key": pulumi.String("example_value"),
    			},
    			NetworkConfig: &datafusion.InstanceNetworkConfigArgs{
    				Network: pulumi.String("default"),
    				IpAllocation: pulumi.All(privateIpAlloc.Address, privateIpAlloc.PrefixLength).ApplyT(func(_args []interface{}) (string, error) {
    					address := _args[0].(string)
    					prefixLength := _args[1].(int)
    					return fmt.Sprintf("%v/%v", address, prefixLength), nil
    				}).(pulumi.StringOutput),
    			},
    			Accelerators: datafusion.InstanceAcceleratorArray{
    				&datafusion.InstanceAcceleratorArgs{
    					AcceleratorType: pulumi.String("CDC"),
    					State:           pulumi.String("ENABLED"),
    				},
    			},
    		})
    		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.appengine.AppengineFunctions;
    import com.pulumi.gcp.appengine.inputs.GetDefaultServiceAccountArgs;
    import com.pulumi.gcp.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.compute.GlobalAddress;
    import com.pulumi.gcp.compute.GlobalAddressArgs;
    import com.pulumi.gcp.datafusion.Instance;
    import com.pulumi.gcp.datafusion.InstanceArgs;
    import com.pulumi.gcp.datafusion.inputs.InstanceNetworkConfigArgs;
    import com.pulumi.gcp.datafusion.inputs.InstanceAcceleratorArgs;
    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) {
            final var default = AppengineFunctions.getDefaultServiceAccount();
    
            var network = new Network("network", NetworkArgs.builder()        
                .name("datafusion-full-network")
                .build());
    
            var privateIpAlloc = new GlobalAddress("privateIpAlloc", GlobalAddressArgs.builder()        
                .name("datafusion-ip-alloc")
                .addressType("INTERNAL")
                .purpose("VPC_PEERING")
                .prefixLength(22)
                .network(network.id())
                .build());
    
            var extendedInstance = new Instance("extendedInstance", InstanceArgs.builder()        
                .name("my-instance")
                .description("My Data Fusion instance")
                .displayName("My Data Fusion instance")
                .region("us-central1")
                .type("BASIC")
                .enableStackdriverLogging(true)
                .enableStackdriverMonitoring(true)
                .privateInstance(true)
                .dataprocServiceAccount(default_.email())
                .labels(Map.of("example_key", "example_value"))
                .networkConfig(InstanceNetworkConfigArgs.builder()
                    .network("default")
                    .ipAllocation(Output.tuple(privateIpAlloc.address(), privateIpAlloc.prefixLength()).applyValue(values -> {
                        var address = values.t1;
                        var prefixLength = values.t2;
                        return String.format("%s/%s", address,prefixLength);
                    }))
                    .build())
                .accelerators(InstanceAcceleratorArgs.builder()
                    .acceleratorType("CDC")
                    .state("ENABLED")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.appengine.get_default_service_account()
    network = gcp.compute.Network("network", name="datafusion-full-network")
    private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
        name="datafusion-ip-alloc",
        address_type="INTERNAL",
        purpose="VPC_PEERING",
        prefix_length=22,
        network=network.id)
    extended_instance = gcp.datafusion.Instance("extended_instance",
        name="my-instance",
        description="My Data Fusion instance",
        display_name="My Data Fusion instance",
        region="us-central1",
        type="BASIC",
        enable_stackdriver_logging=True,
        enable_stackdriver_monitoring=True,
        private_instance=True,
        dataproc_service_account=default.email,
        labels={
            "example_key": "example_value",
        },
        network_config=gcp.datafusion.InstanceNetworkConfigArgs(
            network="default",
            ip_allocation=pulumi.Output.all(private_ip_alloc.address, private_ip_alloc.prefix_length).apply(lambda address, prefix_length: f"{address}/{prefix_length}"),
        ),
        accelerators=[gcp.datafusion.InstanceAcceleratorArgs(
            accelerator_type="CDC",
            state="ENABLED",
        )])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const default = gcp.appengine.getDefaultServiceAccount({});
    const network = new gcp.compute.Network("network", {name: "datafusion-full-network"});
    const privateIpAlloc = new gcp.compute.GlobalAddress("private_ip_alloc", {
        name: "datafusion-ip-alloc",
        addressType: "INTERNAL",
        purpose: "VPC_PEERING",
        prefixLength: 22,
        network: network.id,
    });
    const extendedInstance = new gcp.datafusion.Instance("extended_instance", {
        name: "my-instance",
        description: "My Data Fusion instance",
        displayName: "My Data Fusion instance",
        region: "us-central1",
        type: "BASIC",
        enableStackdriverLogging: true,
        enableStackdriverMonitoring: true,
        privateInstance: true,
        dataprocServiceAccount: _default.then(_default => _default.email),
        labels: {
            example_key: "example_value",
        },
        networkConfig: {
            network: "default",
            ipAllocation: pulumi.interpolate`${privateIpAlloc.address}/${privateIpAlloc.prefixLength}`,
        },
        accelerators: [{
            acceleratorType: "CDC",
            state: "ENABLED",
        }],
    });
    
    resources:
      extendedInstance:
        type: gcp:datafusion:Instance
        name: extended_instance
        properties:
          name: my-instance
          description: My Data Fusion instance
          displayName: My Data Fusion instance
          region: us-central1
          type: BASIC
          enableStackdriverLogging: true
          enableStackdriverMonitoring: true
          privateInstance: true
          dataprocServiceAccount: ${default.email}
          labels:
            example_key: example_value
          networkConfig:
            network: default
            ipAllocation: ${privateIpAlloc.address}/${privateIpAlloc.prefixLength}
          accelerators:
            - acceleratorType: CDC
              state: ENABLED
      network:
        type: gcp:compute:Network
        properties:
          name: datafusion-full-network
      privateIpAlloc:
        type: gcp:compute:GlobalAddress
        name: private_ip_alloc
        properties:
          name: datafusion-ip-alloc
          addressType: INTERNAL
          purpose: VPC_PEERING
          prefixLength: 22
          network: ${network.id}
    variables:
      default:
        fn::invoke:
          Function: gcp:appengine:getDefaultServiceAccount
          Arguments: {}
    

    Data Fusion Instance Cmek

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var keyRing = new Gcp.Kms.KeyRing("key_ring", new()
        {
            Name = "my-instance",
            Location = "us-central1",
        });
    
        var cryptoKey = new Gcp.Kms.CryptoKey("crypto_key", new()
        {
            Name = "my-instance",
            KeyRing = keyRing.Id,
        });
    
        var cmek = new Gcp.DataFusion.Instance("cmek", new()
        {
            Name = "my-instance",
            Region = "us-central1",
            Type = "BASIC",
            CryptoKeyConfig = new Gcp.DataFusion.Inputs.InstanceCryptoKeyConfigArgs
            {
                KeyReference = cryptoKey.Id,
            },
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
        var cryptoKeyMember = new Gcp.Kms.CryptoKeyIAMMember("crypto_key_member", new()
        {
            CryptoKeyId = cryptoKey.Id,
            Role = "roles/cloudkms.cryptoKeyEncrypterDecrypter",
            Member = $"serviceAccount:service-{project.Apply(getProjectResult => getProjectResult.Number)}@gcp-sa-datafusion.iam.gserviceaccount.com",
        });
    
    });
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datafusion"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/kms"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		keyRing, err := kms.NewKeyRing(ctx, "key_ring", &kms.KeyRingArgs{
    			Name:     pulumi.String("my-instance"),
    			Location: pulumi.String("us-central1"),
    		})
    		if err != nil {
    			return err
    		}
    		cryptoKey, err := kms.NewCryptoKey(ctx, "crypto_key", &kms.CryptoKeyArgs{
    			Name:    pulumi.String("my-instance"),
    			KeyRing: keyRing.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datafusion.NewInstance(ctx, "cmek", &datafusion.InstanceArgs{
    			Name:   pulumi.String("my-instance"),
    			Region: pulumi.String("us-central1"),
    			Type:   pulumi.String("BASIC"),
    			CryptoKeyConfig: &datafusion.InstanceCryptoKeyConfigArgs{
    				KeyReference: cryptoKey.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		project, err := organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		_, err = kms.NewCryptoKeyIAMMember(ctx, "crypto_key_member", &kms.CryptoKeyIAMMemberArgs{
    			CryptoKeyId: cryptoKey.ID(),
    			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
    			Member:      pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcp-sa-datafusion.iam.gserviceaccount.com", project.Number)),
    		})
    		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.kms.KeyRing;
    import com.pulumi.gcp.kms.KeyRingArgs;
    import com.pulumi.gcp.kms.CryptoKey;
    import com.pulumi.gcp.kms.CryptoKeyArgs;
    import com.pulumi.gcp.datafusion.Instance;
    import com.pulumi.gcp.datafusion.InstanceArgs;
    import com.pulumi.gcp.datafusion.inputs.InstanceCryptoKeyConfigArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.kms.CryptoKeyIAMMember;
    import com.pulumi.gcp.kms.CryptoKeyIAMMemberArgs;
    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 keyRing = new KeyRing("keyRing", KeyRingArgs.builder()        
                .name("my-instance")
                .location("us-central1")
                .build());
    
            var cryptoKey = new CryptoKey("cryptoKey", CryptoKeyArgs.builder()        
                .name("my-instance")
                .keyRing(keyRing.id())
                .build());
    
            var cmek = new Instance("cmek", InstanceArgs.builder()        
                .name("my-instance")
                .region("us-central1")
                .type("BASIC")
                .cryptoKeyConfig(InstanceCryptoKeyConfigArgs.builder()
                    .keyReference(cryptoKey.id())
                    .build())
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
            var cryptoKeyMember = new CryptoKeyIAMMember("cryptoKeyMember", CryptoKeyIAMMemberArgs.builder()        
                .cryptoKeyId(cryptoKey.id())
                .role("roles/cloudkms.cryptoKeyEncrypterDecrypter")
                .member(String.format("serviceAccount:service-%s@gcp-sa-datafusion.iam.gserviceaccount.com", project.applyValue(getProjectResult -> getProjectResult.number())))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    key_ring = gcp.kms.KeyRing("key_ring",
        name="my-instance",
        location="us-central1")
    crypto_key = gcp.kms.CryptoKey("crypto_key",
        name="my-instance",
        key_ring=key_ring.id)
    cmek = gcp.datafusion.Instance("cmek",
        name="my-instance",
        region="us-central1",
        type="BASIC",
        crypto_key_config=gcp.datafusion.InstanceCryptoKeyConfigArgs(
            key_reference=crypto_key.id,
        ))
    project = gcp.organizations.get_project()
    crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
        crypto_key_id=crypto_key.id,
        role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
        member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const keyRing = new gcp.kms.KeyRing("key_ring", {
        name: "my-instance",
        location: "us-central1",
    });
    const cryptoKey = new gcp.kms.CryptoKey("crypto_key", {
        name: "my-instance",
        keyRing: keyRing.id,
    });
    const cmek = new gcp.datafusion.Instance("cmek", {
        name: "my-instance",
        region: "us-central1",
        type: "BASIC",
        cryptoKeyConfig: {
            keyReference: cryptoKey.id,
        },
    });
    const project = gcp.organizations.getProject({});
    const cryptoKeyMember = new gcp.kms.CryptoKeyIAMMember("crypto_key_member", {
        cryptoKeyId: cryptoKey.id,
        role: "roles/cloudkms.cryptoKeyEncrypterDecrypter",
        member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-datafusion.iam.gserviceaccount.com`),
    });
    
    resources:
      cmek:
        type: gcp:datafusion:Instance
        properties:
          name: my-instance
          region: us-central1
          type: BASIC
          cryptoKeyConfig:
            keyReference: ${cryptoKey.id}
      cryptoKey:
        type: gcp:kms:CryptoKey
        name: crypto_key
        properties:
          name: my-instance
          keyRing: ${keyRing.id}
      keyRing:
        type: gcp:kms:KeyRing
        name: key_ring
        properties:
          name: my-instance
          location: us-central1
      cryptoKeyMember:
        type: gcp:kms:CryptoKeyIAMMember
        name: crypto_key_member
        properties:
          cryptoKeyId: ${cryptoKey.id}
          role: roles/cloudkms.cryptoKeyEncrypterDecrypter
          member: serviceAccount:service-${project.number}@gcp-sa-datafusion.iam.gserviceaccount.com
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Data Fusion Instance Enterprise

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var enterpriseInstance = new Gcp.DataFusion.Instance("enterprise_instance", new()
        {
            Name = "my-instance",
            Region = "us-central1",
            Type = "ENTERPRISE",
            EnableRbac = true,
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datafusion"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := datafusion.NewInstance(ctx, "enterprise_instance", &datafusion.InstanceArgs{
    			Name:       pulumi.String("my-instance"),
    			Region:     pulumi.String("us-central1"),
    			Type:       pulumi.String("ENTERPRISE"),
    			EnableRbac: 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.datafusion.Instance;
    import com.pulumi.gcp.datafusion.InstanceArgs;
    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 enterpriseInstance = new Instance("enterpriseInstance", InstanceArgs.builder()        
                .name("my-instance")
                .region("us-central1")
                .type("ENTERPRISE")
                .enableRbac(true)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    enterprise_instance = gcp.datafusion.Instance("enterprise_instance",
        name="my-instance",
        region="us-central1",
        type="ENTERPRISE",
        enable_rbac=True)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const enterpriseInstance = new gcp.datafusion.Instance("enterprise_instance", {
        name: "my-instance",
        region: "us-central1",
        type: "ENTERPRISE",
        enableRbac: true,
    });
    
    resources:
      enterpriseInstance:
        type: gcp:datafusion:Instance
        name: enterprise_instance
        properties:
          name: my-instance
          region: us-central1
          type: ENTERPRISE
          enableRbac: true
    

    Data Fusion Instance Event

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var eventTopic = new Gcp.PubSub.Topic("event", new()
        {
            Name = "my-instance",
        });
    
        var @event = new Gcp.DataFusion.Instance("event", new()
        {
            Name = "my-instance",
            Region = "us-central1",
            Type = "BASIC",
            EventPublishConfig = new Gcp.DataFusion.Inputs.InstanceEventPublishConfigArgs
            {
                Enabled = true,
                Topic = eventTopic.Id,
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datafusion"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		eventTopic, err := pubsub.NewTopic(ctx, "event", &pubsub.TopicArgs{
    			Name: pulumi.String("my-instance"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datafusion.NewInstance(ctx, "event", &datafusion.InstanceArgs{
    			Name:   pulumi.String("my-instance"),
    			Region: pulumi.String("us-central1"),
    			Type:   pulumi.String("BASIC"),
    			EventPublishConfig: &datafusion.InstanceEventPublishConfigArgs{
    				Enabled: pulumi.Bool(true),
    				Topic:   eventTopic.ID(),
    			},
    		})
    		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.pubsub.Topic;
    import com.pulumi.gcp.pubsub.TopicArgs;
    import com.pulumi.gcp.datafusion.Instance;
    import com.pulumi.gcp.datafusion.InstanceArgs;
    import com.pulumi.gcp.datafusion.inputs.InstanceEventPublishConfigArgs;
    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 eventTopic = new Topic("eventTopic", TopicArgs.builder()        
                .name("my-instance")
                .build());
    
            var event = new Instance("event", InstanceArgs.builder()        
                .name("my-instance")
                .region("us-central1")
                .type("BASIC")
                .eventPublishConfig(InstanceEventPublishConfigArgs.builder()
                    .enabled(true)
                    .topic(eventTopic.id())
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    event_topic = gcp.pubsub.Topic("event", name="my-instance")
    event = gcp.datafusion.Instance("event",
        name="my-instance",
        region="us-central1",
        type="BASIC",
        event_publish_config=gcp.datafusion.InstanceEventPublishConfigArgs(
            enabled=True,
            topic=event_topic.id,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const eventTopic = new gcp.pubsub.Topic("event", {name: "my-instance"});
    const event = new gcp.datafusion.Instance("event", {
        name: "my-instance",
        region: "us-central1",
        type: "BASIC",
        eventPublishConfig: {
            enabled: true,
            topic: eventTopic.id,
        },
    });
    
    resources:
      event:
        type: gcp:datafusion:Instance
        properties:
          name: my-instance
          region: us-central1
          type: BASIC
          eventPublishConfig:
            enabled: true
            topic: ${eventTopic.id}
      eventTopic:
        type: gcp:pubsub:Topic
        name: event
        properties:
          name: my-instance
    

    Data Fusion Instance Zone

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var zone = new Gcp.DataFusion.Instance("zone", new()
        {
            Name = "my-instance",
            Region = "us-central1",
            Zone = "us-central1-a",
            Type = "DEVELOPER",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datafusion"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := datafusion.NewInstance(ctx, "zone", &datafusion.InstanceArgs{
    			Name:   pulumi.String("my-instance"),
    			Region: pulumi.String("us-central1"),
    			Zone:   pulumi.String("us-central1-a"),
    			Type:   pulumi.String("DEVELOPER"),
    		})
    		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.datafusion.Instance;
    import com.pulumi.gcp.datafusion.InstanceArgs;
    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 zone = new Instance("zone", InstanceArgs.builder()        
                .name("my-instance")
                .region("us-central1")
                .zone("us-central1-a")
                .type("DEVELOPER")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    zone = gcp.datafusion.Instance("zone",
        name="my-instance",
        region="us-central1",
        zone="us-central1-a",
        type="DEVELOPER")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const zone = new gcp.datafusion.Instance("zone", {
        name: "my-instance",
        region: "us-central1",
        zone: "us-central1-a",
        type: "DEVELOPER",
    });
    
    resources:
      zone:
        type: gcp:datafusion:Instance
        properties:
          name: my-instance
          region: us-central1
          zone: us-central1-a
          type: DEVELOPER
    

    Create Instance Resource

    new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
    @overload
    def Instance(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 accelerators: Optional[Sequence[InstanceAcceleratorArgs]] = None,
                 crypto_key_config: Optional[InstanceCryptoKeyConfigArgs] = None,
                 dataproc_service_account: Optional[str] = None,
                 description: Optional[str] = None,
                 display_name: Optional[str] = None,
                 enable_rbac: Optional[bool] = None,
                 enable_stackdriver_logging: Optional[bool] = None,
                 enable_stackdriver_monitoring: Optional[bool] = None,
                 event_publish_config: Optional[InstanceEventPublishConfigArgs] = None,
                 labels: Optional[Mapping[str, str]] = None,
                 name: Optional[str] = None,
                 network_config: Optional[InstanceNetworkConfigArgs] = None,
                 options: Optional[Mapping[str, str]] = None,
                 private_instance: Optional[bool] = None,
                 project: Optional[str] = None,
                 region: Optional[str] = None,
                 type: Optional[str] = None,
                 version: Optional[str] = None,
                 zone: Optional[str] = None)
    @overload
    def Instance(resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[ResourceOptions] = None)
    func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
    public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
    public Instance(String name, InstanceArgs args)
    public Instance(String name, InstanceArgs args, CustomResourceOptions options)
    
    type: gcp:datafusion:Instance
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Instance Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Instance resource accepts the following input properties:

    Type string
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    Accelerators List<InstanceAccelerator>
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    CryptoKeyConfig InstanceCryptoKeyConfig
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    DataprocServiceAccount string
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    Description string
    An optional description of the instance.
    DisplayName string
    Display name for an instance.
    EnableRbac bool
    Option to enable granular role-based access control.
    EnableStackdriverLogging bool
    Option to enable Stackdriver Logging.
    EnableStackdriverMonitoring bool
    Option to enable Stackdriver Monitoring.
    EventPublishConfig InstanceEventPublishConfig
    Option to enable and pass metadata for event publishing. Structure is documented below.
    Labels Dictionary<string, string>

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    Name string
    The ID of the instance or a fully qualified identifier for the instance.
    NetworkConfig InstanceNetworkConfig
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    Options Dictionary<string, string>
    Map of additional options used to configure the behavior of Data Fusion instance.
    PrivateInstance bool
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the Data Fusion instance.
    Version string
    Current version of the Data Fusion.
    Zone string
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    Type string
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    Accelerators []InstanceAcceleratorArgs
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    CryptoKeyConfig InstanceCryptoKeyConfigArgs
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    DataprocServiceAccount string
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    Description string
    An optional description of the instance.
    DisplayName string
    Display name for an instance.
    EnableRbac bool
    Option to enable granular role-based access control.
    EnableStackdriverLogging bool
    Option to enable Stackdriver Logging.
    EnableStackdriverMonitoring bool
    Option to enable Stackdriver Monitoring.
    EventPublishConfig InstanceEventPublishConfigArgs
    Option to enable and pass metadata for event publishing. Structure is documented below.
    Labels map[string]string

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    Name string
    The ID of the instance or a fully qualified identifier for the instance.
    NetworkConfig InstanceNetworkConfigArgs
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    Options map[string]string
    Map of additional options used to configure the behavior of Data Fusion instance.
    PrivateInstance bool
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the Data Fusion instance.
    Version string
    Current version of the Data Fusion.
    Zone string
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    type String
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    accelerators List<InstanceAccelerator>
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    cryptoKeyConfig InstanceCryptoKeyConfig
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataprocServiceAccount String
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description String
    An optional description of the instance.
    displayName String
    Display name for an instance.
    enableRbac Boolean
    Option to enable granular role-based access control.
    enableStackdriverLogging Boolean
    Option to enable Stackdriver Logging.
    enableStackdriverMonitoring Boolean
    Option to enable Stackdriver Monitoring.
    eventPublishConfig InstanceEventPublishConfig
    Option to enable and pass metadata for event publishing. Structure is documented below.
    labels Map<String,String>

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name String
    The ID of the instance or a fully qualified identifier for the instance.
    networkConfig InstanceNetworkConfig
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options Map<String,String>
    Map of additional options used to configure the behavior of Data Fusion instance.
    privateInstance Boolean
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the Data Fusion instance.
    version String
    Current version of the Data Fusion.
    zone String
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    type string
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    accelerators InstanceAccelerator[]
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    cryptoKeyConfig InstanceCryptoKeyConfig
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataprocServiceAccount string
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description string
    An optional description of the instance.
    displayName string
    Display name for an instance.
    enableRbac boolean
    Option to enable granular role-based access control.
    enableStackdriverLogging boolean
    Option to enable Stackdriver Logging.
    enableStackdriverMonitoring boolean
    Option to enable Stackdriver Monitoring.
    eventPublishConfig InstanceEventPublishConfig
    Option to enable and pass metadata for event publishing. Structure is documented below.
    labels {[key: string]: string}

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name string
    The ID of the instance or a fully qualified identifier for the instance.
    networkConfig InstanceNetworkConfig
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options {[key: string]: string}
    Map of additional options used to configure the behavior of Data Fusion instance.
    privateInstance boolean
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    The region of the Data Fusion instance.
    version string
    Current version of the Data Fusion.
    zone string
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    type str
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    accelerators Sequence[InstanceAcceleratorArgs]
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    crypto_key_config InstanceCryptoKeyConfigArgs
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataproc_service_account str
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description str
    An optional description of the instance.
    display_name str
    Display name for an instance.
    enable_rbac bool
    Option to enable granular role-based access control.
    enable_stackdriver_logging bool
    Option to enable Stackdriver Logging.
    enable_stackdriver_monitoring bool
    Option to enable Stackdriver Monitoring.
    event_publish_config InstanceEventPublishConfigArgs
    Option to enable and pass metadata for event publishing. Structure is documented below.
    labels Mapping[str, str]

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name str
    The ID of the instance or a fully qualified identifier for the instance.
    network_config InstanceNetworkConfigArgs
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options Mapping[str, str]
    Map of additional options used to configure the behavior of Data Fusion instance.
    private_instance bool
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    The region of the Data Fusion instance.
    version str
    Current version of the Data Fusion.
    zone str
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    type String
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    accelerators List<Property Map>
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    cryptoKeyConfig Property Map
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataprocServiceAccount String
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description String
    An optional description of the instance.
    displayName String
    Display name for an instance.
    enableRbac Boolean
    Option to enable granular role-based access control.
    enableStackdriverLogging Boolean
    Option to enable Stackdriver Logging.
    enableStackdriverMonitoring Boolean
    Option to enable Stackdriver Monitoring.
    eventPublishConfig Property Map
    Option to enable and pass metadata for event publishing. Structure is documented below.
    labels Map<String>

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name String
    The ID of the instance or a fully qualified identifier for the instance.
    networkConfig Property Map
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options Map<String>
    Map of additional options used to configure the behavior of Data Fusion instance.
    privateInstance Boolean
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the Data Fusion instance.
    version String
    Current version of the Data Fusion.
    zone String
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Instance resource produces the following output properties:

    ApiEndpoint string
    Endpoint on which the REST APIs is accessible.
    CreateTime string
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    GcsBucket string
    Cloud Storage bucket generated by Data Fusion in the customer project.
    Id string
    The provider-assigned unique ID for this managed resource.
    P4ServiceAccount string
    P4 service account for the customer project.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    ServiceAccount string
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    ServiceEndpoint string
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    State string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    StateMessage string
    Additional information about the current state of this Data Fusion instance if available.
    TenantProjectId string
    The name of the tenant project.
    UpdateTime string
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    ApiEndpoint string
    Endpoint on which the REST APIs is accessible.
    CreateTime string
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    GcsBucket string
    Cloud Storage bucket generated by Data Fusion in the customer project.
    Id string
    The provider-assigned unique ID for this managed resource.
    P4ServiceAccount string
    P4 service account for the customer project.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    ServiceAccount string
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    ServiceEndpoint string
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    State string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    StateMessage string
    Additional information about the current state of this Data Fusion instance if available.
    TenantProjectId string
    The name of the tenant project.
    UpdateTime string
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    apiEndpoint String
    Endpoint on which the REST APIs is accessible.
    createTime String
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gcsBucket String
    Cloud Storage bucket generated by Data Fusion in the customer project.
    id String
    The provider-assigned unique ID for this managed resource.
    p4ServiceAccount String
    P4 service account for the customer project.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    serviceAccount String
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    serviceEndpoint String
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state String
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    stateMessage String
    Additional information about the current state of this Data Fusion instance if available.
    tenantProjectId String
    The name of the tenant project.
    updateTime String
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    apiEndpoint string
    Endpoint on which the REST APIs is accessible.
    createTime string
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gcsBucket string
    Cloud Storage bucket generated by Data Fusion in the customer project.
    id string
    The provider-assigned unique ID for this managed resource.
    p4ServiceAccount string
    P4 service account for the customer project.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    serviceAccount string
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    serviceEndpoint string
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    stateMessage string
    Additional information about the current state of this Data Fusion instance if available.
    tenantProjectId string
    The name of the tenant project.
    updateTime string
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    api_endpoint str
    Endpoint on which the REST APIs is accessible.
    create_time str
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gcs_bucket str
    Cloud Storage bucket generated by Data Fusion in the customer project.
    id str
    The provider-assigned unique ID for this managed resource.
    p4_service_account str
    P4 service account for the customer project.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    service_account str
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    service_endpoint str
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state str
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    state_message str
    Additional information about the current state of this Data Fusion instance if available.
    tenant_project_id str
    The name of the tenant project.
    update_time str
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    apiEndpoint String
    Endpoint on which the REST APIs is accessible.
    createTime String
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gcsBucket String
    Cloud Storage bucket generated by Data Fusion in the customer project.
    id String
    The provider-assigned unique ID for this managed resource.
    p4ServiceAccount String
    P4 service account for the customer project.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    serviceAccount String
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    serviceEndpoint String
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state String
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    stateMessage String
    Additional information about the current state of this Data Fusion instance if available.
    tenantProjectId String
    The name of the tenant project.
    updateTime String
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.

    Look up Existing Instance Resource

    Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: InstanceState, opts?: CustomResourceOptions): Instance
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            accelerators: Optional[Sequence[InstanceAcceleratorArgs]] = None,
            api_endpoint: Optional[str] = None,
            create_time: Optional[str] = None,
            crypto_key_config: Optional[InstanceCryptoKeyConfigArgs] = None,
            dataproc_service_account: Optional[str] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            enable_rbac: Optional[bool] = None,
            enable_stackdriver_logging: Optional[bool] = None,
            enable_stackdriver_monitoring: Optional[bool] = None,
            event_publish_config: Optional[InstanceEventPublishConfigArgs] = None,
            gcs_bucket: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            network_config: Optional[InstanceNetworkConfigArgs] = None,
            options: Optional[Mapping[str, str]] = None,
            p4_service_account: Optional[str] = None,
            private_instance: Optional[bool] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            region: Optional[str] = None,
            service_account: Optional[str] = None,
            service_endpoint: Optional[str] = None,
            state: Optional[str] = None,
            state_message: Optional[str] = None,
            tenant_project_id: Optional[str] = None,
            type: Optional[str] = None,
            update_time: Optional[str] = None,
            version: Optional[str] = None,
            zone: Optional[str] = None) -> Instance
    func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
    public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
    public static Instance get(String name, Output<String> id, InstanceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Accelerators List<InstanceAccelerator>
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    ApiEndpoint string
    Endpoint on which the REST APIs is accessible.
    CreateTime string
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    CryptoKeyConfig InstanceCryptoKeyConfig
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    DataprocServiceAccount string
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    Description string
    An optional description of the instance.
    DisplayName string
    Display name for an instance.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    EnableRbac bool
    Option to enable granular role-based access control.
    EnableStackdriverLogging bool
    Option to enable Stackdriver Logging.
    EnableStackdriverMonitoring bool
    Option to enable Stackdriver Monitoring.
    EventPublishConfig InstanceEventPublishConfig
    Option to enable and pass metadata for event publishing. Structure is documented below.
    GcsBucket string
    Cloud Storage bucket generated by Data Fusion in the customer project.
    Labels Dictionary<string, string>

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    Name string
    The ID of the instance or a fully qualified identifier for the instance.
    NetworkConfig InstanceNetworkConfig
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    Options Dictionary<string, string>
    Map of additional options used to configure the behavior of Data Fusion instance.
    P4ServiceAccount string
    P4 service account for the customer project.
    PrivateInstance bool
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Region string
    The region of the Data Fusion instance.
    ServiceAccount string
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    ServiceEndpoint string
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    State string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    StateMessage string
    Additional information about the current state of this Data Fusion instance if available.
    TenantProjectId string
    The name of the tenant project.
    Type string
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    UpdateTime string
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    Version string
    Current version of the Data Fusion.
    Zone string
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    Accelerators []InstanceAcceleratorArgs
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    ApiEndpoint string
    Endpoint on which the REST APIs is accessible.
    CreateTime string
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    CryptoKeyConfig InstanceCryptoKeyConfigArgs
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    DataprocServiceAccount string
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    Description string
    An optional description of the instance.
    DisplayName string
    Display name for an instance.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    EnableRbac bool
    Option to enable granular role-based access control.
    EnableStackdriverLogging bool
    Option to enable Stackdriver Logging.
    EnableStackdriverMonitoring bool
    Option to enable Stackdriver Monitoring.
    EventPublishConfig InstanceEventPublishConfigArgs
    Option to enable and pass metadata for event publishing. Structure is documented below.
    GcsBucket string
    Cloud Storage bucket generated by Data Fusion in the customer project.
    Labels map[string]string

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    Name string
    The ID of the instance or a fully qualified identifier for the instance.
    NetworkConfig InstanceNetworkConfigArgs
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    Options map[string]string
    Map of additional options used to configure the behavior of Data Fusion instance.
    P4ServiceAccount string
    P4 service account for the customer project.
    PrivateInstance bool
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Region string
    The region of the Data Fusion instance.
    ServiceAccount string
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    ServiceEndpoint string
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    State string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    StateMessage string
    Additional information about the current state of this Data Fusion instance if available.
    TenantProjectId string
    The name of the tenant project.
    Type string
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    UpdateTime string
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    Version string
    Current version of the Data Fusion.
    Zone string
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    accelerators List<InstanceAccelerator>
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    apiEndpoint String
    Endpoint on which the REST APIs is accessible.
    createTime String
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    cryptoKeyConfig InstanceCryptoKeyConfig
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataprocServiceAccount String
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description String
    An optional description of the instance.
    displayName String
    Display name for an instance.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    enableRbac Boolean
    Option to enable granular role-based access control.
    enableStackdriverLogging Boolean
    Option to enable Stackdriver Logging.
    enableStackdriverMonitoring Boolean
    Option to enable Stackdriver Monitoring.
    eventPublishConfig InstanceEventPublishConfig
    Option to enable and pass metadata for event publishing. Structure is documented below.
    gcsBucket String
    Cloud Storage bucket generated by Data Fusion in the customer project.
    labels Map<String,String>

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name String
    The ID of the instance or a fully qualified identifier for the instance.
    networkConfig InstanceNetworkConfig
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options Map<String,String>
    Map of additional options used to configure the behavior of Data Fusion instance.
    p4ServiceAccount String
    P4 service account for the customer project.
    privateInstance Boolean
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region String
    The region of the Data Fusion instance.
    serviceAccount String
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    serviceEndpoint String
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state String
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    stateMessage String
    Additional information about the current state of this Data Fusion instance if available.
    tenantProjectId String
    The name of the tenant project.
    type String
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    updateTime String
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    version String
    Current version of the Data Fusion.
    zone String
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    accelerators InstanceAccelerator[]
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    apiEndpoint string
    Endpoint on which the REST APIs is accessible.
    createTime string
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    cryptoKeyConfig InstanceCryptoKeyConfig
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataprocServiceAccount string
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description string
    An optional description of the instance.
    displayName string
    Display name for an instance.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    enableRbac boolean
    Option to enable granular role-based access control.
    enableStackdriverLogging boolean
    Option to enable Stackdriver Logging.
    enableStackdriverMonitoring boolean
    Option to enable Stackdriver Monitoring.
    eventPublishConfig InstanceEventPublishConfig
    Option to enable and pass metadata for event publishing. Structure is documented below.
    gcsBucket string
    Cloud Storage bucket generated by Data Fusion in the customer project.
    labels {[key: string]: string}

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name string
    The ID of the instance or a fully qualified identifier for the instance.
    networkConfig InstanceNetworkConfig
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options {[key: string]: string}
    Map of additional options used to configure the behavior of Data Fusion instance.
    p4ServiceAccount string
    P4 service account for the customer project.
    privateInstance boolean
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region string
    The region of the Data Fusion instance.
    serviceAccount string
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    serviceEndpoint string
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    stateMessage string
    Additional information about the current state of this Data Fusion instance if available.
    tenantProjectId string
    The name of the tenant project.
    type string
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    updateTime string
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    version string
    Current version of the Data Fusion.
    zone string
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    accelerators Sequence[InstanceAcceleratorArgs]
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    api_endpoint str
    Endpoint on which the REST APIs is accessible.
    create_time str
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    crypto_key_config InstanceCryptoKeyConfigArgs
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataproc_service_account str
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description str
    An optional description of the instance.
    display_name str
    Display name for an instance.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    enable_rbac bool
    Option to enable granular role-based access control.
    enable_stackdriver_logging bool
    Option to enable Stackdriver Logging.
    enable_stackdriver_monitoring bool
    Option to enable Stackdriver Monitoring.
    event_publish_config InstanceEventPublishConfigArgs
    Option to enable and pass metadata for event publishing. Structure is documented below.
    gcs_bucket str
    Cloud Storage bucket generated by Data Fusion in the customer project.
    labels Mapping[str, str]

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name str
    The ID of the instance or a fully qualified identifier for the instance.
    network_config InstanceNetworkConfigArgs
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options Mapping[str, str]
    Map of additional options used to configure the behavior of Data Fusion instance.
    p4_service_account str
    P4 service account for the customer project.
    private_instance bool
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region str
    The region of the Data Fusion instance.
    service_account str
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    service_endpoint str
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state str
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    state_message str
    Additional information about the current state of this Data Fusion instance if available.
    tenant_project_id str
    The name of the tenant project.
    type str
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    update_time str
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    version str
    Current version of the Data Fusion.
    zone str
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.
    accelerators List<Property Map>
    List of accelerators enabled for this CDF instance. If accelerators are enabled it is possible a permadiff will be created with the Options field. Users will need to either manually update their state file to include these diffed options, or include the field in a lifecycle ignore changes block. Structure is documented below.
    apiEndpoint String
    Endpoint on which the REST APIs is accessible.
    createTime String
    The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    cryptoKeyConfig Property Map
    The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. Structure is documented below.
    dataprocServiceAccount String
    User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines.
    description String
    An optional description of the instance.
    displayName String
    Display name for an instance.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    enableRbac Boolean
    Option to enable granular role-based access control.
    enableStackdriverLogging Boolean
    Option to enable Stackdriver Logging.
    enableStackdriverMonitoring Boolean
    Option to enable Stackdriver Monitoring.
    eventPublishConfig Property Map
    Option to enable and pass metadata for event publishing. Structure is documented below.
    gcsBucket String
    Cloud Storage bucket generated by Data Fusion in the customer project.
    labels Map<String>

    The resource labels for instance to use to annotate any related underlying resources, such as Compute Engine VMs.

    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.

    name String
    The ID of the instance or a fully qualified identifier for the instance.
    networkConfig Property Map
    Network configuration options. These are required when a private Data Fusion instance is to be created. Structure is documented below.
    options Map<String>
    Map of additional options used to configure the behavior of Data Fusion instance.
    p4ServiceAccount String
    P4 service account for the customer project.
    privateInstance Boolean
    Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region String
    The region of the Data Fusion instance.
    serviceAccount String
    Service account which will be used to access resources in the customer project.

    Deprecated:service_account is deprecated and will be removed in a future major release. Instead, use tenant_project_id to extract the tenant project ID.

    serviceEndpoint String
    Endpoint on which the Data Fusion UI and REST APIs are accessible.
    state String
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    stateMessage String
    Additional information about the current state of this Data Fusion instance if available.
    tenantProjectId String
    The name of the tenant project.
    type String
    Represents the type of Data Fusion instance. Each type is configured with the default settings for processing and memory.

    • BASIC: Basic Data Fusion instance. In Basic type, the user will be able to create data pipelines using point and click UI. However, there are certain limitations, such as fewer number of concurrent pipelines, no support for streaming pipelines, etc.
    • ENTERPRISE: Enterprise Data Fusion instance. In Enterprise type, the user will have more features available, such as support for streaming pipelines, higher number of concurrent pipelines, etc.
    • DEVELOPER: Developer Data Fusion instance. In Developer type, the user will have all features available but with restrictive capabilities. This is to help enterprises design and develop their data ingestion and integration pipelines at low cost. Possible values are: BASIC, ENTERPRISE, DEVELOPER.

    updateTime String
    The time the instance was last updated in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
    version String
    Current version of the Data Fusion.
    zone String
    Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.

    Supporting Types

    InstanceAccelerator, InstanceAcceleratorArgs

    AcceleratorType string
    The type of an accelator for a CDF instance. Possible values are: CDC, HEALTHCARE, CCAI_INSIGHTS.
    State string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    AcceleratorType string
    The type of an accelator for a CDF instance. Possible values are: CDC, HEALTHCARE, CCAI_INSIGHTS.
    State string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    acceleratorType String
    The type of an accelator for a CDF instance. Possible values are: CDC, HEALTHCARE, CCAI_INSIGHTS.
    state String
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    acceleratorType string
    The type of an accelator for a CDF instance. Possible values are: CDC, HEALTHCARE, CCAI_INSIGHTS.
    state string
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    accelerator_type str
    The type of an accelator for a CDF instance. Possible values are: CDC, HEALTHCARE, CCAI_INSIGHTS.
    state str
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.
    acceleratorType String
    The type of an accelator for a CDF instance. Possible values are: CDC, HEALTHCARE, CCAI_INSIGHTS.
    state String
    The type of an accelator for a CDF instance. Possible values are: ENABLED, DISABLED.

    InstanceCryptoKeyConfig, InstanceCryptoKeyConfigArgs

    KeyReference string
    The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects//locations//keyRings//cryptoKeys/.
    KeyReference string
    The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects//locations//keyRings//cryptoKeys/.
    keyReference String
    The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects//locations//keyRings//cryptoKeys/.
    keyReference string
    The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects//locations//keyRings//cryptoKeys/.
    key_reference str
    The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects//locations//keyRings//cryptoKeys/.
    keyReference String
    The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects//locations//keyRings//cryptoKeys/.

    InstanceEventPublishConfig, InstanceEventPublishConfigArgs

    Enabled bool
    Option to enable Event Publishing.
    Topic string
    The resource name of the Pub/Sub topic. Format: projects/{projectId}/topics/{topic_id}
    Enabled bool
    Option to enable Event Publishing.
    Topic string
    The resource name of the Pub/Sub topic. Format: projects/{projectId}/topics/{topic_id}
    enabled Boolean
    Option to enable Event Publishing.
    topic String
    The resource name of the Pub/Sub topic. Format: projects/{projectId}/topics/{topic_id}
    enabled boolean
    Option to enable Event Publishing.
    topic string
    The resource name of the Pub/Sub topic. Format: projects/{projectId}/topics/{topic_id}
    enabled bool
    Option to enable Event Publishing.
    topic str
    The resource name of the Pub/Sub topic. Format: projects/{projectId}/topics/{topic_id}
    enabled Boolean
    Option to enable Event Publishing.
    topic String
    The resource name of the Pub/Sub topic. Format: projects/{projectId}/topics/{topic_id}

    InstanceNetworkConfig, InstanceNetworkConfigArgs

    IpAllocation string
    The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
    Network string
    Name of the network in the project with which the tenant project will be peered for executing pipelines. In case of shared VPC where the network resides in another host project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
    IpAllocation string
    The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
    Network string
    Name of the network in the project with which the tenant project will be peered for executing pipelines. In case of shared VPC where the network resides in another host project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
    ipAllocation String
    The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
    network String
    Name of the network in the project with which the tenant project will be peered for executing pipelines. In case of shared VPC where the network resides in another host project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
    ipAllocation string
    The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
    network string
    Name of the network in the project with which the tenant project will be peered for executing pipelines. In case of shared VPC where the network resides in another host project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
    ip_allocation str
    The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
    network str
    Name of the network in the project with which the tenant project will be peered for executing pipelines. In case of shared VPC where the network resides in another host project the network should specified in the form of projects/{host-project-id}/global/networks/{network}
    ipAllocation String
    The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the Data Fusion instance network.
    network String
    Name of the network in the project with which the tenant project will be peered for executing pipelines. In case of shared VPC where the network resides in another host project the network should specified in the form of projects/{host-project-id}/global/networks/{network}

    Import

    Instance can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{region}}/instances/{{name}}

    • {{project}}/{{region}}/{{name}}

    • {{region}}/{{name}}

    • {{name}}

    When using the pulumi import command, Instance can be imported using one of the formats above. For example:

    $ pulumi import gcp:datafusion/instance:Instance default projects/{{project}}/locations/{{region}}/instances/{{name}}
    
    $ pulumi import gcp:datafusion/instance:Instance default {{project}}/{{region}}/{{name}}
    
    $ pulumi import gcp:datafusion/instance:Instance default {{region}}/{{name}}
    
    $ pulumi import gcp:datafusion/instance:Instance default {{name}}
    

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.11.2 published on Wednesday, Feb 28, 2024 by Pulumi