import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Domain resource in Oracle Cloud Infrastructure Identity service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/identity/latest/Domain * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/identity * * Creates a new domain in the tenancy with domain home in {@code homeRegion}. This is an asynchronous call - where, at start, * {@code lifecycleState} of this domain is set to CREATING and {@code lifecycleDetails} to UPDATING. On domain creation completion * this Domain's {@code lifecycleState} will be set to ACTIVE and {@code lifecycleDetails} to null. * * To track progress, HTTP GET on /iamWorkRequests/{iamWorkRequestsId} endpoint will provide * the async operation's status. * * After creating a `Domain`, make sure its `lifecycleState` changes from CREATING to ACTIVE * before using it. * If the domain's {@code displayName} already exists, returns 400 BAD REQUEST. * If any one of admin related fields are provided and one of the following 3 fields * - {@code adminEmail}, {@code adminLastName} and {@code adminUserName} - is not provided, * returns 400 BAD REQUEST. * - If {@code isNotificationBypassed} is NOT provided when admin information is provided, * returns 400 BAD REQUEST. * - If any internal error occurs, return 500 INTERNAL SERVER ERROR. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testDomain = new oci.identity.Domain("test_domain", { * compartmentId: compartmentId, * description: domainDescription, * displayName: domainDisplayName, * homeRegion: domainHomeRegion, * licenseType: domainLicenseType, * adminEmail: domainAdminEmail, * adminFirstName: domainAdminFirstName, * adminLastName: domainAdminLastName, * adminUserName: testUser.name, * definedTags: { * "Operations.CostCenter": "42", * }, * freeformTags: { * Department: "Finance", * }, * isHiddenOnLogin: domainIsHiddenOnLogin === "true", * isNotificationBypassed: domainIsNotificationBypassed === "true", * isPrimaryEmailRequired: domainIsPrimaryEmailRequired === "true", * }); * ``` * * ## Import * * Domains can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Identity/domain:Domain test_domain "id" * ``` */ export declare class Domain extends pulumi.CustomResource { /** * Get an existing Domain 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?: DomainState, opts?: pulumi.CustomResourceOptions): Domain; /** * Returns true if the given object is an instance of Domain. 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 Domain; /** * The admin email address */ readonly adminEmail: pulumi.Output; /** * The admin first name */ readonly adminFirstName: pulumi.Output; /** * The admin last name */ readonly adminLastName: pulumi.Output; /** * The admin user name */ readonly adminUserName: pulumi.Output; /** * (Updatable) The OCID of the Compartment where domain is created */ readonly compartmentId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) Domain entity description */ readonly description: pulumi.Output; /** * (Updatable) The mutable display name of the domain. */ readonly displayName: pulumi.Output; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * The region's name. See [Regions and Availability Domains](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm) for the full list of supported region names. Example: `us-phoenix-1` */ readonly homeRegion: pulumi.Output; /** * Region specific domain URL. */ readonly homeRegionUrl: pulumi.Output; /** * (Updatable) Indicates whether domain is hidden on login screen or not. */ readonly isHiddenOnLogin: pulumi.Output; /** * Indicates if admin user created in IDCS stripe would like to receive notification like welcome email or not. Required field only if admin information is provided, otherwise optional. */ readonly isNotificationBypassed: pulumi.Output; /** * Optional field to indicate whether users in the domain are required to have a primary email address or not Defaults to true */ readonly isPrimaryEmailRequired: pulumi.Output; /** * The License type of Domain * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly licenseType: pulumi.Output; /** * Any additional details about the current state of the Domain. */ readonly lifecycleDetails: pulumi.Output; /** * The regions domain is replication to. */ readonly replicaRegions: pulumi.Output; /** * The current state. */ readonly state: pulumi.Output; /** * Date and time the domain was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z` */ readonly timeCreated: pulumi.Output; /** * The type of the domain. */ readonly type: pulumi.Output; /** * Region agnostic domain URL. */ readonly url: pulumi.Output; /** * Create a Domain 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: DomainArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Domain resources. */ export interface DomainState { /** * The admin email address */ adminEmail?: pulumi.Input; /** * The admin first name */ adminFirstName?: pulumi.Input; /** * The admin last name */ adminLastName?: pulumi.Input; /** * The admin user name */ adminUserName?: pulumi.Input; /** * (Updatable) The OCID of the Compartment where domain is created */ compartmentId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Domain entity description */ description?: pulumi.Input; /** * (Updatable) The mutable display name of the domain. */ displayName?: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The region's name. See [Regions and Availability Domains](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm) for the full list of supported region names. Example: `us-phoenix-1` */ homeRegion?: pulumi.Input; /** * Region specific domain URL. */ homeRegionUrl?: pulumi.Input; /** * (Updatable) Indicates whether domain is hidden on login screen or not. */ isHiddenOnLogin?: pulumi.Input; /** * Indicates if admin user created in IDCS stripe would like to receive notification like welcome email or not. Required field only if admin information is provided, otherwise optional. */ isNotificationBypassed?: pulumi.Input; /** * Optional field to indicate whether users in the domain are required to have a primary email address or not Defaults to true */ isPrimaryEmailRequired?: pulumi.Input; /** * The License type of Domain * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ licenseType?: pulumi.Input; /** * Any additional details about the current state of the Domain. */ lifecycleDetails?: pulumi.Input; /** * The regions domain is replication to. */ replicaRegions?: pulumi.Input[] | undefined>; /** * The current state. */ state?: pulumi.Input; /** * Date and time the domain was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z` */ timeCreated?: pulumi.Input; /** * The type of the domain. */ type?: pulumi.Input; /** * Region agnostic domain URL. */ url?: pulumi.Input; } /** * The set of arguments for constructing a Domain resource. */ export interface DomainArgs { /** * The admin email address */ adminEmail?: pulumi.Input; /** * The admin first name */ adminFirstName?: pulumi.Input; /** * The admin last name */ adminLastName?: pulumi.Input; /** * The admin user name */ adminUserName?: pulumi.Input; /** * (Updatable) The OCID of the Compartment where domain is created */ compartmentId: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Domain entity description */ description: pulumi.Input; /** * (Updatable) The mutable display name of the domain. */ displayName: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The region's name. See [Regions and Availability Domains](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm) for the full list of supported region names. Example: `us-phoenix-1` */ homeRegion: pulumi.Input; /** * (Updatable) Indicates whether domain is hidden on login screen or not. */ isHiddenOnLogin?: pulumi.Input; /** * Indicates if admin user created in IDCS stripe would like to receive notification like welcome email or not. Required field only if admin information is provided, otherwise optional. */ isNotificationBypassed?: pulumi.Input; /** * Optional field to indicate whether users in the domain are required to have a primary email address or not Defaults to true */ isPrimaryEmailRequired?: pulumi.Input; /** * The License type of Domain * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ licenseType: pulumi.Input; /** * The current state. */ state?: pulumi.Input; } //# sourceMappingURL=domain.d.ts.map