import * as pulumi from "@pulumi/pulumi"; /** * Represents a user store. * * To get more information about UserStore, see: * * * [API documentation](https://cloud.google.com/gemini/enterprise/docs/reference/rest/v1/projects.locations.userStores) * * ## Example Usage * * ### Discoveryengine Userstore Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const basic = new gcp.discoveryengine.LicenseConfig("basic", { * location: "us", * licenseConfigId: "license-config-id", * licenseCount: 50, * subscriptionTier: "SUBSCRIPTION_TIER_SEARCH_AND_ASSISTANT", * startDate: { * year: 2099, * month: 1, * day: 1, * }, * endDate: { * year: 2100, * month: 1, * day: 1, * }, * subscriptionTerm: "SUBSCRIPTION_TERM_ONE_YEAR", * }); * const project = gcp.organizations.getProject({}); * const basicUserStore = new gcp.discoveryengine.UserStore("basic", { * location: basic.location, * defaultLicenseConfig: pulumi.all([project, basic.location, basic.licenseConfigId]).apply(([project, location, licenseConfigId]) => `projects/${project.number}/locations/${location}/licenseConfigs/${licenseConfigId}`), * enableLicenseAutoRegister: true, * }); * ``` * * ## Import * * UserStore can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/userStores/{{user_store_id}}` * * * `{{project}}/{{location}}/{{user_store_id}}` * * * `{{location}}/{{user_store_id}}` * * When using the `pulumi import` command, UserStore can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:discoveryengine/userStore:UserStore default projects/{{project}}/locations/{{location}}/userStores/{{user_store_id}} * ``` * * ```sh * $ pulumi import gcp:discoveryengine/userStore:UserStore default {{project}}/{{location}}/{{user_store_id}} * ``` * * ```sh * $ pulumi import gcp:discoveryengine/userStore:UserStore default {{location}}/{{user_store_id}} * ``` */ export declare class UserStore extends pulumi.CustomResource { /** * Get an existing UserStore 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?: UserStoreState, opts?: pulumi.CustomResourceOptions): UserStore; /** * Returns true if the given object is an instance of UserStore. 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 UserStore; /** * The resource name of the default license config assigned to users created in * this user store. Format: * `projects/{project}/locations/{location}/licenseConfigs/{license_config}`. * If `enableLicenseAutoRegister` is true, new users will automatically * register under the default subscription. * If the default license config doesn't have remaining license seats left, * new users will not be assigned with license. */ readonly defaultLicenseConfig: pulumi.Output; /** * Whether to enable automatic license update for users with expired licenses * in this user store. If enabled, users with expired licenses will * automatically be updated to the default subscription if there are * remaining license seats. */ readonly enableExpiredLicenseAutoUpdate: pulumi.Output; /** * Whether to enable automatic license registration for new users created in * this user store. If enabled, new users will automatically register under * the default subscription. */ readonly enableLicenseAutoRegister: pulumi.Output; /** * The geographic location where the data store should reside. The value can * only be one of "global", "us" and "eu". */ readonly location: pulumi.Output; /** * The unique full resource name of the user store. Values are of the format * `projects/{project}/locations/{location}/userStores/{user_store_id}`. */ 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 ID of the user store. Currently only accepts "defaultUserStore". */ readonly userStoreId: pulumi.Output; /** * Create a UserStore 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: UserStoreArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering UserStore resources. */ export interface UserStoreState { /** * The resource name of the default license config assigned to users created in * this user store. Format: * `projects/{project}/locations/{location}/licenseConfigs/{license_config}`. * If `enableLicenseAutoRegister` is true, new users will automatically * register under the default subscription. * If the default license config doesn't have remaining license seats left, * new users will not be assigned with license. */ defaultLicenseConfig?: pulumi.Input; /** * Whether to enable automatic license update for users with expired licenses * in this user store. If enabled, users with expired licenses will * automatically be updated to the default subscription if there are * remaining license seats. */ enableExpiredLicenseAutoUpdate?: pulumi.Input; /** * Whether to enable automatic license registration for new users created in * this user store. If enabled, new users will automatically register under * the default subscription. */ enableLicenseAutoRegister?: pulumi.Input; /** * The geographic location where the data store should reside. The value can * only be one of "global", "us" and "eu". */ location?: pulumi.Input; /** * The unique full resource name of the user store. Values are of the format * `projects/{project}/locations/{location}/userStores/{user_store_id}`. */ 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 ID of the user store. Currently only accepts "defaultUserStore". */ userStoreId?: pulumi.Input; } /** * The set of arguments for constructing a UserStore resource. */ export interface UserStoreArgs { /** * The resource name of the default license config assigned to users created in * this user store. Format: * `projects/{project}/locations/{location}/licenseConfigs/{license_config}`. * If `enableLicenseAutoRegister` is true, new users will automatically * register under the default subscription. * If the default license config doesn't have remaining license seats left, * new users will not be assigned with license. */ defaultLicenseConfig?: pulumi.Input; /** * Whether to enable automatic license update for users with expired licenses * in this user store. If enabled, users with expired licenses will * automatically be updated to the default subscription if there are * remaining license seats. */ enableExpiredLicenseAutoUpdate?: pulumi.Input; /** * Whether to enable automatic license registration for new users created in * this user store. If enabled, new users will automatically register under * the default subscription. */ enableLicenseAutoRegister?: pulumi.Input; /** * The geographic location where the data store should reside. The value can * only be one of "global", "us" and "eu". */ 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; /** * The ID of the user store. Currently only accepts "defaultUserStore". */ userStoreId?: pulumi.Input; }