Module dataproc

@pulumi/gcp > dataproc

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-gcp repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-google repo.

class Cluster

extends CustomResource

Manages a Cloud Dataproc cluster resource within GCP. For more information see the official dataproc documentation.

!> Warning: Due to limitations of the API, all arguments except labels,cluster_config.worker_config.num_instances and cluster_config.preemptible_worker_config.num_instances are non-updateable. Changing others will cause recreation of the whole cluster!

Example Usage - Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const simplecluster = new gcp.dataproc.Cluster("simplecluster", {
    region: "us-central1",
});

Example Usage - Advanced

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const mycluster = new gcp.dataproc.Cluster("mycluster", {
    clusterConfig: {
        gceClusterConfig: {
            //network = "${google_compute_network.dataproc_network.name}"
            tags: [
                "foo",
                "bar",
            ],
        },
        // You can define multiple initializationAction blocks
        initializationActions: [{
            script: "gs://dataproc-initialization-actions/stackdriver/stackdriver.sh",
            timeoutSec: 500,
        }],
        masterConfig: {
            diskConfig: {
                bootDiskSizeGb: 15,
                bootDiskType: "pd-ssd",
            },
            machineType: "n1-standard-1",
            numInstances: 1,
        },
        preemptibleWorkerConfig: {
            numInstances: 0,
        },
        // Override or set some custom properties
        softwareConfig: {
            imageVersion: "1.3.7-deb9",
            overrideProperties: {
                "dataproc:dataproc.allow.zero.workers": "true",
            },
        },
        stagingBucket: "dataproc-staging-bucket",
        workerConfig: {
            diskConfig: {
                bootDiskSizeGb: 15,
                numLocalSsds: 1,
            },
            machineType: "n1-standard-1",
            minCpuPlatform: "Intel Skylake",
            numInstances: 2,
        },
    },
    labels: {
        foo: "bar",
    },
    region: "us-central1",
});

