import * as pulumi from "@pulumi/pulumi";
/**
 * > **Dynatrace SaaS only**
 *
 * > To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Allow read access for identity resources (users and groups)** (`account-idm-read`) and **Allow write access for identity resources (users and groups)** (`account-idm-write`).
 *
 * > This resource is excluded by default in the export utility, please explicitly specify the resource to retrieve existing configuration.
 *
 * ## Dynatrace Documentation
 *
 * - Dynatrace IAM - https://www.dynatrace.com/support/help/how-to-use-dynatrace/user-management-and-sso/manage-groups-and-permissions
 *
 * - Settings API - https://www.dynatrace.com/support/help/how-to-use-dynatrace/user-management-and-sso/manage-groups-and-permissions/iam/iam-getting-started
 *
 * ## Resource Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as dynatrace from "@pulumiverse/dynatrace";
 *
 * const permA = new dynatrace.IamPermission("permA", {
 *     account: "023733f0-86d8-47d1-88bd-7f5cc2e22eb8",
 *     group: "74ec0a82-8010-4f11-8579-b29a5ba865f0",
 * });
 * ```
 */
export declare class IamPermission extends pulumi.CustomResource {
    /**
     * Get an existing IamPermission 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?: IamPermissionState, opts?: pulumi.CustomResourceOptions): IamPermission;
    /**
     * Returns true if the given object is an instance of IamPermission.  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 IamPermission;
    /**
     * The UUID of the account this permission is valid for
     */
    readonly account: pulumi.Output<string | undefined>;
    /**
     * The environment this permission is valid (`https://<environmentid>.live.dynatrace.com`). Also required in when trying to specify a management zone permission.
     */
    readonly environment: pulumi.Output<string | undefined>;
    /**
     * The ID of the group this permission is valid for
     */
    readonly group: pulumi.Output<string>;
    /**
     * The management zone this permission is valid for. You need to use the attribute `legacyId` when referring to a resource `dynatrace.ManagementZoneV2` or a data source `dynatrace.ManagementZone`. The attribute `environment` is required to get specified also in order to identify the management zone uniquely.
     */
    readonly managementZone: pulumi.Output<string | undefined>;
    /**
     * Possible values: `account-company-info`, `account-user-management`, `account-viewer`, `account-saml-flexible-federation`, `tenant-viewer`, `tenant-manage-settings`, `tenant-agent-install`, `tenant-logviewer`, `tenant-view-sensitive-request-data`, `tenant-configure-request-capture-data`, `tenant-replay-sessions-with-masking`, `tenant-replay-sessions-without-masking`, `tenant-manage-security-problems`, `tenant-view-security-problems`, `tenant-manage-support-tickets`
     */
    readonly name: pulumi.Output<string>;
    /**
     * Create a IamPermission 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: IamPermissionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering IamPermission resources.
 */
export interface IamPermissionState {
    /**
     * The UUID of the account this permission is valid for
     */
    account?: pulumi.Input<string>;
    /**
     * The environment this permission is valid (`https://<environmentid>.live.dynatrace.com`). Also required in when trying to specify a management zone permission.
     */
    environment?: pulumi.Input<string>;
    /**
     * The ID of the group this permission is valid for
     */
    group?: pulumi.Input<string>;
    /**
     * The management zone this permission is valid for. You need to use the attribute `legacyId` when referring to a resource `dynatrace.ManagementZoneV2` or a data source `dynatrace.ManagementZone`. The attribute `environment` is required to get specified also in order to identify the management zone uniquely.
     */
    managementZone?: pulumi.Input<string>;
    /**
     * Possible values: `account-company-info`, `account-user-management`, `account-viewer`, `account-saml-flexible-federation`, `tenant-viewer`, `tenant-manage-settings`, `tenant-agent-install`, `tenant-logviewer`, `tenant-view-sensitive-request-data`, `tenant-configure-request-capture-data`, `tenant-replay-sessions-with-masking`, `tenant-replay-sessions-without-masking`, `tenant-manage-security-problems`, `tenant-view-security-problems`, `tenant-manage-support-tickets`
     */
    name?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a IamPermission resource.
 */
export interface IamPermissionArgs {
    /**
     * The UUID of the account this permission is valid for
     */
    account?: pulumi.Input<string>;
    /**
     * The environment this permission is valid (`https://<environmentid>.live.dynatrace.com`). Also required in when trying to specify a management zone permission.
     */
    environment?: pulumi.Input<string>;
    /**
     * The ID of the group this permission is valid for
     */
    group: pulumi.Input<string>;
    /**
     * The management zone this permission is valid for. You need to use the attribute `legacyId` when referring to a resource `dynatrace.ManagementZoneV2` or a data source `dynatrace.ManagementZone`. The attribute `environment` is required to get specified also in order to identify the management zone uniquely.
     */
    managementZone?: pulumi.Input<string>;
    /**
     * Possible values: `account-company-info`, `account-user-management`, `account-viewer`, `account-saml-flexible-federation`, `tenant-viewer`, `tenant-manage-settings`, `tenant-agent-install`, `tenant-logviewer`, `tenant-view-sensitive-request-data`, `tenant-configure-request-capture-data`, `tenant-replay-sessions-with-masking`, `tenant-replay-sessions-without-masking`, `tenant-manage-security-problems`, `tenant-view-security-problems`, `tenant-manage-support-tickets`
     */
    name?: pulumi.Input<string>;
}
