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, 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; /** * The environment this permission is valid (`https://.live.dynatrace.com`). Also required in when trying to specify a management zone permission. */ readonly environment: pulumi.Output; /** * The ID of the group this permission is valid for */ readonly group: pulumi.Output; /** * 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; /** * 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; /** * 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; /** * The environment this permission is valid (`https://.live.dynatrace.com`). Also required in when trying to specify a management zone permission. */ environment?: pulumi.Input; /** * The ID of the group this permission is valid for */ group?: pulumi.Input; /** * 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; /** * 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; } /** * 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; /** * The environment this permission is valid (`https://.live.dynatrace.com`). Also required in when trying to specify a management zone permission. */ environment?: pulumi.Input; /** * The ID of the group this permission is valid for */ group: pulumi.Input; /** * 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; /** * 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; }