UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

350 lines (349 loc) • 13 kB
import * as pulumi from "@pulumi/pulumi"; /** * A Firebase Data Connect service. * * To get more information about Service, see: * * * [API documentation](https://firebase.google.com/docs/reference/data-connect/rest) * * How-to Guides * * [Official Documentation](https://firebase.google.com/docs/data-connect) * * ## Example Usage * * ### Firebasedataconnect Service Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // Enable Firebase Data Connect API * const fdc = new gcp.projects.Service("fdc", { * project: "my-project-name", * service: "firebasedataconnect.googleapis.com", * }); * // Create a Firebase Data Connect service * const _default = new gcp.firebase.DataConnectService("default", { * project: "my-project-name", * location: "us-central1", * serviceId: "example-service", * deletionPolicy: "DEFAULT", * labels: { * label: "my-label", * }, * annotations: { * key1: "value1", * key2: "value2", * }, * }, { * dependsOn: [fdc], * }); * ``` * ### Firebasedataconnect Service With Force Deletion * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // Enable Firebase Data Connect API * const fdc = new gcp.projects.Service("fdc", { * project: "my-project-name", * service: "firebasedataconnect.googleapis.com", * }); * // Create a Firebase Data Connect service * const _default = new gcp.firebase.DataConnectService("default", { * project: "my-project-name", * location: "us-central1", * serviceId: "example-service", * deletionPolicy: "FORCE", * }, { * dependsOn: [fdc], * }); * ``` * * ## Import * * Service can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/services/{{service_id}}` * * * `{{project}}/{{location}}/{{service_id}}` * * * `{{location}}/{{service_id}}` * * When using the `pulumi import` command, Service can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:firebase/dataConnectService:DataConnectService default projects/{{project}}/locations/{{location}}/services/{{service_id}} * ``` * * ```sh * $ pulumi import gcp:firebase/dataConnectService:DataConnectService default {{project}}/{{location}}/{{service_id}} * ``` * * ```sh * $ pulumi import gcp:firebase/dataConnectService:DataConnectService default {{location}}/{{service_id}} * ``` */ export declare class DataConnectService extends pulumi.CustomResource { /** * Get an existing DataConnectService 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<pulumi.ID>, state?: DataConnectServiceState, opts?: pulumi.CustomResourceOptions): DataConnectService; /** * Returns true if the given object is an instance of DataConnectService. 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 DataConnectService; /** * Optional. Stores small amounts of arbitrary data. * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration. * Please refer to the field `effectiveAnnotations` for all of the annotations present on the resource. */ readonly annotations: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Output only. [Output only] Create time stamp. */ readonly createTime: pulumi.Output<string>; /** * The deletion policy for the database. Setting the field to FORCE allows the * Service to be deleted even if a Schema or Connector is present. By default, * the Service deletion will only succeed when no Schema or Connectors are * present. * Possible values: DEFAULT, FORCE */ readonly deletionPolicy: pulumi.Output<string | undefined>; /** * Optional. Mutable human-readable name. 63 character limit. */ readonly displayName: pulumi.Output<string | undefined>; readonly effectiveAnnotations: pulumi.Output<{ [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. */ readonly effectiveLabels: pulumi.Output<{ [key: string]: string; }>; /** * Output only. This checksum is computed by the server based on the value of other * fields, and may be sent on update and delete requests to ensure the * client has an up-to-date value before proceeding. * [AIP-154](https://google.aip.dev/154) */ readonly etag: pulumi.Output<string>; /** * Optional. Labels as key value pairs. * **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>; /** * The region in which the service resides, e.g. "us-central1" or "asia-east1". */ readonly location: pulumi.Output<string>; /** * Identifier. The relative resource name of the Firebase Data Connect service, in the * format: * ``` * projects/{project}/locations/{location}/services/{service} * ``` * Note that the service ID is specific to Firebase Data Connect and does not * correspond to any of the instance IDs of the underlying data source * connections. */ readonly name: pulumi.Output<string>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output<string>; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ readonly pulumiLabels: pulumi.Output<{ [key: string]: string; }>; /** * Output only. A field that if true, indicates that the system is working update the * service. */ readonly reconciling: pulumi.Output<boolean>; /** * Required. The ID to use for the service, which will become the final component of the * service's resource name. */ readonly serviceId: pulumi.Output<string>; /** * Output only. System-assigned, unique identifier. */ readonly uid: pulumi.Output<string>; /** * Output only. [Output only] Update time stamp. */ readonly updateTime: pulumi.Output<string>; /** * Create a DataConnectService 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: DataConnectServiceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DataConnectService resources. */ export interface DataConnectServiceState { /** * Optional. Stores small amounts of arbitrary data. * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration. * Please refer to the field `effectiveAnnotations` for all of the annotations present on the resource. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Output only. [Output only] Create time stamp. */ createTime?: pulumi.Input<string>; /** * The deletion policy for the database. Setting the field to FORCE allows the * Service to be deleted even if a Schema or Connector is present. By default, * the Service deletion will only succeed when no Schema or Connectors are * present. * Possible values: DEFAULT, FORCE */ deletionPolicy?: pulumi.Input<string>; /** * Optional. Mutable human-readable name. 63 character limit. */ displayName?: pulumi.Input<string>; effectiveAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * 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<string>; }>; /** * Output only. This checksum is computed by the server based on the value of other * fields, and may be sent on update and delete requests to ensure the * client has an up-to-date value before proceeding. * [AIP-154](https://google.aip.dev/154) */ etag?: pulumi.Input<string>; /** * Optional. Labels as key value pairs. * **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<string>; }>; /** * The region in which the service resides, e.g. "us-central1" or "asia-east1". */ location?: pulumi.Input<string>; /** * Identifier. The relative resource name of the Firebase Data Connect service, in the * format: * ``` * projects/{project}/locations/{location}/services/{service} * ``` * Note that the service ID is specific to Firebase Data Connect and does not * correspond to any of the instance IDs of the underlying data source * connections. */ name?: pulumi.Input<string>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ pulumiLabels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Output only. A field that if true, indicates that the system is working update the * service. */ reconciling?: pulumi.Input<boolean>; /** * Required. The ID to use for the service, which will become the final component of the * service's resource name. */ serviceId?: pulumi.Input<string>; /** * Output only. System-assigned, unique identifier. */ uid?: pulumi.Input<string>; /** * Output only. [Output only] Update time stamp. */ updateTime?: pulumi.Input<string>; } /** * The set of arguments for constructing a DataConnectService resource. */ export interface DataConnectServiceArgs { /** * Optional. Stores small amounts of arbitrary data. * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration. * Please refer to the field `effectiveAnnotations` for all of the annotations present on the resource. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The deletion policy for the database. Setting the field to FORCE allows the * Service to be deleted even if a Schema or Connector is present. By default, * the Service deletion will only succeed when no Schema or Connectors are * present. * Possible values: DEFAULT, FORCE */ deletionPolicy?: pulumi.Input<string>; /** * Optional. Mutable human-readable name. 63 character limit. */ displayName?: pulumi.Input<string>; /** * Optional. Labels as key value pairs. * **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<string>; }>; /** * The region in which the service resides, e.g. "us-central1" or "asia-east1". */ location: pulumi.Input<string>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Required. The ID to use for the service, which will become the final component of the * service's resource name. */ serviceId: pulumi.Input<string>; }