import * as pulumi from "@pulumi/pulumi"; /** * > **Warning:** This resource is deprecated on Jan 22, 2025. After Jan 19, 2026 the `gcp.iap.Brand` Terraform resource will no longer function as intended due to the deprecation of the IAP OAuth Admin APIs. New projects will not be able to use these APIs. March 19, 2026 The IAP OAuth Admin APIs will be permanently shut down. Access to this feature will no longer be available. * * OAuth brand data. Only "Organization Internal" brands can be created * programmatically via API. To convert it into an external brands * please use the GCP Console. * * > **Note:** Brands can only be created once for a Google Cloud * project and the underlying Google API doesn't not support DELETE or PATCH methods. * Destroying a Terraform-managed Brand will remove it from state * but *will not delete it from Google Cloud.* * * To get more information about Brand, see: * * * [API documentation](https://cloud.google.com/iap/docs/reference/rest/v1/projects.brands) * * How-to Guides * * [Setting up IAP Brand](https://cloud.google.com/iap/docs/tutorial-gce#set_up_iap) * * ## Example Usage * * ### Iap Brand * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const project = new gcp.organizations.Project("project", { * projectId: "my-project", * name: "my-project", * orgId: "123456789", * deletionPolicy: "DELETE", * }); * const projectService = new gcp.projects.Service("project_service", { * project: project.projectId, * service: "iap.googleapis.com", * }); * const projectBrand = new gcp.iap.Brand("project_brand", { * supportEmail: "support@example.com", * applicationTitle: "Cloud IAP protected Application", * project: projectService.project, * }); * ``` * * ## Import * * Brand can be imported using any of these accepted formats: * * * `projects/{{project_id}}/brands/{{brand_id}}` * * `projects/{{project_number}}/brands/{{brand_id}}` * * `{{project_number}}/{{brand_id}}` * * When using the `pulumi import` command, Brand can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:iap/brand:Brand default projects/{{project_id}}/brands/{{brand_id}} * $ pulumi import gcp:iap/brand:Brand default projects/{{project_number}}/brands/{{brand_id}} * $ pulumi import gcp:iap/brand:Brand default {{project_number}}/{{brand_id}} * ``` */ export declare class Brand extends pulumi.CustomResource { /** * Get an existing Brand 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?: BrandState, opts?: pulumi.CustomResourceOptions): Brand; /** * Returns true if the given object is an instance of Brand. 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 Brand; /** * Application name displayed on OAuth consent screen. */ readonly applicationTitle: pulumi.Output; /** * Output only. Identifier of the brand, in the format `projects/{project_number}/brands/{brand_id}` * NOTE: The name can also be expressed as `projects/{project_id}/brands/{brand_id}`, e.g. when importing. * NOTE: The brand identification corresponds to the project number as only one * brand can be created per project. */ readonly name: pulumi.Output; /** * Whether the brand is only intended for usage inside the GSuite organization only. */ readonly orgInternalOnly: 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; /** * Support email displayed on the OAuth consent screen. Can be either a * user or group email. When a user email is specified, the caller must * be the user with the associated email address. When a group email is * specified, the caller can be either a user or a service account which * is an owner of the specified group in Cloud Identity. */ readonly supportEmail: pulumi.Output; /** * Create a Brand 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: BrandArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Brand resources. */ export interface BrandState { /** * Application name displayed on OAuth consent screen. */ applicationTitle?: pulumi.Input; /** * Output only. Identifier of the brand, in the format `projects/{project_number}/brands/{brand_id}` * NOTE: The name can also be expressed as `projects/{project_id}/brands/{brand_id}`, e.g. when importing. * NOTE: The brand identification corresponds to the project number as only one * brand can be created per project. */ name?: pulumi.Input; /** * Whether the brand is only intended for usage inside the GSuite organization only. */ orgInternalOnly?: 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; /** * Support email displayed on the OAuth consent screen. Can be either a * user or group email. When a user email is specified, the caller must * be the user with the associated email address. When a group email is * specified, the caller can be either a user or a service account which * is an owner of the specified group in Cloud Identity. */ supportEmail?: pulumi.Input; } /** * The set of arguments for constructing a Brand resource. */ export interface BrandArgs { /** * Application name displayed on OAuth consent screen. */ applicationTitle: 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; /** * Support email displayed on the OAuth consent screen. Can be either a * user or group email. When a user email is specified, the caller must * be the user with the associated email address. When a group email is * specified, the caller can be either a user or a service account which * is an owner of the specified group in Cloud Identity. */ supportEmail: pulumi.Input; }