import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface AuthRoleConfig extends cdktf.TerraformMetaArguments { /** * Internal ID for an existing default role, e.g. 'employee'. This can be set to manage permissions on existing default roles. Note: Changing the default_role_id attribute will cause this auth_role to be dropped and recreated with a new ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#default_role_id AuthRole#default_role_id} */ readonly defaultRoleId?: string; /** * Role description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#description AuthRole#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#id AuthRole#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Role name. This cannot be modified for default roles. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#name AuthRole#name} */ readonly name: string; /** * General role permissions. e.g. 'group_creation' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#permissions AuthRole#permissions} */ readonly permissions?: string[]; /** * permission_policies block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#permission_policies AuthRole#permission_policies} */ readonly permissionPolicies?: AuthRolePermissionPolicies[] | cdktf.IResolvable; } export interface AuthRolePermissionPoliciesConditionsTermsOperands { /** * Queue ID for QUEUE types. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#queue_id AuthRole#queue_id} */ readonly queueId?: string; /** * Value type (USER | QUEUE | SCALAR | VARIABLE). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#type AuthRole#type} */ readonly type: string; /** * User ID for USER types. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#user_id AuthRole#user_id} */ readonly userId?: string; /** * Value for operand. For USER or QUEUE types, use user_id or queue_id instead. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#value AuthRole#value} */ readonly value?: string; } export declare function authRolePermissionPoliciesConditionsTermsOperandsToTerraform(struct?: AuthRolePermissionPoliciesConditionsTermsOperands | cdktf.IResolvable): any; export declare function authRolePermissionPoliciesConditionsTermsOperandsToHclTerraform(struct?: AuthRolePermissionPoliciesConditionsTermsOperands | cdktf.IResolvable): any; export declare class AuthRolePermissionPoliciesConditionsTermsOperandsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AuthRolePermissionPoliciesConditionsTermsOperands | cdktf.IResolvable | undefined; set internalValue(value: AuthRolePermissionPoliciesConditionsTermsOperands | cdktf.IResolvable | undefined); private _queueId?; get queueId(): string; set queueId(value: string); resetQueueId(): void; get queueIdInput(): string; private _type?; get type(): string; set type(value: string); get typeInput(): string; private _userId?; get userId(): string; set userId(value: string); resetUserId(): void; get userIdInput(): string; private _value?; get value(): string; set value(value: string); resetValue(): void; get valueInput(): string; } export declare class AuthRolePermissionPoliciesConditionsTermsOperandsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AuthRolePermissionPoliciesConditionsTermsOperands[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AuthRolePermissionPoliciesConditionsTermsOperandsOutputReference; } export interface AuthRolePermissionPoliciesConditionsTerms { /** * Operator type (EQ | IN | GE | GT | LE | LT). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#operator AuthRole#operator} */ readonly operator: string; /** * Variable name being compared. This varies depending on the permission. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#variable_name AuthRole#variable_name} */ readonly variableName: string; /** * operands block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#operands AuthRole#operands} */ readonly operands: AuthRolePermissionPoliciesConditionsTermsOperands[] | cdktf.IResolvable; } export declare function authRolePermissionPoliciesConditionsTermsToTerraform(struct?: AuthRolePermissionPoliciesConditionsTerms | cdktf.IResolvable): any; export declare function authRolePermissionPoliciesConditionsTermsToHclTerraform(struct?: AuthRolePermissionPoliciesConditionsTerms | cdktf.IResolvable): any; export declare class AuthRolePermissionPoliciesConditionsTermsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AuthRolePermissionPoliciesConditionsTerms | cdktf.IResolvable | undefined; set internalValue(value: AuthRolePermissionPoliciesConditionsTerms | cdktf.IResolvable | undefined); private _operator?; get operator(): string; set operator(value: string); get operatorInput(): string; private _variableName?; get variableName(): string; set variableName(value: string); get variableNameInput(): string; private _operands; get operands(): AuthRolePermissionPoliciesConditionsTermsOperandsList; putOperands(value: AuthRolePermissionPoliciesConditionsTermsOperands[] | cdktf.IResolvable): void; get operandsInput(): any; } export declare class AuthRolePermissionPoliciesConditionsTermsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AuthRolePermissionPoliciesConditionsTerms[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AuthRolePermissionPoliciesConditionsTermsOutputReference; } export interface AuthRolePermissionPoliciesConditions { /** * Conjunction for condition terms (AND | OR). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#conjunction AuthRole#conjunction} */ readonly conjunction: string; /** * terms block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#terms AuthRole#terms} */ readonly terms: AuthRolePermissionPoliciesConditionsTerms[] | cdktf.IResolvable; } export declare function authRolePermissionPoliciesConditionsToTerraform(struct?: AuthRolePermissionPoliciesConditionsOutputReference | AuthRolePermissionPoliciesConditions): any; export declare function authRolePermissionPoliciesConditionsToHclTerraform(struct?: AuthRolePermissionPoliciesConditionsOutputReference | AuthRolePermissionPoliciesConditions): any; export declare class AuthRolePermissionPoliciesConditionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AuthRolePermissionPoliciesConditions | undefined; set internalValue(value: AuthRolePermissionPoliciesConditions | undefined); private _conjunction?; get conjunction(): string; set conjunction(value: string); get conjunctionInput(): string; private _terms; get terms(): AuthRolePermissionPoliciesConditionsTermsList; putTerms(value: AuthRolePermissionPoliciesConditionsTerms[] | cdktf.IResolvable): void; get termsInput(): any; } export interface AuthRolePermissionPolicies { /** * Actions allowed on the entity or '*' for all. e.g. 'add' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#action_set AuthRole#action_set} */ readonly actionSet: string[]; /** * Permission domain. e.g 'directory' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#domain AuthRole#domain} */ readonly domain: string; /** * Permission entity or '*' for all. e.g. 'user' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#entity_name AuthRole#entity_name} */ readonly entityName: string; /** * conditions block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#conditions AuthRole#conditions} */ readonly conditions?: AuthRolePermissionPoliciesConditions; } export declare function authRolePermissionPoliciesToTerraform(struct?: AuthRolePermissionPolicies | cdktf.IResolvable): any; export declare function authRolePermissionPoliciesToHclTerraform(struct?: AuthRolePermissionPolicies | cdktf.IResolvable): any; export declare class AuthRolePermissionPoliciesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AuthRolePermissionPolicies | cdktf.IResolvable | undefined; set internalValue(value: AuthRolePermissionPolicies | cdktf.IResolvable | undefined); private _actionSet?; get actionSet(): string[]; set actionSet(value: string[]); get actionSetInput(): string[]; private _domain?; get domain(): string; set domain(value: string); get domainInput(): string; private _entityName?; get entityName(): string; set entityName(value: string); get entityNameInput(): string; private _conditions; get conditions(): AuthRolePermissionPoliciesConditionsOutputReference; putConditions(value: AuthRolePermissionPoliciesConditions): void; resetConditions(): void; get conditionsInput(): AuthRolePermissionPoliciesConditions; } export declare class AuthRolePermissionPoliciesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AuthRolePermissionPolicies[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AuthRolePermissionPoliciesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role genesyscloud_auth_role} */ export declare class AuthRole extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_auth_role"; /** * Generates CDKTF code for importing a AuthRole resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the AuthRole to import * @param importFromId The id of the existing AuthRole that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the AuthRole to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/auth_role genesyscloud_auth_role} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options AuthRoleConfig */ constructor(scope: Construct, id: string, config: AuthRoleConfig); private _defaultRoleId?; get defaultRoleId(): string; set defaultRoleId(value: string); resetDefaultRoleId(): void; get defaultRoleIdInput(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _permissions?; get permissions(): string[]; set permissions(value: string[]); resetPermissions(): void; get permissionsInput(): string[]; private _permissionPolicies; get permissionPolicies(): AuthRolePermissionPoliciesList; putPermissionPolicies(value: AuthRolePermissionPolicies[] | cdktf.IResolvable): void; resetPermissionPolicies(): void; get permissionPoliciesInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }