UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

952 lines 254 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrivilegedAccessManagerEntitlement = exports.PrivilegedAccessManagerEntitlementTimeoutsOutputReference = exports.privilegedAccessManagerEntitlementTimeoutsToHclTerraform = exports.privilegedAccessManagerEntitlementTimeoutsToTerraform = exports.PrivilegedAccessManagerEntitlementRequesterJustificationConfigOutputReference = exports.privilegedAccessManagerEntitlementRequesterJustificationConfigToHclTerraform = exports.privilegedAccessManagerEntitlementRequesterJustificationConfigToTerraform = exports.PrivilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredOutputReference = exports.privilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredToHclTerraform = exports.privilegedAccessManagerEntitlementRequesterJustificationConfigUnstructuredToTerraform = exports.PrivilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryOutputReference = exports.privilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryToHclTerraform = exports.privilegedAccessManagerEntitlementRequesterJustificationConfigNotMandatoryToTerraform = exports.PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference = exports.privilegedAccessManagerEntitlementPrivilegedAccessToHclTerraform = exports.privilegedAccessManagerEntitlementPrivilegedAccessToTerraform = exports.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference = exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToHclTerraform = exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToTerraform = exports.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList = exports.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference = exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToHclTerraform = exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToTerraform = exports.PrivilegedAccessManagerEntitlementEligibleUsersList = exports.PrivilegedAccessManagerEntitlementEligibleUsersOutputReference = exports.privilegedAccessManagerEntitlementEligibleUsersToHclTerraform = exports.privilegedAccessManagerEntitlementEligibleUsersToTerraform = exports.PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference = exports.privilegedAccessManagerEntitlementApprovalWorkflowToHclTerraform = exports.privilegedAccessManagerEntitlementApprovalWorkflowToTerraform = exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference = exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToHclTerraform = exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToTerraform = exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList = exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference = exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToHclTerraform = exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToTerraform = exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference = exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToHclTerraform = exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToTerraform = exports.PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference = exports.privilegedAccessManagerEntitlementAdditionalNotificationTargetsToHclTerraform = exports.privilegedAccessManagerEntitlementAdditionalNotificationTargetsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function privilegedAccessManagerEntitlementAdditionalNotificationTargetsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { admin_email_recipients: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.adminEmailRecipients), requester_email_recipients: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.requesterEmailRecipients), }; } exports.privilegedAccessManagerEntitlementAdditionalNotificationTargetsToTerraform = privilegedAccessManagerEntitlementAdditionalNotificationTargetsToTerraform; function privilegedAccessManagerEntitlementAdditionalNotificationTargetsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { admin_email_recipients: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.adminEmailRecipients), isBlock: false, type: "set", storageClassType: "stringList", }, requester_email_recipients: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.requesterEmailRecipients), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementAdditionalNotificationTargetsToHclTerraform = privilegedAccessManagerEntitlementAdditionalNotificationTargetsToHclTerraform; class PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._adminEmailRecipients !== undefined) { hasAnyValues = true; internalValueResult.adminEmailRecipients = this._adminEmailRecipients; } if (this._requesterEmailRecipients !== undefined) { hasAnyValues = true; internalValueResult.requesterEmailRecipients = this._requesterEmailRecipients; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._adminEmailRecipients = undefined; this._requesterEmailRecipients = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._adminEmailRecipients = value.adminEmailRecipients; this._requesterEmailRecipients = value.requesterEmailRecipients; } } get adminEmailRecipients() { return cdktf.Fn.tolist(this.getListAttribute('admin_email_recipients')); } set adminEmailRecipients(value) { this._adminEmailRecipients = value; } resetAdminEmailRecipients() { this._adminEmailRecipients = undefined; } // Temporarily expose input value. Use with caution. get adminEmailRecipientsInput() { return this._adminEmailRecipients; } get requesterEmailRecipients() { return cdktf.Fn.tolist(this.getListAttribute('requester_email_recipients')); } set requesterEmailRecipients(value) { this._requesterEmailRecipients = value; } resetRequesterEmailRecipients() { this._requesterEmailRecipients = undefined; } // Temporarily expose input value. Use with caution. get requesterEmailRecipientsInput() { return this._requesterEmailRecipients; } } exports.PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference = PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference; _a = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference[_a] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementAdditionalNotificationTargetsOutputReference", version: "14.12.0" }; function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { principals: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.principals), }; } exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToTerraform = privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToTerraform; function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { principals: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.principals), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToHclTerraform = privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToHclTerraform; class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._principals !== undefined) { hasAnyValues = true; internalValueResult.principals = this._principals; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._principals = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._principals = value.principals; } } get principals() { return cdktf.Fn.tolist(this.getListAttribute('principals')); } set principals(value) { this._principals = value; } // Temporarily expose input value. Use with caution. get principalsInput() { return this._principals; } } exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference = PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference; _b = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference[_b] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference", version: "14.12.0" }; function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { approvals_needed: cdktf.numberToTerraform(struct.approvalsNeeded), approver_email_recipients: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.approverEmailRecipients), approvers: privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToTerraform(struct.approvers), }; } exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToTerraform = privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToTerraform; function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { approvals_needed: { value: cdktf.numberToHclTerraform(struct.approvalsNeeded), isBlock: false, type: "simple", storageClassType: "number", }, approver_email_recipients: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.approverEmailRecipients), isBlock: false, type: "set", storageClassType: "stringList", }, approvers: { value: privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversToHclTerraform(struct.approvers), isBlock: true, type: "list", storageClassType: "PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToHclTerraform = privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToHclTerraform; class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // approvers - computed: false, optional: false, required: true this._approvers = new PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsApproversOutputReference(this, "approvers"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._approvalsNeeded !== undefined) { hasAnyValues = true; internalValueResult.approvalsNeeded = this._approvalsNeeded; } if (this._approverEmailRecipients !== undefined) { hasAnyValues = true; internalValueResult.approverEmailRecipients = this._approverEmailRecipients; } if (this._approvers?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.approvers = this._approvers?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._approvalsNeeded = undefined; this._approverEmailRecipients = undefined; this._approvers.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._approvalsNeeded = value.approvalsNeeded; this._approverEmailRecipients = value.approverEmailRecipients; this._approvers.internalValue = value.approvers; } } get approvalsNeeded() { return this.getNumberAttribute('approvals_needed'); } set approvalsNeeded(value) { this._approvalsNeeded = value; } resetApprovalsNeeded() { this._approvalsNeeded = undefined; } // Temporarily expose input value. Use with caution. get approvalsNeededInput() { return this._approvalsNeeded; } get approverEmailRecipients() { return cdktf.Fn.tolist(this.getListAttribute('approver_email_recipients')); } set approverEmailRecipients(value) { this._approverEmailRecipients = value; } resetApproverEmailRecipients() { this._approverEmailRecipients = undefined; } // Temporarily expose input value. Use with caution. get approverEmailRecipientsInput() { return this._approverEmailRecipients; } get approvers() { return this._approvers; } putApprovers(value) { this._approvers.internalValue = value; } // Temporarily expose input value. Use with caution. get approversInput() { return this._approvers.internalValue; } } exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference = PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference; _c = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference[_c] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference", version: "14.12.0" }; class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList = PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList; _d = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList[_d] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList", version: "14.12.0" }; function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { require_approver_justification: cdktf.booleanToTerraform(struct.requireApproverJustification), steps: cdktf.listMapper(privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToTerraform, true)(struct.steps), }; } exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToTerraform = privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToTerraform; function privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { require_approver_justification: { value: cdktf.booleanToHclTerraform(struct.requireApproverJustification), isBlock: false, type: "simple", storageClassType: "boolean", }, steps: { value: cdktf.listMapperHcl(privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsToHclTerraform, true)(struct.steps), isBlock: true, type: "list", storageClassType: "PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToHclTerraform = privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToHclTerraform; class PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // steps - computed: false, optional: false, required: true this._steps = new PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsStepsList(this, "steps", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._requireApproverJustification !== undefined) { hasAnyValues = true; internalValueResult.requireApproverJustification = this._requireApproverJustification; } if (this._steps?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.steps = this._steps?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._requireApproverJustification = undefined; this._steps.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._requireApproverJustification = value.requireApproverJustification; this._steps.internalValue = value.steps; } } get requireApproverJustification() { return this.getBooleanAttribute('require_approver_justification'); } set requireApproverJustification(value) { this._requireApproverJustification = value; } resetRequireApproverJustification() { this._requireApproverJustification = undefined; } // Temporarily expose input value. Use with caution. get requireApproverJustificationInput() { return this._requireApproverJustification; } get steps() { return this._steps; } putSteps(value) { this._steps.internalValue = value; } // Temporarily expose input value. Use with caution. get stepsInput() { return this._steps.internalValue; } } exports.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference = PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference; _e = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference[_e] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference", version: "14.12.0" }; function privilegedAccessManagerEntitlementApprovalWorkflowToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { manual_approvals: privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToTerraform(struct.manualApprovals), }; } exports.privilegedAccessManagerEntitlementApprovalWorkflowToTerraform = privilegedAccessManagerEntitlementApprovalWorkflowToTerraform; function privilegedAccessManagerEntitlementApprovalWorkflowToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { manual_approvals: { value: privilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsToHclTerraform(struct.manualApprovals), isBlock: true, type: "list", storageClassType: "PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementApprovalWorkflowToHclTerraform = privilegedAccessManagerEntitlementApprovalWorkflowToHclTerraform; class PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // manual_approvals - computed: false, optional: false, required: true this._manualApprovals = new PrivilegedAccessManagerEntitlementApprovalWorkflowManualApprovalsOutputReference(this, "manual_approvals"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._manualApprovals?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.manualApprovals = this._manualApprovals?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._manualApprovals.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._manualApprovals.internalValue = value.manualApprovals; } } get manualApprovals() { return this._manualApprovals; } putManualApprovals(value) { this._manualApprovals.internalValue = value; } // Temporarily expose input value. Use with caution. get manualApprovalsInput() { return this._manualApprovals.internalValue; } } exports.PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference = PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference; _f = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference[_f] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementApprovalWorkflowOutputReference", version: "14.12.0" }; function privilegedAccessManagerEntitlementEligibleUsersToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { principals: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.principals), }; } exports.privilegedAccessManagerEntitlementEligibleUsersToTerraform = privilegedAccessManagerEntitlementEligibleUsersToTerraform; function privilegedAccessManagerEntitlementEligibleUsersToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { principals: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.principals), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementEligibleUsersToHclTerraform = privilegedAccessManagerEntitlementEligibleUsersToHclTerraform; class PrivilegedAccessManagerEntitlementEligibleUsersOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._principals !== undefined) { hasAnyValues = true; internalValueResult.principals = this._principals; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._principals = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._principals = value.principals; } } get principals() { return cdktf.Fn.tolist(this.getListAttribute('principals')); } set principals(value) { this._principals = value; } // Temporarily expose input value. Use with caution. get principalsInput() { return this._principals; } } exports.PrivilegedAccessManagerEntitlementEligibleUsersOutputReference = PrivilegedAccessManagerEntitlementEligibleUsersOutputReference; _g = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementEligibleUsersOutputReference[_g] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementEligibleUsersOutputReference", version: "14.12.0" }; class PrivilegedAccessManagerEntitlementEligibleUsersList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new PrivilegedAccessManagerEntitlementEligibleUsersOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrivilegedAccessManagerEntitlementEligibleUsersList = PrivilegedAccessManagerEntitlementEligibleUsersList; _h = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementEligibleUsersList[_h] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementEligibleUsersList", version: "14.12.0" }; function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { condition_expression: cdktf.stringToTerraform(struct.conditionExpression), role: cdktf.stringToTerraform(struct.role), }; } exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToTerraform = privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToTerraform; function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { condition_expression: { value: cdktf.stringToHclTerraform(struct.conditionExpression), isBlock: false, type: "simple", storageClassType: "string", }, role: { value: cdktf.stringToHclTerraform(struct.role), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToHclTerraform = privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToHclTerraform; class PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._conditionExpression !== undefined) { hasAnyValues = true; internalValueResult.conditionExpression = this._conditionExpression; } if (this._role !== undefined) { hasAnyValues = true; internalValueResult.role = this._role; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._conditionExpression = undefined; this._role = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._conditionExpression = value.conditionExpression; this._role = value.role; } } get conditionExpression() { return this.getStringAttribute('condition_expression'); } set conditionExpression(value) { this._conditionExpression = value; } resetConditionExpression() { this._conditionExpression = undefined; } // Temporarily expose input value. Use with caution. get conditionExpressionInput() { return this._conditionExpression; } get role() { return this.getStringAttribute('role'); } set role(value) { this._role = value; } // Temporarily expose input value. Use with caution. get roleInput() { return this._role; } } exports.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference = PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference; _j = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference[_j] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference", version: "14.12.0" }; class PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList = PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList; _k = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList[_k] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList", version: "14.12.0" }; function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { resource: cdktf.stringToTerraform(struct.resource), resource_type: cdktf.stringToTerraform(struct.resourceType), role_bindings: cdktf.listMapper(privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToTerraform, true)(struct.roleBindings), }; } exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToTerraform = privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToTerraform; function privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { resource: { value: cdktf.stringToHclTerraform(struct.resource), isBlock: false, type: "simple", storageClassType: "string", }, resource_type: { value: cdktf.stringToHclTerraform(struct.resourceType), isBlock: false, type: "simple", storageClassType: "string", }, role_bindings: { value: cdktf.listMapperHcl(privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsToHclTerraform, true)(struct.roleBindings), isBlock: true, type: "list", storageClassType: "PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToHclTerraform = privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToHclTerraform; class PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // role_bindings - computed: false, optional: false, required: true this._roleBindings = new PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessRoleBindingsList(this, "role_bindings", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._resource !== undefined) { hasAnyValues = true; internalValueResult.resource = this._resource; } if (this._resourceType !== undefined) { hasAnyValues = true; internalValueResult.resourceType = this._resourceType; } if (this._roleBindings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.roleBindings = this._roleBindings?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._resource = undefined; this._resourceType = undefined; this._roleBindings.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._resource = value.resource; this._resourceType = value.resourceType; this._roleBindings.internalValue = value.roleBindings; } } get resource() { return this.getStringAttribute('resource'); } set resource(value) { this._resource = value; } // Temporarily expose input value. Use with caution. get resourceInput() { return this._resource; } get resourceType() { return this.getStringAttribute('resource_type'); } set resourceType(value) { this._resourceType = value; } // Temporarily expose input value. Use with caution. get resourceTypeInput() { return this._resourceType; } get roleBindings() { return this._roleBindings; } putRoleBindings(value) { this._roleBindings.internalValue = value; } // Temporarily expose input value. Use with caution. get roleBindingsInput() { return this._roleBindings.internalValue; } } exports.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference = PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference; _l = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference[_l] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference", version: "14.12.0" }; function privilegedAccessManagerEntitlementPrivilegedAccessToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { gcp_iam_access: privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToTerraform(struct.gcpIamAccess), }; } exports.privilegedAccessManagerEntitlementPrivilegedAccessToTerraform = privilegedAccessManagerEntitlementPrivilegedAccessToTerraform; function privilegedAccessManagerEntitlementPrivilegedAccessToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { gcp_iam_access: { value: privilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessToHclTerraform(struct.gcpIamAccess), isBlock: true, type: "list", storageClassType: "PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.privilegedAccessManagerEntitlementPrivilegedAccessToHclTerraform = privilegedAccessManagerEntitlementPrivilegedAccessToHclTerraform; class PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // gcp_iam_access - computed: false, optional: false, required: true this._gcpIamAccess = new PrivilegedAccessManagerEntitlementPrivilegedAccessGcpIamAccessOutputReference(this, "gcp_iam_access"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._gcpIamAccess?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.gcpIamAccess = this._gcpIamAccess?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._gcpIamAccess.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._gcpIamAccess.internalValue = value.gcpIamAccess; } } get gcpIamAccess() { return this._gcpIamAccess; } putGcpIamAccess(value) { this._gcpIamAccess.internalValue = value; } // Temporarily expose input value. Use with caution. get gcpIamAccessInput() { return this._gcpIamAccess.internalValue; } } exports.PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference = PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference; _m = JSII_RTTI_SYMBOL_1; PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference[_m] = { fqn: "@cdktf/provider-google.privilegedAccessManagerEntitlement.PrivilegedAccessManagerEntitlementPrivilegedAccessOutputReference", version: "14.12.0" }; fun