import * as pulumi from "@pulumi/pulumi"; /** * Manages a Management Group. * * !> **Note:** Configuring `subscriptionIds` is not supported when using the `azure.management.GroupSubscriptionAssociation` resource, results will be unpredictable. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const current = azure.core.getSubscription({}); * const exampleParent = new azure.management.Group("example_parent", { * displayName: "ParentGroup", * subscriptionIds: [current.then(current => current.subscriptionId)], * }); * const exampleChild = new azure.management.Group("example_child", { * displayName: "ChildGroup", * parentManagementGroupId: exampleParent.id, * subscriptionIds: [current.then(current => current.subscriptionId)], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Management` - 2020-05-01 * * ## Import * * Management Groups can be imported using the `management group resource id`, e.g. * * ```sh * $ pulumi import azure:managementgroups/managementGroup:ManagementGroup example /providers/Microsoft.Management/managementGroups/group1 * ``` * * @deprecated azure.managementgroups.ManagementGroup has been deprecated in favor of azure.management.Group */ export declare class ManagementGroup extends pulumi.CustomResource { /** * Get an existing ManagementGroup 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?: ManagementGroupState, opts?: pulumi.CustomResourceOptions): ManagementGroup; /** * Returns true if the given object is an instance of ManagementGroup. 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 ManagementGroup; /** * A friendly name for this Management Group. If not specified, this will be the same as the `name`. */ readonly displayName: pulumi.Output; /** * The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * The ID of the Parent Management Group. */ readonly parentManagementGroupId: pulumi.Output; /** * A list of Subscription GUIDs which should be assigned to the Management Group. * * > **Note:** To clear all Subscriptions from the Management Group set `subscriptionIds` to an empty list */ readonly subscriptionIds: pulumi.Output; /** * The Management Group ID with the Tenant ID prefix. */ readonly tenantScopedId: pulumi.Output; /** * Create a ManagementGroup 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. */ /** @deprecated azure.managementgroups.ManagementGroup has been deprecated in favor of azure.management.Group */ constructor(name: string, args?: ManagementGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ManagementGroup resources. */ export interface ManagementGroupState { /** * A friendly name for this Management Group. If not specified, this will be the same as the `name`. */ displayName?: pulumi.Input; /** * The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The ID of the Parent Management Group. */ parentManagementGroupId?: pulumi.Input; /** * A list of Subscription GUIDs which should be assigned to the Management Group. * * > **Note:** To clear all Subscriptions from the Management Group set `subscriptionIds` to an empty list */ subscriptionIds?: pulumi.Input[]>; /** * The Management Group ID with the Tenant ID prefix. */ tenantScopedId?: pulumi.Input; } /** * The set of arguments for constructing a ManagementGroup resource. */ export interface ManagementGroupArgs { /** * A friendly name for this Management Group. If not specified, this will be the same as the `name`. */ displayName?: pulumi.Input; /** * The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The ID of the Parent Management Group. */ parentManagementGroupId?: pulumi.Input; /** * A list of Subscription GUIDs which should be assigned to the Management Group. * * > **Note:** To clear all Subscriptions from the Management Group set `subscriptionIds` to an empty list */ subscriptionIds?: pulumi.Input[]>; }