@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
620 lines (619 loc) • 42.4 kB
TypeScript
/**
* 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;
};
}