Example Usage - Using a GPU accelerator

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const acceleratedCluster = new gcp.dataproc.Cluster("acceleratedCluster", {
    clusterConfig: {
        gceClusterConfig: {
            zone: "us-central1-a",
        },
        masterConfig: {
            accelerators: [{
                acceleratorCount: 1,
                acceleratorType: "nvidia-tesla-k80",
            }],
        },
    },
    region: "us-central1",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_cluster.html.markdown.

constructor

new Cluster(name: string, args?: ClusterArgs, opts?: pulumi.CustomResourceOptions)

Create a Cluster resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterState, opts?: pulumi.CustomResourceOptions): Cluster

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Cluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property clusterConfig

public clusterConfig: pulumi.Output<{
    bucket: string;
    encryptionConfig: undefined | {
        kmsKeyName: string;
    };
    gceClusterConfig: {
        internalIpOnly: undefined | false | true;
        metadata: undefined | {[key: string]: string};
        network: string;
        serviceAccount: undefined | string;
        serviceAccountScopes: string[];
        subnetwork: undefined | string;
        tags: string[];
        zone: string;
    };
    initializationActions: {
        script: string;
        timeoutSec: undefined | number;
    }[];
    masterConfig: {
        accelerators: {
            acceleratorCount: number;
            acceleratorType: string;
        }[];
        diskConfig: {
            bootDiskSizeGb: number;
            bootDiskType: undefined | string;
            numLocalSsds: number;
        };
        imageUri: string;
        instanceNames: string[];
        machineType: string;
        minCpuPlatform: string;
        numInstances: number;
    };
    preemptibleWorkerConfig: {
        diskConfig: {
            bootDiskSizeGb: number;
            bootDiskType: undefined | string;
            numLocalSsds: number;
        };
        instanceNames: string[];
        numInstances: number;
    };
    softwareConfig: {
        imageVersion: string;
        optionalComponents: string[];
        overrideProperties: undefined | {[key: string]: string};
        properties: {[key: string]: any};
    };
    stagingBucket: undefined | string;
    workerConfig: {
        accelerators: {
            acceleratorCount: number;
            acceleratorType: string;
        }[];
        diskConfig: {
            bootDiskSizeGb: number;
            bootDiskType: undefined | string;
            numLocalSsds: number;
        };
        imageUri: string;
        instanceNames: string[];
        machineType: string;
        minCpuPlatform: string;
        numInstances: number;
    };
}>;

Allows you to configure various aspects of the cluster. Structure defined below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property labels

public labels: pulumi.Output<{[key: string]: string}>;

The list of labels (key/value pairs) to be applied to instances in the cluster. GCP generates some itself including goog-dataproc-cluster-name which is the name of the cluster.

property name

public name: pulumi.Output<string>;

The name of the cluster, unique within the project and zone.

property project

public project: pulumi.Output<string>;

The ID of the project in which the cluster will exist. If it is not provided, the provider project is used.

property region

public region: pulumi.Output<string | undefined>;

The region in which the cluster and associated nodes will be created in. Defaults to global.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ClusterIAMBinding

extends CustomResource

Three different resources help you manage IAM policies on dataproc clusters. Each of these resources serves a different use case:

  • gcp.dataproc.ClusterIAMPolicy: Authoritative. Sets the IAM policy for the cluster and replaces any existing policy already attached.
  • gcp.dataproc.ClusterIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the cluster are preserved.
  • gcp.dataproc.ClusterIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the cluster are preserved.

Note: gcp.dataproc.ClusterIAMPolicy cannot be used in conjunction with gcp.dataproc.ClusterIAMBinding and gcp.dataproc.ClusterIAMMember or they will fight over what your policy should be. In addition, be careful not to accidentaly unset ownership of the cluster as gcp.dataproc.ClusterIAMPolicy replaces the entire policy.

Note: gcp.dataproc.ClusterIAMBinding resources can be used in conjunction with gcp.dataproc.ClusterIAMMember resources only if they do not grant privilege to the same role.

google_pubsub_subscription_iam_policy

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const admin = pulumi.output(gcp.organizations.getIAMPolicy({
    bindings: [{
        members: ["user:jane@example.com"],
        role: "roles/editor",
    }],
}));
const editor = new gcp.dataproc.ClusterIAMPolicy("editor", {
    cluster: "your-dataproc-cluster",
    policyData: admin.policyData,
    project: "your-project",
    region: "your-region",
});

google_pubsub_subscription_iam_binding

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.ClusterIAMBinding("editor", {
    cluster: "your-dataproc-cluster",
    members: ["user:jane@example.com"],
    role: "roles/editor",
});

google_pubsub_subscription_iam_member

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.ClusterIAMMember("editor", {
    cluster: "your-dataproc-cluster",
    member: "user:jane@example.com",
    role: "roles/editor",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_cluster_iam_binding.html.markdown.

constructor

new ClusterIAMBinding(name: string, args: ClusterIAMBindingArgs, opts?: pulumi.CustomResourceOptions)

Create a ClusterIAMBinding resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterIAMBindingState, opts?: pulumi.CustomResourceOptions): ClusterIAMBinding

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ClusterIAMBinding. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cluster

public cluster: pulumi.Output<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property etag

public etag: pulumi.Output<string>;

(Computed) The etag of the clusters’s IAM policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property members

public members: pulumi.Output<string[]>;

property project

public project: pulumi.Output<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

public region: pulumi.Output<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

property role

public role: pulumi.Output<string>;

The role that should be applied. Only one gcp.dataproc.ClusterIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ClusterIAMMember

extends CustomResource

Three different resources help you manage IAM policies on dataproc clusters. Each of these resources serves a different use case:

  • gcp.dataproc.ClusterIAMPolicy: Authoritative. Sets the IAM policy for the cluster and replaces any existing policy already attached.
  • gcp.dataproc.ClusterIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the cluster are preserved.
  • gcp.dataproc.ClusterIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the cluster are preserved.

Note: gcp.dataproc.ClusterIAMPolicy cannot be used in conjunction with gcp.dataproc.ClusterIAMBinding and gcp.dataproc.ClusterIAMMember or they will fight over what your policy should be. In addition, be careful not to accidentaly unset ownership of the cluster as gcp.dataproc.ClusterIAMPolicy replaces the entire policy.

Note: gcp.dataproc.ClusterIAMBinding resources can be used in conjunction with gcp.dataproc.ClusterIAMMember resources only if they do not grant privilege to the same role.

google_pubsub_subscription_iam_policy

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const admin = pulumi.output(gcp.organizations.getIAMPolicy({
    bindings: [{
        members: ["user:jane@example.com"],
        role: "roles/editor",
    }],
}));
const editor = new gcp.dataproc.ClusterIAMPolicy("editor", {
    cluster: "your-dataproc-cluster",
    policyData: admin.policyData,
    project: "your-project",
    region: "your-region",
});

google_pubsub_subscription_iam_binding

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.ClusterIAMBinding("editor", {
    cluster: "your-dataproc-cluster",
    members: ["user:jane@example.com"],
    role: "roles/editor",
});

google_pubsub_subscription_iam_member

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.ClusterIAMMember("editor", {
    cluster: "your-dataproc-cluster",
    member: "user:jane@example.com",
    role: "roles/editor",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_cluster_iam_member.html.markdown.

constructor

new ClusterIAMMember(name: string, args: ClusterIAMMemberArgs, opts?: pulumi.CustomResourceOptions)

Create a ClusterIAMMember resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterIAMMemberState, opts?: pulumi.CustomResourceOptions): ClusterIAMMember

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ClusterIAMMember. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cluster

public cluster: pulumi.Output<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property etag

public etag: pulumi.Output<string>;

(Computed) The etag of the clusters’s IAM policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property member

public member: pulumi.Output<string>;

property project

public project: pulumi.Output<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

public region: pulumi.Output<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

property role

public role: pulumi.Output<string>;

The role that should be applied. Only one gcp.dataproc.ClusterIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ClusterIAMPolicy

extends CustomResource

Three different resources help you manage IAM policies on dataproc clusters. Each of these resources serves a different use case:

  • gcp.dataproc.ClusterIAMPolicy: Authoritative. Sets the IAM policy for the cluster and replaces any existing policy already attached.
  • gcp.dataproc.ClusterIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the cluster are preserved.
  • gcp.dataproc.ClusterIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the cluster are preserved.

Note: gcp.dataproc.ClusterIAMPolicy cannot be used in conjunction with gcp.dataproc.ClusterIAMBinding and gcp.dataproc.ClusterIAMMember or they will fight over what your policy should be. In addition, be careful not to accidentaly unset ownership of the cluster as gcp.dataproc.ClusterIAMPolicy replaces the entire policy.

Note: gcp.dataproc.ClusterIAMBinding resources can be used in conjunction with gcp.dataproc.ClusterIAMMember resources only if they do not grant privilege to the same role.

google_pubsub_subscription_iam_policy

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const admin = pulumi.output(gcp.organizations.getIAMPolicy({
    bindings: [{
        members: ["user:jane@example.com"],
        role: "roles/editor",
    }],
}));
const editor = new gcp.dataproc.ClusterIAMPolicy("editor", {
    cluster: "your-dataproc-cluster",
    policyData: admin.policyData,
    project: "your-project",
    region: "your-region",
});

google_pubsub_subscription_iam_binding

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.ClusterIAMBinding("editor", {
    cluster: "your-dataproc-cluster",
    members: ["user:jane@example.com"],
    role: "roles/editor",
});

google_pubsub_subscription_iam_member

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.ClusterIAMMember("editor", {
    cluster: "your-dataproc-cluster",
    member: "user:jane@example.com",
    role: "roles/editor",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_cluster_iam_policy.html.markdown.

constructor

new ClusterIAMPolicy(name: string, args: ClusterIAMPolicyArgs, opts?: pulumi.CustomResourceOptions)

Create a ClusterIAMPolicy resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterIAMPolicyState, opts?: pulumi.CustomResourceOptions): ClusterIAMPolicy

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ClusterIAMPolicy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cluster

public cluster: pulumi.Output<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property etag

public etag: pulumi.Output<string>;

(Computed) The etag of the clusters’s IAM policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property policyData

public policyData: pulumi.Output<string>;

The policy data generated by a gcp.organizations.getIAMPolicy data source.

property project

public project: pulumi.Output<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

public region: pulumi.Output<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class Job

extends CustomResource

Manages a job resource within a Dataproc cluster within GCE. For more information see the official dataproc documentation.

!> Note: This resource does not support ‘update’ and changing any attributes will cause the resource to be recreated.

Example usage

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const mycluster = new gcp.dataproc.Cluster("mycluster", {
    region: "us-central1",
});
// Submit an example pyspark job to a dataproc cluster
const pyspark = new gcp.dataproc.Job("pyspark", {
    forceDelete: true,
    placement: {
        clusterName: mycluster.name,
    },
    pysparkConfig: {
        mainPythonFileUri: "gs://dataproc-examples-2f10d78d114f6aaec76462e3c310f31f/src/pyspark/hello-world/hello-world.py",
        properties: {
            "spark.logConf": "true",
        },
    },
    region: mycluster.region,
});
// Submit an example spark job to a dataproc cluster
const spark = new gcp.dataproc.Job("spark", {
    forceDelete: true,
    placement: {
        clusterName: mycluster.name,
    },
    region: mycluster.region,
    sparkConfig: {
        args: ["1000"],
        jarFileUris: ["file:///usr/lib/spark/examples/jars/spark-examples.jar"],
        loggingConfig: {
            driverLogLevels: {
                root: "INFO",
            },
        },
        mainClass: "org.apache.spark.examples.SparkPi",
        properties: {
            "spark.logConf": "true",
        },
    },
});

export const pysparkStatus = pyspark.status.state;
// Check out current state of the jobs
export const sparkStatus = spark.status.state;

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_job.html.markdown.

constructor

new Job(name: string, args: JobArgs, opts?: pulumi.CustomResourceOptions)

Create a Job resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: JobState, opts?: pulumi.CustomResourceOptions): Job

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Job. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property driverControlsFilesUri

public driverControlsFilesUri: pulumi.Output<string>;

If present, the location of miscellaneous control files which may be used as part of job setup and handling. If not present, control files may be placed in the same location as driver_output_uri.

property driverOutputResourceUri

public driverOutputResourceUri: pulumi.Output<string>;

A URI pointing to the location of the stdout of the job’s driver program.

property forceDelete

public forceDelete: pulumi.Output<boolean | undefined>;

By default, you can only delete inactive jobs within Dataproc. Setting this to true, and calling destroy, will ensure that the job is first cancelled before issuing the delete.

property hadoopConfig

public hadoopConfig: pulumi.Output<{
    archiveUris: string[];
    args: string[];
    fileUris: string[];
    jarFileUris: string[];
    loggingConfig: {
        driverLogLevels: undefined | {[key: string]: string};
    };
    mainClass: undefined | string;
    mainJarFileUri: undefined | string;
    properties: undefined | {[key: string]: string};
} | undefined>;

property hiveConfig

public hiveConfig: pulumi.Output<{
    continueOnFailure: undefined | false | true;
    jarFileUris: string[];
    properties: undefined | {[key: string]: string};
    queryFileUri: undefined | string;
    queryLists: string[];
    scriptVariables: undefined | {[key: string]: string};
} | undefined>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property labels

public labels: pulumi.Output<{[key: string]: string} | undefined>;

The list of labels (key/value pairs) to add to the job.

property pigConfig

public pigConfig: pulumi.Output<{
    continueOnFailure: undefined | false | true;
    jarFileUris: string[];
    loggingConfig: {
        driverLogLevels: undefined | {[key: string]: string};
    };
    properties: undefined | {[key: string]: string};
    queryFileUri: undefined | string;
    queryLists: string[];
    scriptVariables: undefined | {[key: string]: string};
} | undefined>;

property placement

public placement: pulumi.Output<{
    clusterName: string;
    clusterUuid: string;
}>;

property project

public project: pulumi.Output<string>;

The project in which the cluster can be found and jobs subsequently run against. If it is not provided, the provider project is used.

property pysparkConfig

public pysparkConfig: pulumi.Output<{
    archiveUris: string[];
    args: string[];
    fileUris: string[];
    jarFileUris: string[];
    loggingConfig: {
        driverLogLevels: undefined | {[key: string]: string};
    };
    mainPythonFileUri: string;
    properties: undefined | {[key: string]: string};
    pythonFileUris: string[];
} | undefined>;

property reference

public reference: pulumi.Output<{
    jobId: string;
}>;

property region

public region: pulumi.Output<string | undefined>;

The Cloud Dataproc region. This essentially determines which clusters are available for this job to be submitted to. If not specified, defaults to global.

property scheduling

public scheduling: pulumi.Output<{
    maxFailuresPerHour: undefined | number;
} | undefined>;

Optional. Job scheduling configuration.

property sparkConfig

public sparkConfig: pulumi.Output<{
    archiveUris: string[];
    args: string[];
    fileUris: string[];
    jarFileUris: string[];
    loggingConfig: {
        driverLogLevels: undefined | {[key: string]: string};
    };
    mainClass: undefined | string;
    mainJarFileUri: undefined | string;
    properties: undefined | {[key: string]: string};
} | undefined>;

property sparksqlConfig

public sparksqlConfig: pulumi.Output<{
    jarFileUris: string[];
    loggingConfig: {
        driverLogLevels: undefined | {[key: string]: string};
    };
    properties: undefined | {[key: string]: string};
    queryFileUri: undefined | string;
    queryLists: string[];
    scriptVariables: undefined | {[key: string]: string};
} | undefined>;

property status

public status: pulumi.Output<{
    details: string;
    state: string;
    stateStartTime: string;
    substate: string;
}>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class JobIAMBinding

extends CustomResource

Three different resources help you manage IAM policies on dataproc jobs. Each of these resources serves a different use case:

  • gcp.dataproc.JobIAMPolicy: Authoritative. Sets the IAM policy for the job and replaces any existing policy already attached.
  • gcp.dataproc.JobIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the job are preserved.
  • gcp.dataproc.JobIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the job are preserved.

Note: gcp.dataproc.JobIAMPolicy cannot be used in conjunction with gcp.dataproc.JobIAMBinding and gcp.dataproc.JobIAMMember or they will fight over what your policy should be. In addition, be careful not to accidentaly unset ownership of the job as gcp.dataproc.JobIAMPolicy replaces the entire policy.

Note: gcp.dataproc.JobIAMBinding resources can be used in conjunction with gcp.dataproc.JobIAMMember resources only if they do not grant privilege to the same role.

google_pubsub_subscription_iam_policy

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const admin = pulumi.output(gcp.organizations.getIAMPolicy({
    bindings: [{
        members: ["user:jane@example.com"],
        role: "roles/editor",
    }],
}));
const editor = new gcp.dataproc.JobIAMPolicy("editor", {
    jobId: "your-dataproc-job",
    policyData: admin.policyData,
    project: "your-project",
    region: "your-region",
});

google_pubsub_subscription_iam_binding

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.JobIAMBinding("editor", {
    jobId: "your-dataproc-job",
    members: ["user:jane@example.com"],
    role: "roles/editor",
});

google_pubsub_subscription_iam_member

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.JobIAMMember("editor", {
    jobId: "your-dataproc-job",
    member: "user:jane@example.com",
    role: "roles/editor",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_job_iam_binding.html.markdown.

constructor

new JobIAMBinding(name: string, args: JobIAMBindingArgs, opts?: pulumi.CustomResourceOptions)

Create a JobIAMBinding resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: JobIAMBindingState, opts?: pulumi.CustomResourceOptions): JobIAMBinding

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of JobIAMBinding. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

(Computed) The etag of the jobs’s IAM policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property jobId

public jobId: pulumi.Output<string>;

property members

public members: pulumi.Output<string[]>;

property project

public project: pulumi.Output<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

public region: pulumi.Output<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

property role

public role: pulumi.Output<string>;

The role that should be applied. Only one gcp.dataproc.JobIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class JobIAMMember

extends CustomResource

Three different resources help you manage IAM policies on dataproc jobs. Each of these resources serves a different use case:

  • gcp.dataproc.JobIAMPolicy: Authoritative. Sets the IAM policy for the job and replaces any existing policy already attached.
  • gcp.dataproc.JobIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the job are preserved.
  • gcp.dataproc.JobIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the job are preserved.

Note: gcp.dataproc.JobIAMPolicy cannot be used in conjunction with gcp.dataproc.JobIAMBinding and gcp.dataproc.JobIAMMember or they will fight over what your policy should be. In addition, be careful not to accidentaly unset ownership of the job as gcp.dataproc.JobIAMPolicy replaces the entire policy.

Note: gcp.dataproc.JobIAMBinding resources can be used in conjunction with gcp.dataproc.JobIAMMember resources only if they do not grant privilege to the same role.

google_pubsub_subscription_iam_policy

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const admin = pulumi.output(gcp.organizations.getIAMPolicy({
    bindings: [{
        members: ["user:jane@example.com"],
        role: "roles/editor",
    }],
}));
const editor = new gcp.dataproc.JobIAMPolicy("editor", {
    jobId: "your-dataproc-job",
    policyData: admin.policyData,
    project: "your-project",
    region: "your-region",
});

google_pubsub_subscription_iam_binding

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.JobIAMBinding("editor", {
    jobId: "your-dataproc-job",
    members: ["user:jane@example.com"],
    role: "roles/editor",
});

google_pubsub_subscription_iam_member

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.JobIAMMember("editor", {
    jobId: "your-dataproc-job",
    member: "user:jane@example.com",
    role: "roles/editor",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_job_iam_member.html.markdown.

constructor

new JobIAMMember(name: string, args: JobIAMMemberArgs, opts?: pulumi.CustomResourceOptions)

Create a JobIAMMember resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: JobIAMMemberState, opts?: pulumi.CustomResourceOptions): JobIAMMember

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of JobIAMMember. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

(Computed) The etag of the jobs’s IAM policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property jobId

public jobId: pulumi.Output<string>;

property member

public member: pulumi.Output<string>;

property project

public project: pulumi.Output<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

public region: pulumi.Output<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

property role

public role: pulumi.Output<string>;

The role that should be applied. Only one gcp.dataproc.JobIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class JobIAMPolicy

extends CustomResource

Three different resources help you manage IAM policies on dataproc jobs. Each of these resources serves a different use case:

  • gcp.dataproc.JobIAMPolicy: Authoritative. Sets the IAM policy for the job and replaces any existing policy already attached.
  • gcp.dataproc.JobIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the job are preserved.
  • gcp.dataproc.JobIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the job are preserved.

Note: gcp.dataproc.JobIAMPolicy cannot be used in conjunction with gcp.dataproc.JobIAMBinding and gcp.dataproc.JobIAMMember or they will fight over what your policy should be. In addition, be careful not to accidentaly unset ownership of the job as gcp.dataproc.JobIAMPolicy replaces the entire policy.

Note: gcp.dataproc.JobIAMBinding resources can be used in conjunction with gcp.dataproc.JobIAMMember resources only if they do not grant privilege to the same role.

google_pubsub_subscription_iam_policy

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const admin = pulumi.output(gcp.organizations.getIAMPolicy({
    bindings: [{
        members: ["user:jane@example.com"],
        role: "roles/editor",
    }],
}));
const editor = new gcp.dataproc.JobIAMPolicy("editor", {
    jobId: "your-dataproc-job",
    policyData: admin.policyData,
    project: "your-project",
    region: "your-region",
});

google_pubsub_subscription_iam_binding

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.JobIAMBinding("editor", {
    jobId: "your-dataproc-job",
    members: ["user:jane@example.com"],
    role: "roles/editor",
});

google_pubsub_subscription_iam_member

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const editor = new gcp.dataproc.JobIAMMember("editor", {
    jobId: "your-dataproc-job",
    member: "user:jane@example.com",
    role: "roles/editor",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/dataproc_job_iam_policy.html.markdown.

constructor

new JobIAMPolicy(name: string, args: JobIAMPolicyArgs, opts?: pulumi.CustomResourceOptions)

Create a JobIAMPolicy resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: JobIAMPolicyState, opts?: pulumi.CustomResourceOptions): JobIAMPolicy

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of JobIAMPolicy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

(Computed) The etag of the jobs’s IAM policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property jobId

public jobId: pulumi.Output<string>;

property policyData

public policyData: pulumi.Output<string>;

The policy data generated by a gcp.organizations.getIAMPolicy data source.

property project

public project: pulumi.Output<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

public region: pulumi.Output<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

interface ClusterArgs

The set of arguments for constructing a Cluster resource.

property clusterConfig

clusterConfig?: pulumi.Input<{
    bucket: pulumi.Input<string>;
    encryptionConfig: pulumi.Input<{
        kmsKeyName: pulumi.Input<string>;
    }>;
    gceClusterConfig: pulumi.Input<{
        internalIpOnly: pulumi.Input<boolean>;
        metadata: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
        network: pulumi.Input<string>;
        serviceAccount: pulumi.Input<string>;
        serviceAccountScopes: pulumi.Input<pulumi.Input<string>[]>;
        subnetwork: pulumi.Input<string>;
        tags: pulumi.Input<pulumi.Input<string>[]>;
        zone: pulumi.Input<string>;
    }>;
    initializationActions: pulumi.Input<pulumi.Input<{
        script: pulumi.Input<string>;
        timeoutSec: pulumi.Input<number>;
    }>[]>;
    masterConfig: pulumi.Input<{
        accelerators: pulumi.Input<pulumi.Input<{
            acceleratorCount: pulumi.Input<number>;
            acceleratorType: pulumi.Input<string>;
        }>[]>;
        diskConfig: pulumi.Input<{
            bootDiskSizeGb: pulumi.Input<number>;
            bootDiskType: pulumi.Input<string>;
            numLocalSsds: pulumi.Input<number>;
        }>;
        imageUri: pulumi.Input<string>;
        instanceNames: pulumi.Input<pulumi.Input<string>[]>;
        machineType: pulumi.Input<string>;
        minCpuPlatform: pulumi.Input<string>;
        numInstances: pulumi.Input<number>;
    }>;
    preemptibleWorkerConfig: pulumi.Input<{
        diskConfig: pulumi.Input<{
            bootDiskSizeGb: pulumi.Input<number>;
            bootDiskType: pulumi.Input<string>;
            numLocalSsds: pulumi.Input<number>;
        }>;
        instanceNames: pulumi.Input<pulumi.Input<string>[]>;
        numInstances: pulumi.Input<number>;
    }>;
    softwareConfig: pulumi.Input<{
        imageVersion: pulumi.Input<string>;
        optionalComponents: pulumi.Input<pulumi.Input<string>[]>;
        overrideProperties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
        properties: pulumi.Input<{[key: string]: any}>;
    }>;
    stagingBucket: pulumi.Input<string>;
    workerConfig: pulumi.Input<{
        accelerators: pulumi.Input<pulumi.Input<{
            acceleratorCount: pulumi.Input<number>;
            acceleratorType: pulumi.Input<string>;
        }>[]>;
        diskConfig: pulumi.Input<{
            bootDiskSizeGb: pulumi.Input<number>;
            bootDiskType: pulumi.Input<string>;
            numLocalSsds: pulumi.Input<number>;
        }>;
        imageUri: pulumi.Input<string>;
        instanceNames: pulumi.Input<pulumi.Input<string>[]>;
        machineType: pulumi.Input<string>;
        minCpuPlatform: pulumi.Input<string>;
        numInstances: pulumi.Input<number>;
    }>;
}>;

Allows you to configure various aspects of the cluster. Structure defined below.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The list of labels (key/value pairs) to be applied to instances in the cluster. GCP generates some itself including goog-dataproc-cluster-name which is the name of the cluster.

property name

name?: pulumi.Input<string>;

The name of the cluster, unique within the project and zone.

property project

project?: pulumi.Input<string>;

The ID of the project in which the cluster will exist. If it is not provided, the provider project is used.

property region

region?: pulumi.Input<string>;

The region in which the cluster and associated nodes will be created in. Defaults to global.

interface ClusterIAMBindingArgs

The set of arguments for constructing a ClusterIAMBinding resource.

property cluster

cluster: pulumi.Input<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property members

property project

project?: pulumi.Input<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

property role

role: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.ClusterIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface ClusterIAMBindingState

Input properties used for looking up and filtering ClusterIAMBinding resources.

property cluster

cluster?: pulumi.Input<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property etag

etag?: pulumi.Input<string>;

(Computed) The etag of the clusters’s IAM policy.

property members

property project

project?: pulumi.Input<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

property role

role?: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.ClusterIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface ClusterIAMMemberArgs

The set of arguments for constructing a ClusterIAMMember resource.

property cluster

cluster: pulumi.Input<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property member

member: pulumi.Input<string>;

property project

project?: pulumi.Input<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

property role

role: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.ClusterIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface ClusterIAMMemberState

Input properties used for looking up and filtering ClusterIAMMember resources.

property cluster

cluster?: pulumi.Input<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property etag

etag?: pulumi.Input<string>;

(Computed) The etag of the clusters’s IAM policy.

property member

member?: pulumi.Input<string>;

property project

project?: pulumi.Input<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

property role

role?: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.ClusterIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface ClusterIAMPolicyArgs

The set of arguments for constructing a ClusterIAMPolicy resource.

property cluster

cluster: pulumi.Input<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property policyData

policyData: pulumi.Input<string>;

The policy data generated by a gcp.organizations.getIAMPolicy data source.

property project

project?: pulumi.Input<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

interface ClusterIAMPolicyState

Input properties used for looking up and filtering ClusterIAMPolicy resources.

property cluster

cluster?: pulumi.Input<string>;

The name or relative resource id of the cluster to manage IAM policies for.

property etag

etag?: pulumi.Input<string>;

(Computed) The etag of the clusters’s IAM policy.

property policyData

policyData?: pulumi.Input<string>;

The policy data generated by a gcp.organizations.getIAMPolicy data source.

property project

project?: pulumi.Input<string>;

The project in which the cluster belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the cluster belongs. If it is not provided, this provider will use the provider default.

interface ClusterState

Input properties used for looking up and filtering Cluster resources.

property clusterConfig

clusterConfig?: pulumi.Input<{
    bucket: pulumi.Input<string>;
    encryptionConfig: pulumi.Input<{
        kmsKeyName: pulumi.Input<string>;
    }>;
    gceClusterConfig: pulumi.Input<{
        internalIpOnly: pulumi.Input<boolean>;
        metadata: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
        network: pulumi.Input<string>;
        serviceAccount: pulumi.Input<string>;
        serviceAccountScopes: pulumi.Input<pulumi.Input<string>[]>;
        subnetwork: pulumi.Input<string>;
        tags: pulumi.Input<pulumi.Input<string>[]>;
        zone: pulumi.Input<string>;
    }>;
    initializationActions: pulumi.Input<pulumi.Input<{
        script: pulumi.Input<string>;
        timeoutSec: pulumi.Input<number>;
    }>[]>;
    masterConfig: pulumi.Input<{
        accelerators: pulumi.Input<pulumi.Input<{
            acceleratorCount: pulumi.Input<number>;
            acceleratorType: pulumi.Input<string>;
        }>[]>;
        diskConfig: pulumi.Input<{
            bootDiskSizeGb: pulumi.Input<number>;
            bootDiskType: pulumi.Input<string>;
            numLocalSsds: pulumi.Input<number>;
        }>;
        imageUri: pulumi.Input<string>;
        instanceNames: pulumi.Input<pulumi.Input<string>[]>;
        machineType: pulumi.Input<string>;
        minCpuPlatform: pulumi.Input<string>;
        numInstances: pulumi.Input<number>;
    }>;
    preemptibleWorkerConfig: pulumi.Input<{
        diskConfig: pulumi.Input<{
            bootDiskSizeGb: pulumi.Input<number>;
            bootDiskType: pulumi.Input<string>;
            numLocalSsds: pulumi.Input<number>;
        }>;
        instanceNames: pulumi.Input<pulumi.Input<string>[]>;
        numInstances: pulumi.Input<number>;
    }>;
    softwareConfig: pulumi.Input<{
        imageVersion: pulumi.Input<string>;
        optionalComponents: pulumi.Input<pulumi.Input<string>[]>;
        overrideProperties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
        properties: pulumi.Input<{[key: string]: any}>;
    }>;
    stagingBucket: pulumi.Input<string>;
    workerConfig: pulumi.Input<{
        accelerators: pulumi.Input<pulumi.Input<{
            acceleratorCount: pulumi.Input<number>;
            acceleratorType: pulumi.Input<string>;
        }>[]>;
        diskConfig: pulumi.Input<{
            bootDiskSizeGb: pulumi.Input<number>;
            bootDiskType: pulumi.Input<string>;
            numLocalSsds: pulumi.Input<number>;
        }>;
        imageUri: pulumi.Input<string>;
        instanceNames: pulumi.Input<pulumi.Input<string>[]>;
        machineType: pulumi.Input<string>;
        minCpuPlatform: pulumi.Input<string>;
        numInstances: pulumi.Input<number>;
    }>;
}>;

Allows you to configure various aspects of the cluster. Structure defined below.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The list of labels (key/value pairs) to be applied to instances in the cluster. GCP generates some itself including goog-dataproc-cluster-name which is the name of the cluster.

property name

name?: pulumi.Input<string>;

The name of the cluster, unique within the project and zone.

property project

project?: pulumi.Input<string>;

The ID of the project in which the cluster will exist. If it is not provided, the provider project is used.

property region

region?: pulumi.Input<string>;

The region in which the cluster and associated nodes will be created in. Defaults to global.

interface JobArgs

The set of arguments for constructing a Job resource.

property forceDelete

forceDelete?: pulumi.Input<boolean>;

By default, you can only delete inactive jobs within Dataproc. Setting this to true, and calling destroy, will ensure that the job is first cancelled before issuing the delete.

property hadoopConfig

hadoopConfig?: pulumi.Input<{
    archiveUris: pulumi.Input<pulumi.Input<string>[]>;
    args: pulumi.Input<pulumi.Input<string>[]>;
    fileUris: pulumi.Input<pulumi.Input<string>[]>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    mainClass: pulumi.Input<string>;
    mainJarFileUri: pulumi.Input<string>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property hiveConfig

hiveConfig?: pulumi.Input<{
    continueOnFailure: pulumi.Input<boolean>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    queryFileUri: pulumi.Input<string>;
    queryLists: pulumi.Input<pulumi.Input<string>[]>;
    scriptVariables: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The list of labels (key/value pairs) to add to the job.

property pigConfig

pigConfig?: pulumi.Input<{
    continueOnFailure: pulumi.Input<boolean>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    queryFileUri: pulumi.Input<string>;
    queryLists: pulumi.Input<pulumi.Input<string>[]>;
    scriptVariables: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property placement

placement: pulumi.Input<{
    clusterName: pulumi.Input<string>;
    clusterUuid: pulumi.Input<string>;
}>;

property project

project?: pulumi.Input<string>;

The project in which the cluster can be found and jobs subsequently run against. If it is not provided, the provider project is used.

property pysparkConfig

pysparkConfig?: pulumi.Input<{
    archiveUris: pulumi.Input<pulumi.Input<string>[]>;
    args: pulumi.Input<pulumi.Input<string>[]>;
    fileUris: pulumi.Input<pulumi.Input<string>[]>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    mainPythonFileUri: pulumi.Input<string>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    pythonFileUris: pulumi.Input<pulumi.Input<string>[]>;
}>;

property reference

reference?: pulumi.Input<{
    jobId: pulumi.Input<string>;
}>;

property region

region?: pulumi.Input<string>;

The Cloud Dataproc region. This essentially determines which clusters are available for this job to be submitted to. If not specified, defaults to global.

property scheduling

scheduling?: pulumi.Input<{
    maxFailuresPerHour: pulumi.Input<number>;
}>;

Optional. Job scheduling configuration.

property sparkConfig

sparkConfig?: pulumi.Input<{
    archiveUris: pulumi.Input<pulumi.Input<string>[]>;
    args: pulumi.Input<pulumi.Input<string>[]>;
    fileUris: pulumi.Input<pulumi.Input<string>[]>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    mainClass: pulumi.Input<string>;
    mainJarFileUri: pulumi.Input<string>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property sparksqlConfig

sparksqlConfig?: pulumi.Input<{
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    queryFileUri: pulumi.Input<string>;
    queryLists: pulumi.Input<pulumi.Input<string>[]>;
    scriptVariables: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

interface JobIAMBindingArgs

The set of arguments for constructing a JobIAMBinding resource.

property jobId

jobId: pulumi.Input<string>;

property members

property project

project?: pulumi.Input<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

property role

role: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.JobIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface JobIAMBindingState

Input properties used for looking up and filtering JobIAMBinding resources.

property etag

etag?: pulumi.Input<string>;

(Computed) The etag of the jobs’s IAM policy.

property jobId

jobId?: pulumi.Input<string>;

property members

property project

project?: pulumi.Input<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

property role

role?: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.JobIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface JobIAMMemberArgs

The set of arguments for constructing a JobIAMMember resource.

property jobId

jobId: pulumi.Input<string>;

property member

member: pulumi.Input<string>;

property project

project?: pulumi.Input<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

property role

role: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.JobIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface JobIAMMemberState

Input properties used for looking up and filtering JobIAMMember resources.

property etag

etag?: pulumi.Input<string>;

(Computed) The etag of the jobs’s IAM policy.

property jobId

jobId?: pulumi.Input<string>;

property member

member?: pulumi.Input<string>;

property project

project?: pulumi.Input<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

property role

role?: pulumi.Input<string>;

The role that should be applied. Only one gcp.dataproc.JobIAMBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

interface JobIAMPolicyArgs

The set of arguments for constructing a JobIAMPolicy resource.

property jobId

jobId: pulumi.Input<string>;

property policyData

policyData: pulumi.Input<string>;

The policy data generated by a gcp.organizations.getIAMPolicy data source.

property project

project?: pulumi.Input<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

interface JobIAMPolicyState

Input properties used for looking up and filtering JobIAMPolicy resources.

property etag

etag?: pulumi.Input<string>;

(Computed) The etag of the jobs’s IAM policy.

property jobId

jobId?: pulumi.Input<string>;

property policyData

policyData?: pulumi.Input<string>;

The policy data generated by a gcp.organizations.getIAMPolicy data source.

property project

project?: pulumi.Input<string>;

The project in which the job belongs. If it is not provided, this provider will use the provider default.

property region

region?: pulumi.Input<string>;

The region in which the job belongs. If it is not provided, this provider will use the provider default.

interface JobState

Input properties used for looking up and filtering Job resources.

property driverControlsFilesUri

driverControlsFilesUri?: pulumi.Input<string>;

If present, the location of miscellaneous control files which may be used as part of job setup and handling. If not present, control files may be placed in the same location as driver_output_uri.

property driverOutputResourceUri

driverOutputResourceUri?: pulumi.Input<string>;

A URI pointing to the location of the stdout of the job’s driver program.

property forceDelete

forceDelete?: pulumi.Input<boolean>;

By default, you can only delete inactive jobs within Dataproc. Setting this to true, and calling destroy, will ensure that the job is first cancelled before issuing the delete.

property hadoopConfig

hadoopConfig?: pulumi.Input<{
    archiveUris: pulumi.Input<pulumi.Input<string>[]>;
    args: pulumi.Input<pulumi.Input<string>[]>;
    fileUris: pulumi.Input<pulumi.Input<string>[]>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    mainClass: pulumi.Input<string>;
    mainJarFileUri: pulumi.Input<string>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property hiveConfig

hiveConfig?: pulumi.Input<{
    continueOnFailure: pulumi.Input<boolean>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    queryFileUri: pulumi.Input<string>;
    queryLists: pulumi.Input<pulumi.Input<string>[]>;
    scriptVariables: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The list of labels (key/value pairs) to add to the job.

property pigConfig

pigConfig?: pulumi.Input<{
    continueOnFailure: pulumi.Input<boolean>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    queryFileUri: pulumi.Input<string>;
    queryLists: pulumi.Input<pulumi.Input<string>[]>;
    scriptVariables: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property placement

placement?: pulumi.Input<{
    clusterName: pulumi.Input<string>;
    clusterUuid: pulumi.Input<string>;
}>;

property project

project?: pulumi.Input<string>;

The project in which the cluster can be found and jobs subsequently run against. If it is not provided, the provider project is used.

property pysparkConfig

pysparkConfig?: pulumi.Input<{
    archiveUris: pulumi.Input<pulumi.Input<string>[]>;
    args: pulumi.Input<pulumi.Input<string>[]>;
    fileUris: pulumi.Input<pulumi.Input<string>[]>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    mainPythonFileUri: pulumi.Input<string>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    pythonFileUris: pulumi.Input<pulumi.Input<string>[]>;
}>;

property reference

reference?: pulumi.Input<{
    jobId: pulumi.Input<string>;
}>;

property region

region?: pulumi.Input<string>;

The Cloud Dataproc region. This essentially determines which clusters are available for this job to be submitted to. If not specified, defaults to global.

property scheduling

scheduling?: pulumi.Input<{
    maxFailuresPerHour: pulumi.Input<number>;
}>;

Optional. Job scheduling configuration.

property sparkConfig

sparkConfig?: pulumi.Input<{
    archiveUris: pulumi.Input<pulumi.Input<string>[]>;
    args: pulumi.Input<pulumi.Input<string>[]>;
    fileUris: pulumi.Input<pulumi.Input<string>[]>;
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    mainClass: pulumi.Input<string>;
    mainJarFileUri: pulumi.Input<string>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property sparksqlConfig

sparksqlConfig?: pulumi.Input<{
    jarFileUris: pulumi.Input<pulumi.Input<string>[]>;
    loggingConfig: pulumi.Input<{
        driverLogLevels: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    }>;
    properties: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
    queryFileUri: pulumi.Input<string>;
    queryLists: pulumi.Input<pulumi.Input<string>[]>;
    scriptVariables: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
}>;

property status

status?: pulumi.Input<{
    details: pulumi.Input<string>;
    state: pulumi.Input<string>;
    stateStartTime: pulumi.Input<string>;
    substate: pulumi.Input<string>;
}>;