UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

620 lines (619 loc) 42.4 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface PrivilegedAccessManagerEntitlementConfig extends cdktf.TerraformMetaArguments { /** * The ID to use for this Entitlement. This will become the last part of the resource name. * This value should be 4-63 characters, and valid characters are "[a-z]", "[0-9]", and "-". The first character should be from [a-z]. * This value should be unique among all other Entitlements under the specified 'parent'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#entitlement_id PrivilegedAccessManagerEntitlement#entitlement_id} */ readonly entitlementId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#id PrivilegedAccessManagerEntitlement#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; /** * The region of the Entitlement resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#location PrivilegedAccessManagerEntitlement#location} */ readonly location: string; /** * The maximum amount of time for which access would be granted for a request. * A requester can choose to ask for access for less than this duration but never more. * Format: calculate the time in seconds and concatenate it with 's' i.e. 2 hours = "7200s", 45 minutes = "2700s" * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#max_request_duration PrivilegedAccessManagerEntitlement#max_request_duration} */ readonly maxRequestDuration: string; /** * Format: projects/{project-id|project-number} or organizations/{organization-number} or folders/{folder-number} * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#parent PrivilegedAccessManagerEntitlement#parent} */ readonly parent: string; /** * additional_notification_targets block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#additional_notification_targets PrivilegedAccessManagerEntitlement#additional_notification_targets} */ readonly additionalNotificationTargets?: PrivilegedAccessManagerEntitlementAdditionalNotificationTargets; /** * approval_workflow block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#approval_workflow PrivilegedAccessManagerEntitlement#approval_workflow} */ readonly approvalWorkflow?: PrivilegedAccessManagerEntitlementApprovalWorkflow; /** * eligible_users block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#eligible_users PrivilegedAccessManagerEntitlement#eligible_users} */ readonly eligibleUsers: PrivilegedAccessManagerEntitlementEligibleUsers[] | cdktf.IResolvable; /** * privileged_access block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#privileged_access PrivilegedAccessManagerEntitlement#privileged_access} */ readonly privilegedAccess: PrivilegedAccessManagerEntitlementPrivilegedAccess; /** * requester_justification_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#requester_justification_config PrivilegedAccessManagerEntitlement#requester_justification_config} */ readonly requesterJustificationConfig: PrivilegedAccessManagerEntitlementRequesterJustificationConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#timeouts PrivilegedAccessManagerEntitlement#timeouts} */ readonly timeouts?: PrivilegedAccessManagerEntitlementTimeouts; } export interface PrivilegedAccessManagerEntitlementAdditionalNotificationTargets { /** * Optional. Additional email addresses to be notified when a principal(requester) is granted access. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#admin_email_recipients PrivilegedAccessManagerEntitlement#admin_email_recipients} */ readonly adminEmailRecipients?: string[]; /** * Optional. Additional email address to be notified about an eligible entitlement. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#requester_email_recipients PrivilegedAccessManagerEntitlement#requester_email_recipients} */ readonly requesterEmailRecipients?: string[]; } export declare function privilegedAccessManagerEntitlementAdditionalNotificationTargetsToTerraform(struct?: PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference | PrivilegedAccessManagerEntitlementAdditionalNotificationTargets): any; export declare function privilegedAccessManagerEntitlementAdditionalNotificationTargetsToHclTerraform(struct?: PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference | PrivilegedAccessManagerEntitlementAdditionalNotificationTargets): any; export declare class PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference 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(): PrivilegedAccessManagerEntitlementAdditionalNotificationTargets | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementAdditionalNotificationTargets | undefined); private _adminEmailRecipients?; get adminEmailRecipients(): string[]; set adminEmailRecipients(value: string[]); resetAdminEmailRecipients(): void; get adminEmailRecipientsInput(): string[] | undefined; private _requesterEmailRecipients?; get requesterEmailRecipients(): string[]; set requesterEmailRecipients(value: string[]); resetRequesterEmailRecipients(): void; get requesterEmailRecipientsInput(): string[] | undefined; } export interface PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers { /** * Users who are being allowed for the operation. Each entry should be a valid v1 IAM Principal Identifier. Format for these is documented at: https://cloud.google.com/iam/docs/principal-identifiers#v1 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#principals PrivilegedAccessManagerEntitlement#principals} */ readonly principals: string[]; } export declare function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference | PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers): any; export declare function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToHclTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference | PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers): any; export declare class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference 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(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers | undefined); private _principals?; get principals(): string[]; set principals(value: string[]); get principalsInput(): string[] | undefined; } export interface PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps { /** * How many users from the above list need to approve. * If there are not enough distinct users in the list above then the workflow * will indefinitely block. Should always be greater than 0. Currently 1 is the only * supported value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#approvals_needed PrivilegedAccessManagerEntitlement#approvals_needed} */ readonly approvalsNeeded?: number; /** * Optional. Additional email addresses to be notified when a grant is pending approval. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#approver_email_recipients PrivilegedAccessManagerEntitlement#approver_email_recipients} */ readonly approverEmailRecipients?: string[]; /** * approvers block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#approvers PrivilegedAccessManagerEntitlement#approvers} */ readonly approvers: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers; } export declare function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps | cdktf.IResolvable): any; export declare function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToHclTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps | cdktf.IResolvable): any; export declare class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference 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(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps | cdktf.IResolvable | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps | cdktf.IResolvable | undefined); private _approvalsNeeded?; get approvalsNeeded(): number; set approvalsNeeded(value: number); resetApprovalsNeeded(): void; get approvalsNeededInput(): number | undefined; private _approverEmailRecipients?; get approverEmailRecipients(): string[]; set approverEmailRecipients(value: string[]); resetApproverEmailRecipients(): void; get approverEmailRecipientsInput(): string[] | undefined; private _approvers; get approvers(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference; putApprovers(value: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers): void; get approversInput(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApprovers | undefined; } export declare class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps[] | 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): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference; } export interface PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals { /** * Optional. Do the approvers need to provide a justification for their actions? * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#require_approver_justification PrivilegedAccessManagerEntitlement#require_approver_justification} */ readonly requireApproverJustification?: boolean | cdktf.IResolvable; /** * steps block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#steps PrivilegedAccessManagerEntitlement#steps} */ readonly steps: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps[] | cdktf.IResolvable; } export declare function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference | PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals): any; export declare function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToHclTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference | PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals): any; export declare class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference 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(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals | undefined); private _requireApproverJustification?; get requireApproverJustification(): boolean | cdktf.IResolvable; set requireApproverJustification(value: boolean | cdktf.IResolvable); resetRequireApproverJustification(): void; get requireApproverJustificationInput(): boolean | cdktf.IResolvable | undefined; private _steps; get steps(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList; putSteps(value: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps[] | cdktf.IResolvable): void; get stepsInput(): cdktf.IResolvable | PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsSteps[] | undefined; } export interface PrivilegedAccessManagerEntitlementApprovalWorkflow { /** * manual_approvals block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#manual_approvals PrivilegedAccessManagerEntitlement#manual_approvals} */ readonly manualApprovals: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals; } export declare function privilegedAccessManagerEntitlementApprovalWorkflowToTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference | PrivilegedAccessManagerEntitlementApprovalWorkflow): any; export declare function privilegedAccessManagerEntitlementApprovalWorkflowToHclTerraform(struct?: PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference | PrivilegedAccessManagerEntitlementApprovalWorkflow): any; export declare class PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference 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(): PrivilegedAccessManagerEntitlementApprovalWorkflow | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementApprovalWorkflow | undefined); private _manualApprovals; get manualApprovals(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference; putManualApprovals(value: PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals): void; get manualApprovalsInput(): PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovals | undefined; } export interface PrivilegedAccessManagerEntitlementEligibleUsers { /** * Users who are being allowed for the operation. Each entry should be a valid v1 IAM Principal Identifier. Format for these is documented at "https://cloud.google.com/iam/docs/principal-identifiers#v1" * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#principals PrivilegedAccessManagerEntitlement#principals} */ readonly principals: string[]; } export declare function privilegedAccessManagerEntitlementEligibleUsersToTerraform(struct?: PrivilegedAccessManagerEntitlementEligibleUsers | cdktf.IResolvable): any; export declare function privilegedAccessManagerEntitlementEligibleUsersToHclTerraform(struct?: PrivilegedAccessManagerEntitlementEligibleUsers | cdktf.IResolvable): any; export declare class PrivilegedAccessManagerEntitlementEligibleUsersOutputReference 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(): PrivilegedAccessManagerEntitlementEligibleUsers | cdktf.IResolvable | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementEligibleUsers | cdktf.IResolvable | undefined); private _principals?; get principals(): string[]; set principals(value: string[]); get principalsInput(): string[] | undefined; } export declare class PrivilegedAccessManagerEntitlementEligibleUsersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PrivilegedAccessManagerEntitlementEligibleUsers[] | 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): PrivilegedAccessManagerEntitlementEligibleUsersOutputReference; } export interface PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings { /** * The expression field of the IAM condition to be associated with the role. If specified, a user with an active grant for this entitlement would be able to access the resource only if this condition evaluates to true for their request. * https://cloud.google.com/iam/docs/conditions-overview#attributes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#condition_expression PrivilegedAccessManagerEntitlement#condition_expression} */ readonly conditionExpression?: string; /** * IAM role to be granted. https://cloud.google.com/iam/docs/roles-overview. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#role PrivilegedAccessManagerEntitlement#role} */ readonly role: string; } export declare function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToTerraform(struct?: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings | cdktf.IResolvable): any; export declare function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToHclTerraform(struct?: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings | cdktf.IResolvable): any; export declare class PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference 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(): PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings | cdktf.IResolvable | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings | cdktf.IResolvable | undefined); private _conditionExpression?; get conditionExpression(): string; set conditionExpression(value: string); resetConditionExpression(): void; get conditionExpressionInput(): string | undefined; private _role?; get role(): string; set role(value: string); get roleInput(): string | undefined; } export declare class PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings[] | 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): PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference; } export interface PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess { /** * Name of the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#resource PrivilegedAccessManagerEntitlement#resource} */ readonly resource: string; /** * The type of this resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#resource_type PrivilegedAccessManagerEntitlement#resource_type} */ readonly resourceType: string; /** * role_bindings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#role_bindings PrivilegedAccessManagerEntitlement#role_bindings} */ readonly roleBindings: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings[] | cdktf.IResolvable; } export declare function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToTerraform(struct?: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference | PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess): any; export declare function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToHclTerraform(struct?: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference | PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess): any; export declare class PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference 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(): PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess | undefined); private _resource?; get resource(): string; set resource(value: string); get resourceInput(): string | undefined; private _resourceType?; get resourceType(): string; set resourceType(value: string); get resourceTypeInput(): string | undefined; private _roleBindings; get roleBindings(): PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList; putRoleBindings(value: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings[] | cdktf.IResolvable): void; get roleBindingsInput(): cdktf.IResolvable | PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindings[] | undefined; } export interface PrivilegedAccessManagerEntitlementPrivilegedAccess { /** * gcp_iam_access block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#gcp_iam_access PrivilegedAccessManagerEntitlement#gcp_iam_access} */ readonly gcpIamAccess: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess; } export declare function privilegedAccessManagerEntitlementPrivilegedAccessToTerraform(struct?: PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference | PrivilegedAccessManagerEntitlementPrivilegedAccess): any; export declare function privilegedAccessManagerEntitlementPrivilegedAccessToHclTerraform(struct?: PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference | PrivilegedAccessManagerEntitlementPrivilegedAccess): any; export declare class PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference 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(): PrivilegedAccessManagerEntitlementPrivilegedAccess | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementPrivilegedAccess | undefined); private _gcpIamAccess; get gcpIamAccess(): PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference; putGcpIamAccess(value: PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess): void; get gcpIamAccessInput(): PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccess | undefined; } export interface PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory { } export declare function privilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryToTerraform(struct?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryOutputReference | PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory): any; export declare function privilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryToHclTerraform(struct?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryOutputReference | PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory): any; export declare class PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryOutputReference 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(): PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory | undefined); } export interface PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured { } export declare function privilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredToTerraform(struct?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredOutputReference | PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured): any; export declare function privilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredToHclTerraform(struct?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredOutputReference | PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured): any; export declare class PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredOutputReference 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(): PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured | undefined); } export interface PrivilegedAccessManagerEntitlementRequesterJustificationConfig { /** * not_mandatory block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#not_mandatory PrivilegedAccessManagerEntitlement#not_mandatory} */ readonly notMandatory?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory; /** * unstructured block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#unstructured PrivilegedAccessManagerEntitlement#unstructured} */ readonly unstructured?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured; } export declare function privilegedAccessManagerEntitlementRequesterJustificationConfigToTerraform(struct?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigOutputReference | PrivilegedAccessManagerEntitlementRequesterJustificationConfig): any; export declare function privilegedAccessManagerEntitlementRequesterJustificationConfigToHclTerraform(struct?: PrivilegedAccessManagerEntitlementRequesterJustificationConfigOutputReference | PrivilegedAccessManagerEntitlementRequesterJustificationConfig): any; export declare class PrivilegedAccessManagerEntitlementRequesterJustificationConfigOutputReference 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(): PrivilegedAccessManagerEntitlementRequesterJustificationConfig | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementRequesterJustificationConfig | undefined); private _notMandatory; get notMandatory(): PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryOutputReference; putNotMandatory(value: PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory): void; resetNotMandatory(): void; get notMandatoryInput(): PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatory | undefined; private _unstructured; get unstructured(): PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredOutputReference; putUnstructured(value: PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured): void; resetUnstructured(): void; get unstructuredInput(): PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructured | undefined; } export interface PrivilegedAccessManagerEntitlementTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#create PrivilegedAccessManagerEntitlement#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#delete PrivilegedAccessManagerEntitlement#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#update PrivilegedAccessManagerEntitlement#update} */ readonly update?: string; } export declare function privilegedAccessManagerEntitlementTimeoutsToTerraform(struct?: PrivilegedAccessManagerEntitlementTimeouts | cdktf.IResolvable): any; export declare function privilegedAccessManagerEntitlementTimeoutsToHclTerraform(struct?: PrivilegedAccessManagerEntitlementTimeouts | cdktf.IResolvable): any; export declare class PrivilegedAccessManagerEntitlementTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): PrivilegedAccessManagerEntitlementTimeouts | cdktf.IResolvable | undefined; set internalValue(value: PrivilegedAccessManagerEntitlementTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement google_privileged_access_manager_entitlement} */ export declare class PrivilegedAccessManagerEntitlement extends cdktf.TerraformResource { static readonly tfResourceType = "google_privileged_access_manager_entitlement"; /** * Generates CDKTF code for importing a PrivilegedAccessManagerEntitlement resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the PrivilegedAccessManagerEntitlement to import * @param importFromId The id of the existing PrivilegedAccessManagerEntitlement that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PrivilegedAccessManagerEntitlement to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/privileged_access_manager_entitlement google_privileged_access_manager_entitlement} 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 PrivilegedAccessManagerEntitlementConfig */ constructor(scope: Construct, id: string, config: PrivilegedAccessManagerEntitlementConfig); get createTime(): string; private _entitlementId?; get entitlementId(): string; set entitlementId(value: string); get entitlementIdInput(): string | undefined; get etag(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; private _maxRequestDuration?; get maxRequestDuration(): string; set maxRequestDuration(value: string); get maxRequestDurationInput(): string | undefined; get name(): string; private _parent?; get parent(): string; set parent(value: string); get parentInput(): string | undefined; get state(): string; get updateTime(): string; private _additionalNotificationTargets; get additionalNotificationTargets(): PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference; putAdditionalNotificationTargets(value: PrivilegedAccessManagerEntitlementAdditionalNotificationTargets): void; resetAdditionalNotificationTargets(): void; get additionalNotificationTargetsInput(): PrivilegedAccessManagerEntitlementAdditionalNotificationTargets | undefined; private _approvalWorkflow; get approvalWorkflow(): PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference; putApprovalWorkflow(value: PrivilegedAccessManagerEntitlementApprovalWorkflow): void; resetApprovalWorkflow(): void; get approvalWorkflowInput(): PrivilegedAccessManagerEntitlementApprovalWorkflow | undefined; private _eligibleUsers; get eligibleUsers(): PrivilegedAccessManagerEntitlementEligibleUsersList; putEligibleUsers(value: PrivilegedAccessManagerEntitlementEligibleUsers[] | cdktf.IResolvable): void; get eligibleUsersInput(): cdktf.IResolvable | PrivilegedAccessManagerEntitlementEligibleUsers[] | undefined; private _privilegedAccess; get privilegedAccess(): PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference; putPrivilegedAccess(value: PrivilegedAccessManagerEntitlementPrivilegedAccess): void; get privilegedAccessInput(): PrivilegedAccessManagerEntitlementPrivilegedAccess | undefined; private _requesterJustificationConfig; get requesterJustificationConfig(): PrivilegedAccessManagerEntitlementRequesterJustificationConfigOutputReference; putRequesterJustificationConfig(value: PrivilegedAccessManagerEntitlementRequesterJustificationConfig): void; get requesterJustificationConfigInput(): PrivilegedAccessManagerEntitlementRequesterJustificationConfig | undefined; private _timeouts; get timeouts(): PrivilegedAccessManagerEntitlementTimeoutsOutputReference; putTimeouts(value: PrivilegedAccessManagerEntitlementTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | PrivilegedAccessManagerEntitlementTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }