@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
952 lines • 254 kB
JavaScript
"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