1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. datafusion
  5. Instance
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

gcp.datafusion.Instance

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

    Represents a Data Fusion instance.

    To get more information about Instance, see:

    Example Usage

    Data Fusion Instance 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",
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    basic_instance = gcp.datafusion.Instance("basic_instance",
        name="my-instance",
        region="us-central1",
        type="BASIC")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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
    	})
    }
    
    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 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());
    
        }
    }
    
    resources:
      basicInstance:
        type: gcp:datafusion:Instance
        name: basic_instance
        properties:
          name: my-instance
          region: us-central1
          type: BASIC
    

    Data Fusion Instance Full

    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",
        }],
    });
    
    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={
            "network": "default",
            "ip_allocation": pulumi.Output.all(
                address=private_ip_alloc.address,
                prefix_length=private_ip_alloc.prefix_length
    ).apply(lambda resolved_outputs: f"{resolved_outputs['address']}/{resolved_outputs['prefix_length']}")
    ,
        },
        accelerators=[{
            "accelerator_type": "CDC",
            "state": "ENABLED",
        }])
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/appengine"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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, &appengine.GetDefaultServiceAccountArgs{}, 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
    	})
    }
    
    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 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());
    
        }
    }
    
    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 Psc

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const psc = new gcp.compute.Network("psc", {
        name: "datafusion-psc-network",
        autoCreateSubnetworks: false,
    });
    const pscSubnetwork = new gcp.compute.Subnetwork("psc", {
        name: "datafusion-psc-subnet",
        region: "us-central1",
        network: psc.id,
        ipCidrRange: "10.0.0.0/16",
    });
    const pscNetworkAttachment = new gcp.compute.NetworkAttachment("psc", {
        name: "datafusion-psc-attachment",
        region: "us-central1",
        connectionPreference: "ACCEPT_AUTOMATIC",
        subnetworks: [pscSubnetwork.selfLink],
    });
    const pscInstance = new gcp.datafusion.Instance("psc_instance", {
        name: "psc-instance",
        region: "us-central1",
        type: "BASIC",
        privateInstance: true,
        networkConfig: {
            connectionType: "PRIVATE_SERVICE_CONNECT_INTERFACES",
            privateServiceConnectConfig: {
                networkAttachment: pscNetworkAttachment.id,
                unreachableCidrBlock: "192.168.0.0/25",
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    psc = gcp.compute.Network("psc",
        name="datafusion-psc-network",
        auto_create_subnetworks=False)
    psc_subnetwork = gcp.compute.Subnetwork("psc",
        name="datafusion-psc-subnet",
        region="us-central1",
        network=psc.id,
        ip_cidr_range="10.0.0.0/16")
    psc_network_attachment = gcp.compute.NetworkAttachment("psc",
        name="datafusion-psc-attachment",
        region="us-central1",
        connection_preference="ACCEPT_AUTOMATIC",
        subnetworks=[psc_subnetwork.self_link])
    psc_instance = gcp.datafusion.Instance("psc_instance",
        name="psc-instance",
        region="us-central1",
        type="BASIC",
        private_instance=True,
        network_config={
            "connection_type": "PRIVATE_SERVICE_CONNECT_INTERFACES",
            "private_service_connect_config": {
                "network_attachment": psc_network_attachment.id,
                "unreachable_cidr_block": "192.168.0.0/25",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/datafusion"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		psc, err := compute.NewNetwork(ctx, "psc", &compute.NetworkArgs{
    			Name:                  pulumi.String("datafusion-psc-network"),
    			AutoCreateSubnetworks: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		pscSubnetwork, err := compute.NewSubnetwork(ctx, "psc", &compute.SubnetworkArgs{
    			Name:        pulumi.String("datafusion-psc-subnet"),
    			Region:      pulumi.String("us-central1"),
    			Network:     psc.ID(),
    			IpCidrRange: pulumi.String("10.0.0.0/16"),
    		})
    		if err != nil {
    			return err
    		}
    		pscNetworkAttachment, err := compute.NewNetworkAttachment(ctx, "psc", &compute.NetworkAttachmentArgs{
    			Name:                 pulumi.String("datafusion-psc-attachment"),
    			Region:               pulumi.String("us-central1"),
    			ConnectionPreference: pulumi.String("ACCEPT_AUTOMATIC"),
    			Subnetworks: pulumi.StringArray{
    				pscSubnetwork.SelfLink,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datafusion.NewInstance(ctx, "psc_instance", &datafusion.InstanceArgs{
    			Name:            pulumi.String("psc-instance"),
    			Region:          pulumi.String("us-central1"),
    			Type:            pulumi.String("BASIC"),
    			PrivateInstance: pulumi.Bool(true),
    			NetworkConfig: &datafusion.InstanceNetworkConfigArgs{
    				ConnectionType: pulumi.String("PRIVATE_SERVICE_CONNECT_INTERFACES"),
    				PrivateServiceConnectConfig: &datafusion.InstanceNetworkConfigPrivateServiceConnectConfigArgs{
    					NetworkAttachment:    pscNetworkAttachment.ID(),
    					UnreachableCidrBlock: pulumi.String("192.168.0.0/25"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var psc = new Gcp.Compute.Network("psc", new()
        {
            Name = "datafusion-psc-network",
            AutoCreateSubnetworks = false,
        });
    
        var pscSubnetwork = new Gcp.Compute.Subnetwork("psc", new()
        {
            Name = "datafusion-psc-subnet",
            Region = "us-central1",
            Network = psc.Id,
            IpCidrRange = "10.0.0.0/16",
        });
    
        var pscNetworkAttachment = new Gcp.Compute.NetworkAttachment("psc", new()
        {
            Name = "datafusion-psc-attachment",
            Region = "us-central1",
            ConnectionPreference = "ACCEPT_AUTOMATIC",
            Subnetworks = new[]
            {
                pscSubnetwork.SelfLink,
            },
        });
    
        var pscInstance = new Gcp.DataFusion.Instance("psc_instance", new()
        {
            Name = "psc-instance",
            Region = "us-central1",
            Type = "BASIC",
            PrivateInstance = true,
            NetworkConfig = new Gcp.DataFusion.Inputs.InstanceNetworkConfigArgs
            {
                ConnectionType = "PRIVATE_SERVICE_CONNECT_INTERFACES",
                PrivateServiceConnectConfig = new Gcp.DataFusion.Inputs.InstanceNetworkConfigPrivateServiceConnectConfigArgs
                {
                    NetworkAttachment = pscNetworkAttachment.Id,
                    UnreachableCidrBlock = "192.168.0.0/25",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.compute.Subnetwork;
    import com.pulumi.gcp.compute.SubnetworkArgs;
    import com.pulumi.gcp.compute.NetworkAttachment;
    import com.pulumi.gcp.compute.NetworkAttachmentArgs;
    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.InstanceNetworkConfigPrivateServiceConnectConfigArgs;
    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 psc = new Network("psc", NetworkArgs.builder()
                .name("datafusion-psc-network")
                .autoCreateSubnetworks(false)
                .build());
    
            var pscSubnetwork = new Subnetwork("pscSubnetwork", SubnetworkArgs.builder()
                .name("datafusion-psc-subnet")
                .region("us-central1")
                .network(psc.id())
                .ipCidrRange("10.0.0.0/16")
                .build());
    
            var pscNetworkAttachment = new NetworkAttachment("pscNetworkAttachment", NetworkAttachmentArgs.builder()
                .name("datafusion-psc-attachment")
                .region("us-central1")
                .connectionPreference("ACCEPT_AUTOMATIC")
                .subnetworks(pscSubnetwork.selfLink())
                .build());
    
            var pscInstance = new Instance("pscInstance", InstanceArgs.builder()
                .name("psc-instance")
                .region("us-central1")
                .type("BASIC")
                .privateInstance(true)
                .networkConfig(InstanceNetworkConfigArgs.builder()
                    .connectionType("PRIVATE_SERVICE_CONNECT_INTERFACES")
                    .privateServiceConnectConfig(InstanceNetworkConfigPrivateServiceConnectConfigArgs.builder()
                        .networkAttachment(pscNetworkAttachment.id())
                        .unreachableCidrBlock("192.168.0.0/25")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      pscInstance:
        type: gcp:datafusion:Instance
        name: psc_instance
        properties:
          name: psc-instance
          region: us-central1
          type: BASIC
          privateInstance: true
          networkConfig:
            connectionType: PRIVATE_SERVICE_CONNECT_INTERFACES
            privateServiceConnectConfig:
              networkAttachment: ${pscNetworkAttachment.id}
              unreachableCidrBlock: 192.168.0.0/25
      psc:
        type: gcp:compute:Network
        properties:
          name: datafusion-psc-network
          autoCreateSubnetworks: false
      pscSubnetwork:
        type: gcp:compute:Subnetwork
        name: psc
        properties:
          name: datafusion-psc-subnet
          region: us-central1
          network: ${psc.id}
          ipCidrRange: 10.0.0.0/16
      pscNetworkAttachment:
        type: gcp:compute:NetworkAttachment
        name: psc
        properties:
          name: datafusion-psc-attachment
          region: us-central1
          connectionPreference: ACCEPT_AUTOMATIC
          subnetworks:
            - ${pscSubnetwork.selfLink}
    

    Data Fusion Instance Cmek

    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 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`),
    });
    const cmek = new gcp.datafusion.Instance("cmek", {
        name: "my-instance",
        region: "us-central1",
        type: "BASIC",
        cryptoKeyConfig: {
            keyReference: cryptoKey.id,
        },
    }, {
        dependsOn: [cryptoKeyMember],
    });
    
    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)
    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")
    cmek = gcp.datafusion.Instance("cmek",
        name="my-instance",
        region="us-central1",
        type="BASIC",
        crypto_key_config={
            "key_reference": crypto_key.id,
        },
        opts = pulumi.ResourceOptions(depends_on=[crypto_key_member]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/datafusion"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/kms"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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
    		}
    		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		cryptoKeyMember, err := kms.NewCryptoKeyIAMMember(ctx, "crypto_key_member", &kms.CryptoKeyIAMMemberArgs{
    			CryptoKeyId: cryptoKey.ID(),
    			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
    			Member:      pulumi.Sprintf("serviceAccount:service-%v@gcp-sa-datafusion.iam.gserviceaccount.com", project.Number),
    		})
    		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(),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			cryptoKeyMember,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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 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",
        });
    
        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,
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                cryptoKeyMember,
            },
        });
    
    });
    
    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.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.kms.CryptoKeyIAMMember;
    import com.pulumi.gcp.kms.CryptoKeyIAMMemberArgs;
    import com.pulumi.gcp.datafusion.Instance;
    import com.pulumi.gcp.datafusion.InstanceArgs;
    import com.pulumi.gcp.datafusion.inputs.InstanceCryptoKeyConfigArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var 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());
    
            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());
    
            var cmek = new Instance("cmek", InstanceArgs.builder()
                .name("my-instance")
                .region("us-central1")
                .type("BASIC")
                .cryptoKeyConfig(InstanceCryptoKeyConfigArgs.builder()
                    .keyReference(cryptoKey.id())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(cryptoKeyMember)
                    .build());
    
        }
    }
    
    resources:
      cmek:
        type: gcp:datafusion:Instance
        properties:
          name: my-instance
          region: us-central1
          type: BASIC
          cryptoKeyConfig:
            keyReference: ${cryptoKey.id}
        options:
          dependson:
            - ${cryptoKeyMember}
      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

    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,
    });
    
    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)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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
    	})
    }
    
    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 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());
    
        }
    }
    
    resources:
      enterpriseInstance:
        type: gcp:datafusion:Instance
        name: enterprise_instance
        properties:
          name: my-instance
          region: us-central1
          type: ENTERPRISE
          enableRbac: true
    

    Data Fusion Instance Event

    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,
        },
    });
    
    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={
            "enabled": True,
            "topic": event_topic.id,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/datafusion"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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
    	})
    }
    
    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 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());
    
        }
    }
    
    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

    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",
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    zone = gcp.datafusion.Instance("zone",
        name="my-instance",
        region="us-central1",
        zone="us-central1-a",
        type="DEVELOPER")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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
    	})
    }
    
    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 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());
    
        }
    }
    
    resources:
      zone:
        type: gcp:datafusion:Instance
        properties:
          name: my-instance
          region: us-central1
          zone: us-central1-a
          type: DEVELOPER
    

    Create Instance Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
    @overload
    def Instance(resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Instance(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 type: Optional[str] = None,
                 event_publish_config: Optional[InstanceEventPublishConfigArgs] = None,
                 description: Optional[str] = None,
                 name: Optional[str] = None,
                 network_config: Optional[InstanceNetworkConfigArgs] = None,
                 enable_rbac: Optional[bool] = None,
                 enable_stackdriver_logging: Optional[bool] = None,
                 enable_stackdriver_monitoring: Optional[bool] = None,
                 accelerators: Optional[Sequence[InstanceAcceleratorArgs]] = None,
                 zone: Optional[str] = None,
                 dataproc_service_account: Optional[str] = None,
                 display_name: Optional[str] = None,
                 options: Optional[Mapping[str, str]] = None,
                 private_instance: Optional[bool] = None,
                 project: Optional[str] = None,
                 region: Optional[str] = None,
                 crypto_key_config: Optional[InstanceCryptoKeyConfigArgs] = None,
                 version: Optional[str] = None,
                 labels: Optional[Mapping[str, str]] = 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.
    
    

    Parameters

    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.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var exampleinstanceResourceResourceFromDatafusioninstance = new Gcp.DataFusion.Instance("exampleinstanceResourceResourceFromDatafusioninstance", new()
    {
        Type = "string",
        EventPublishConfig = new Gcp.DataFusion.Inputs.InstanceEventPublishConfigArgs
        {
            Enabled = false,
            Topic = "string",
        },
        Description = "string",
        Name = "string",
        NetworkConfig = new Gcp.DataFusion.Inputs.InstanceNetworkConfigArgs
        {
            ConnectionType = "string",
            IpAllocation = "string",
            Network = "string",
            PrivateServiceConnectConfig = new Gcp.DataFusion.Inputs.InstanceNetworkConfigPrivateServiceConnectConfigArgs
            {
                EffectiveUnreachableCidrBlock = "string",
                NetworkAttachment = "string",
                UnreachableCidrBlock = "string",
            },
        },
        EnableRbac = false,
        EnableStackdriverLogging = false,
        EnableStackdriverMonitoring = false,
        Accelerators = new[]
        {
            new Gcp.DataFusion.Inputs.InstanceAcceleratorArgs
            {
                AcceleratorType = "string",
                State = "string",
            },
        },
        Zone = "string",
        DataprocServiceAccount = "string",
        DisplayName = "string",
        Options = 
        {
            { "string", "string" },
        },
        PrivateInstance = false,
        Project = "string",
        Region = "string",
        CryptoKeyConfig = new Gcp.DataFusion.Inputs.InstanceCryptoKeyConfigArgs
        {
            KeyReference = "string",
        },
        Version = "string",
        Labels = 
        {
            { "string", "string" },
        },
    });
    
    example, err := datafusion.NewInstance(ctx, "exampleinstanceResourceResourceFromDatafusioninstance", &datafusion.InstanceArgs{
    	Type: pulumi.String("string"),
    	EventPublishConfig: &datafusion.InstanceEventPublishConfigArgs{
    		Enabled: pulumi.Bool(false),
    		Topic:   pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    	NetworkConfig: &datafusion.InstanceNetworkConfigArgs{
    		ConnectionType: pulumi.String("string"),
    		IpAllocation:   pulumi.String("string"),
    		Network:        pulumi.String("string"),
    		PrivateServiceConnectConfig: &datafusion.InstanceNetworkConfigPrivateServiceConnectConfigArgs{
    			EffectiveUnreachableCidrBlock: pulumi.String("string"),
    			NetworkAttachment:             pulumi.String("string"),
    			UnreachableCidrBlock:          pulumi.String("string"),
    		},
    	},
    	EnableRbac:                  pulumi.Bool(false),
    	EnableStackdriverLogging:    pulumi.Bool(false),
    	EnableStackdriverMonitoring: pulumi.Bool(false),
    	Accelerators: datafusion.InstanceAcceleratorArray{
    		&datafusion.InstanceAcceleratorArgs{
    			AcceleratorType: pulumi.String("string"),
    			State:           pulumi.String("string"),
    		},
    	},
    	Zone:                   pulumi.String("string"),
    	DataprocServiceAccount: pulumi.String("string"),
    	DisplayName:            pulumi.String("string"),
    	Options: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	PrivateInstance: pulumi.Bool(false),
    	Project:         pulumi.String("string"),
    	Region:          pulumi.String("string"),
    	CryptoKeyConfig: &datafusion.InstanceCryptoKeyConfigArgs{
    		KeyReference: pulumi.String("string"),
    	},
    	Version: pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var exampleinstanceResourceResourceFromDatafusioninstance = new Instance("exampleinstanceResourceResourceFromDatafusioninstance", InstanceArgs.builder()
        .type("string")
        .eventPublishConfig(InstanceEventPublishConfigArgs.builder()
            .enabled(false)
            .topic("string")
            .build())
        .description("string")
        .name("string")
        .networkConfig(InstanceNetworkConfigArgs.builder()
            .connectionType("string")
            .ipAllocation("string")
            .network("string")
            .privateServiceConnectConfig(InstanceNetworkConfigPrivateServiceConnectConfigArgs.builder()
                .effectiveUnreachableCidrBlock("string")
                .networkAttachment("string")
                .unreachableCidrBlock("string")
                .build())
            .build())
        .enableRbac(false)
        .enableStackdriverLogging(false)
        .enableStackdriverMonitoring(false)
        .accelerators(InstanceAcceleratorArgs.builder()
            .acceleratorType("string")
            .state("string")
            .build())
        .zone("string")
        .dataprocServiceAccount("string")
        .displayName("string")
        .options(Map.of("string", "string"))
        .privateInstance(false)
        .project("string")
        .region("string")
        .cryptoKeyConfig(InstanceCryptoKeyConfigArgs.builder()
            .keyReference("string")
            .build())
        .version("string")
        .labels(Map.of("string", "string"))
        .build());
    
    exampleinstance_resource_resource_from_datafusioninstance = gcp.datafusion.Instance("exampleinstanceResourceResourceFromDatafusioninstance",
        type="string",
        event_publish_config={
            "enabled": False,
            "topic": "string",
        },
        description="string",
        name="string",
        network_config={
            "connection_type": "string",
            "ip_allocation": "string",
            "network": "string",
            "private_service_connect_config": {
                "effective_unreachable_cidr_block": "string",
                "network_attachment": "string",
                "unreachable_cidr_block": "string",
            },
        },
        enable_rbac=False,
        enable_stackdriver_logging=False,
        enable_stackdriver_monitoring=False,
        accelerators=[{
            "accelerator_type": "string",
            "state": "string",
        }],
        zone="string",
        dataproc_service_account="string",
        display_name="string",
        options={
            "string": "string",
        },
        private_instance=False,
        project="string",
        region="string",
        crypto_key_config={
            "key_reference": "string",
        },
        version="string",
        labels={
            "string": "string",
        })
    
    const exampleinstanceResourceResourceFromDatafusioninstance = new gcp.datafusion.Instance("exampleinstanceResourceResourceFromDatafusioninstance", {
        type: "string",
        eventPublishConfig: {
            enabled: false,
            topic: "string",
        },
        description: "string",
        name: "string",
        networkConfig: {
            connectionType: "string",
            ipAllocation: "string",
            network: "string",
            privateServiceConnectConfig: {
                effectiveUnreachableCidrBlock: "string",
                networkAttachment: "string",
                unreachableCidrBlock: "string",
            },
        },
        enableRbac: false,
        enableStackdriverLogging: false,
        enableStackdriverMonitoring: false,
        accelerators: [{
            acceleratorType: "string",
            state: "string",
        }],
        zone: "string",
        dataprocServiceAccount: "string",
        displayName: "string",
        options: {
            string: "string",
        },
        privateInstance: false,
        project: "string",
        region: "string",
        cryptoKeyConfig: {
            keyReference: "string",
        },
        version: "string",
        labels: {
            string: "string",
        },
    });
    
    type: gcp:datafusion:Instance
    properties:
        accelerators:
            - acceleratorType: string
              state: string
        cryptoKeyConfig:
            keyReference: string
        dataprocServiceAccount: string
        description: string
        displayName: string
        enableRbac: false
        enableStackdriverLogging: false
        enableStackdriverMonitoring: false
        eventPublishConfig:
            enabled: false
            topic: string
        labels:
            string: string
        name: string
        networkConfig:
            connectionType: string
            ipAllocation: string
            network: string
            privateServiceConnectConfig:
                effectiveUnreachableCidrBlock: string
                networkAttachment: string
                unreachableCidrBlock: string
        options:
            string: string
        privateInstance: false
        project: string
        region: string
        type: string
        version: string
        zone: string
    

    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

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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 current state of this Data Fusion instance.

    • CREATING: Instance is being created
    • RUNNING: Instance is running and ready for requests
    • FAILED: Instance creation failed
    • DELETING: Instance is being deleted
    • UPGRADING: Instance is being upgraded
    • RESTARTING: Instance is being restarted
    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

    ConnectionType string
    Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and the corresponding tenant project from a predefined list of available connection modes. If this field is unspecified for a private instance, VPC peering is used. Possible values are: VPC_PEERING, PRIVATE_SERVICE_CONNECT_INTERFACES.
    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}
    PrivateServiceConnectConfig InstanceNetworkConfigPrivateServiceConnectConfig
    Optional. Configuration for Private Service Connect. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES. Structure is documented below.
    ConnectionType string
    Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and the corresponding tenant project from a predefined list of available connection modes. If this field is unspecified for a private instance, VPC peering is used. Possible values are: VPC_PEERING, PRIVATE_SERVICE_CONNECT_INTERFACES.
    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}
    PrivateServiceConnectConfig InstanceNetworkConfigPrivateServiceConnectConfig
    Optional. Configuration for Private Service Connect. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES. Structure is documented below.
    connectionType String
    Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and the corresponding tenant project from a predefined list of available connection modes. If this field is unspecified for a private instance, VPC peering is used. Possible values are: VPC_PEERING, PRIVATE_SERVICE_CONNECT_INTERFACES.
    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}
    privateServiceConnectConfig InstanceNetworkConfigPrivateServiceConnectConfig
    Optional. Configuration for Private Service Connect. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES. Structure is documented below.
    connectionType string
    Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and the corresponding tenant project from a predefined list of available connection modes. If this field is unspecified for a private instance, VPC peering is used. Possible values are: VPC_PEERING, PRIVATE_SERVICE_CONNECT_INTERFACES.
    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}
    privateServiceConnectConfig InstanceNetworkConfigPrivateServiceConnectConfig
    Optional. Configuration for Private Service Connect. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES. Structure is documented below.
    connection_type str
    Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and the corresponding tenant project from a predefined list of available connection modes. If this field is unspecified for a private instance, VPC peering is used. Possible values are: VPC_PEERING, PRIVATE_SERVICE_CONNECT_INTERFACES.
    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}
    private_service_connect_config InstanceNetworkConfigPrivateServiceConnectConfig
    Optional. Configuration for Private Service Connect. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES. Structure is documented below.
    connectionType String
    Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and the corresponding tenant project from a predefined list of available connection modes. If this field is unspecified for a private instance, VPC peering is used. Possible values are: VPC_PEERING, PRIVATE_SERVICE_CONNECT_INTERFACES.
    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}
    privateServiceConnectConfig Property Map
    Optional. Configuration for Private Service Connect. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES. Structure is documented below.

    InstanceNetworkConfigPrivateServiceConnectConfig, InstanceNetworkConfigPrivateServiceConnectConfigArgs

    EffectiveUnreachableCidrBlock string
    (Output) Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block is /25. The format of this field is governed by RFC 4632.
    NetworkAttachment string
    Optional. The reference to the network attachment used to establish private connectivity. It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
    UnreachableCidrBlock string
    Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment. This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses. If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
    EffectiveUnreachableCidrBlock string
    (Output) Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block is /25. The format of this field is governed by RFC 4632.
    NetworkAttachment string
    Optional. The reference to the network attachment used to establish private connectivity. It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
    UnreachableCidrBlock string
    Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment. This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses. If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
    effectiveUnreachableCidrBlock String
    (Output) Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block is /25. The format of this field is governed by RFC 4632.
    networkAttachment String
    Optional. The reference to the network attachment used to establish private connectivity. It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
    unreachableCidrBlock String
    Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment. This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses. If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
    effectiveUnreachableCidrBlock string
    (Output) Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block is /25. The format of this field is governed by RFC 4632.
    networkAttachment string
    Optional. The reference to the network attachment used to establish private connectivity. It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
    unreachableCidrBlock string
    Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment. This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses. If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
    effective_unreachable_cidr_block str
    (Output) Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block is /25. The format of this field is governed by RFC 4632.
    network_attachment str
    Optional. The reference to the network attachment used to establish private connectivity. It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
    unreachable_cidr_block str
    Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment. This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses. If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.
    effectiveUnreachableCidrBlock String
    (Output) Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block is /25. The format of this field is governed by RFC 4632.
    networkAttachment String
    Optional. The reference to the network attachment used to establish private connectivity. It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}. This is required only when using connection type PRIVATE_SERVICE_CONNECT_INTERFACES.
    unreachableCidrBlock String
    Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment. This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses. If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632.

    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}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    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 v8.9.3 published on Monday, Nov 18, 2024 by Pulumi