import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A service instance is an instance of the Dataproc operator running on a GDC cluster. * * To get more information about ServiceInstance, see: * * * [API documentation](https://cloud.google.com/dataproc-gdc/docs/reference/rest/v1/projects.locations.serviceInstances) * * How-to Guides * * [Dataproc Intro](https://cloud.google.com/dataproc/) * * ## Example Usage * * ### Dataprocgdc Serviceinstance * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const service_instance = new gcp.dataproc.GdcServiceInstance("service-instance", { * serviceInstanceId: "tf-e2e-service-instance", * project: "my-project", * location: "us-west2", * gdceCluster: { * gdceCluster: "projects/gdce-cluster-monitoring/locations/us-west2/clusters/gdce-prism-prober-ord106", * }, * displayName: "A service instance", * labels: { * "test-label": "label-value", * }, * serviceAccount: "dataprocgdc-cep-workflows@gdce-cluster-monitoring.iam.gserviceaccount.com", * }); * ``` * * ## Import * * ServiceInstance can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/serviceInstances/{{service_instance_id}}` * * * `{{project}}/{{location}}/{{service_instance_id}}` * * * `{{location}}/{{service_instance_id}}` * * When using the `pulumi import` command, ServiceInstance can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:dataproc/gdcServiceInstance:GdcServiceInstance default projects/{{project}}/locations/{{location}}/serviceInstances/{{service_instance_id}} * ``` * * ```sh * $ pulumi import gcp:dataproc/gdcServiceInstance:GdcServiceInstance default {{project}}/{{location}}/{{service_instance_id}} * ``` * * ```sh * $ pulumi import gcp:dataproc/gdcServiceInstance:GdcServiceInstance default {{location}}/{{service_instance_id}} * ``` */ export declare class GdcServiceInstance extends pulumi.CustomResource { /** * Get an existing GdcServiceInstance resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: GdcServiceInstanceState, opts?: pulumi.CustomResourceOptions): GdcServiceInstance; /** * Returns true if the given object is an instance of GdcServiceInstance. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is GdcServiceInstance; /** * The timestamp when the resource was created. */ readonly createTime: pulumi.Output; /** * User-provided human-readable name to be used in user interfaces. */ readonly displayName: pulumi.Output; /** * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services. */ readonly effectiveLabels: pulumi.Output<{ [key: string]: string; }>; /** * Effective service account associated with ServiceInstance. This will be the serviceAccount if specified. Otherwise, it will be an automatically created per-resource P4SA that also automatically has Fleet Workload. Identity bindings applied. */ readonly effectiveServiceAccount: pulumi.Output; /** * Gdce cluster information. * Structure is documented below. */ readonly gdceCluster: pulumi.Output; /** * The labels to associate with this service instance. Labels may be used for filtering and billing tracking. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ readonly labels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Location of the resource. */ readonly location: pulumi.Output; /** * Identifier. The name of the service instance. */ readonly name: pulumi.Output; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ readonly pulumiLabels: pulumi.Output<{ [key: string]: string; }>; /** * Whether the service instance is currently reconciling. True if the current state of the resource does not match the intended state, and the system is working to reconcile them, whether or not the change was user initiated. */ readonly reconciling: pulumi.Output; /** * The intended state to which the service instance is reconciling. Possible values: * * `CREATING` * * `ACTIVE` * * `DISCONNECTED` * * `DELETING` * * `STOPPING` * * `STOPPED` * * `STARTING` * * `UPDATING` * * `FAILED` */ readonly requestedState: pulumi.Output; /** * Requested service account to associate with ServiceInstance. */ readonly serviceAccount: pulumi.Output; /** * Id of the service instance. */ readonly serviceInstanceId: pulumi.Output; /** * Spark-specific service instance configuration. */ readonly sparkServiceInstanceConfig: pulumi.Output; /** * The current state. Possible values: * * `CREATING` * * `ACTIVE` * * `DISCONNECTED` * * `DELETING` * * `STOPPING` * * `STOPPED` * * `STARTING` * * `UPDATING` * * `FAILED` */ readonly state: pulumi.Output; /** * A message explaining the current state. */ readonly stateMessage: pulumi.Output; /** * System generated unique identifier for this service instance, formatted as UUID4. */ readonly uid: pulumi.Output; /** * The timestamp when the resource was most recently updated. */ readonly updateTime: pulumi.Output; /** * Create a GdcServiceInstance resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: GdcServiceInstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering GdcServiceInstance resources. */ export interface GdcServiceInstanceState { /** * The timestamp when the resource was created. */ createTime?: pulumi.Input; /** * User-provided human-readable name to be used in user interfaces. */ displayName?: pulumi.Input; /** * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services. */ effectiveLabels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Effective service account associated with ServiceInstance. This will be the serviceAccount if specified. Otherwise, it will be an automatically created per-resource P4SA that also automatically has Fleet Workload. Identity bindings applied. */ effectiveServiceAccount?: pulumi.Input; /** * Gdce cluster information. * Structure is documented below. */ gdceCluster?: pulumi.Input; /** * The labels to associate with this service instance. Labels may be used for filtering and billing tracking. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Location of the resource. */ location?: pulumi.Input; /** * Identifier. The name of the service instance. */ name?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ pulumiLabels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Whether the service instance is currently reconciling. True if the current state of the resource does not match the intended state, and the system is working to reconcile them, whether or not the change was user initiated. */ reconciling?: pulumi.Input; /** * The intended state to which the service instance is reconciling. Possible values: * * `CREATING` * * `ACTIVE` * * `DISCONNECTED` * * `DELETING` * * `STOPPING` * * `STOPPED` * * `STARTING` * * `UPDATING` * * `FAILED` */ requestedState?: pulumi.Input; /** * Requested service account to associate with ServiceInstance. */ serviceAccount?: pulumi.Input; /** * Id of the service instance. */ serviceInstanceId?: pulumi.Input; /** * Spark-specific service instance configuration. */ sparkServiceInstanceConfig?: pulumi.Input; /** * The current state. Possible values: * * `CREATING` * * `ACTIVE` * * `DISCONNECTED` * * `DELETING` * * `STOPPING` * * `STOPPED` * * `STARTING` * * `UPDATING` * * `FAILED` */ state?: pulumi.Input; /** * A message explaining the current state. */ stateMessage?: pulumi.Input; /** * System generated unique identifier for this service instance, formatted as UUID4. */ uid?: pulumi.Input; /** * The timestamp when the resource was most recently updated. */ updateTime?: pulumi.Input; } /** * The set of arguments for constructing a GdcServiceInstance resource. */ export interface GdcServiceInstanceArgs { /** * User-provided human-readable name to be used in user interfaces. */ displayName?: pulumi.Input; /** * Gdce cluster information. * Structure is documented below. */ gdceCluster?: pulumi.Input; /** * The labels to associate with this service instance. Labels may be used for filtering and billing tracking. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Location of the resource. */ location: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * Requested service account to associate with ServiceInstance. */ serviceAccount?: pulumi.Input; /** * Id of the service instance. */ serviceInstanceId: pulumi.Input; /** * Spark-specific service instance configuration. */ sparkServiceInstanceConfig?: pulumi.Input; }