@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
983 lines • 139 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataAwsIamPolicyDocument = exports.DataAwsIamPolicyDocumentStatementList = exports.DataAwsIamPolicyDocumentStatementOutputReference = exports.dataAwsIamPolicyDocumentStatementToHclTerraform = exports.dataAwsIamPolicyDocumentStatementToTerraform = exports.DataAwsIamPolicyDocumentStatementPrincipalsList = exports.DataAwsIamPolicyDocumentStatementPrincipalsOutputReference = exports.dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform = exports.dataAwsIamPolicyDocumentStatementPrincipalsToTerraform = exports.DataAwsIamPolicyDocumentStatementNotPrincipalsList = exports.DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference = exports.dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform = exports.dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform = exports.DataAwsIamPolicyDocumentStatementConditionList = exports.DataAwsIamPolicyDocumentStatementConditionOutputReference = exports.dataAwsIamPolicyDocumentStatementConditionToHclTerraform = exports.dataAwsIamPolicyDocumentStatementConditionToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function dataAwsIamPolicyDocumentStatementConditionToTerraform(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 {
test: cdktf.stringToTerraform(struct.test),
values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values),
variable: cdktf.stringToTerraform(struct.variable),
};
}
exports.dataAwsIamPolicyDocumentStatementConditionToTerraform = dataAwsIamPolicyDocumentStatementConditionToTerraform;
function dataAwsIamPolicyDocumentStatementConditionToHclTerraform(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 = {
test: {
value: cdktf.stringToHclTerraform(struct.test),
isBlock: false,
type: "simple",
storageClassType: "string",
},
values: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
variable: {
value: cdktf.stringToHclTerraform(struct.variable),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataAwsIamPolicyDocumentStatementConditionToHclTerraform = dataAwsIamPolicyDocumentStatementConditionToHclTerraform;
class DataAwsIamPolicyDocumentStatementConditionOutputReference 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._test !== undefined) {
hasAnyValues = true;
internalValueResult.test = this._test;
}
if (this._values !== undefined) {
hasAnyValues = true;
internalValueResult.values = this._values;
}
if (this._variable !== undefined) {
hasAnyValues = true;
internalValueResult.variable = this._variable;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._test = undefined;
this._values = undefined;
this._variable = 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._test = value.test;
this._values = value.values;
this._variable = value.variable;
}
}
get test() {
return this.getStringAttribute('test');
}
set test(value) {
this._test = value;
}
// Temporarily expose input value. Use with caution.
get testInput() {
return this._test;
}
get values() {
return this.getListAttribute('values');
}
set values(value) {
this._values = value;
}
// Temporarily expose input value. Use with caution.
get valuesInput() {
return this._values;
}
get variable() {
return this.getStringAttribute('variable');
}
set variable(value) {
this._variable = value;
}
// Temporarily expose input value. Use with caution.
get variableInput() {
return this._variable;
}
}
exports.DataAwsIamPolicyDocumentStatementConditionOutputReference = DataAwsIamPolicyDocumentStatementConditionOutputReference;
_a = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementConditionOutputReference[_a] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementConditionOutputReference", version: "19.50.0" };
class DataAwsIamPolicyDocumentStatementConditionList 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 DataAwsIamPolicyDocumentStatementConditionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataAwsIamPolicyDocumentStatementConditionList = DataAwsIamPolicyDocumentStatementConditionList;
_b = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementConditionList[_b] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementConditionList", version: "19.50.0" };
function dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform(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 {
identifiers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identifiers),
type: cdktf.stringToTerraform(struct.type),
};
}
exports.dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform = dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform;
function dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform(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 = {
identifiers: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identifiers),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform = dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform;
class DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference 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._identifiers !== undefined) {
hasAnyValues = true;
internalValueResult.identifiers = this._identifiers;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._identifiers = undefined;
this._type = 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._identifiers = value.identifiers;
this._type = value.type;
}
}
get identifiers() {
return cdktf.Fn.tolist(this.getListAttribute('identifiers'));
}
set identifiers(value) {
this._identifiers = value;
}
// Temporarily expose input value. Use with caution.
get identifiersInput() {
return this._identifiers;
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
}
exports.DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference = DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference[_c] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference", version: "19.50.0" };
class DataAwsIamPolicyDocumentStatementNotPrincipalsList 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 DataAwsIamPolicyDocumentStatementNotPrincipalsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataAwsIamPolicyDocumentStatementNotPrincipalsList = DataAwsIamPolicyDocumentStatementNotPrincipalsList;
_d = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementNotPrincipalsList[_d] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementNotPrincipalsList", version: "19.50.0" };
function dataAwsIamPolicyDocumentStatementPrincipalsToTerraform(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 {
identifiers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identifiers),
type: cdktf.stringToTerraform(struct.type),
};
}
exports.dataAwsIamPolicyDocumentStatementPrincipalsToTerraform = dataAwsIamPolicyDocumentStatementPrincipalsToTerraform;
function dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform(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 = {
identifiers: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identifiers),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform = dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform;
class DataAwsIamPolicyDocumentStatementPrincipalsOutputReference 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._identifiers !== undefined) {
hasAnyValues = true;
internalValueResult.identifiers = this._identifiers;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._identifiers = undefined;
this._type = 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._identifiers = value.identifiers;
this._type = value.type;
}
}
get identifiers() {
return cdktf.Fn.tolist(this.getListAttribute('identifiers'));
}
set identifiers(value) {
this._identifiers = value;
}
// Temporarily expose input value. Use with caution.
get identifiersInput() {
return this._identifiers;
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
}
exports.DataAwsIamPolicyDocumentStatementPrincipalsOutputReference = DataAwsIamPolicyDocumentStatementPrincipalsOutputReference;
_e = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementPrincipalsOutputReference[_e] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementPrincipalsOutputReference", version: "19.50.0" };
class DataAwsIamPolicyDocumentStatementPrincipalsList 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 DataAwsIamPolicyDocumentStatementPrincipalsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataAwsIamPolicyDocumentStatementPrincipalsList = DataAwsIamPolicyDocumentStatementPrincipalsList;
_f = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementPrincipalsList[_f] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementPrincipalsList", version: "19.50.0" };
function dataAwsIamPolicyDocumentStatementToTerraform(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 {
actions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.actions),
effect: cdktf.stringToTerraform(struct.effect),
not_actions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notActions),
not_resources: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notResources),
resources: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resources),
sid: cdktf.stringToTerraform(struct.sid),
condition: cdktf.listMapper(dataAwsIamPolicyDocumentStatementConditionToTerraform, true)(struct.condition),
not_principals: cdktf.listMapper(dataAwsIamPolicyDocumentStatementNotPrincipalsToTerraform, true)(struct.notPrincipals),
principals: cdktf.listMapper(dataAwsIamPolicyDocumentStatementPrincipalsToTerraform, true)(struct.principals),
};
}
exports.dataAwsIamPolicyDocumentStatementToTerraform = dataAwsIamPolicyDocumentStatementToTerraform;
function dataAwsIamPolicyDocumentStatementToHclTerraform(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 = {
actions: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.actions),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
effect: {
value: cdktf.stringToHclTerraform(struct.effect),
isBlock: false,
type: "simple",
storageClassType: "string",
},
not_actions: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notActions),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
not_resources: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notResources),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
resources: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resources),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
sid: {
value: cdktf.stringToHclTerraform(struct.sid),
isBlock: false,
type: "simple",
storageClassType: "string",
},
condition: {
value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementConditionToHclTerraform, true)(struct.condition),
isBlock: true,
type: "set",
storageClassType: "DataAwsIamPolicyDocumentStatementConditionList",
},
not_principals: {
value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementNotPrincipalsToHclTerraform, true)(struct.notPrincipals),
isBlock: true,
type: "set",
storageClassType: "DataAwsIamPolicyDocumentStatementNotPrincipalsList",
},
principals: {
value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementPrincipalsToHclTerraform, true)(struct.principals),
isBlock: true,
type: "set",
storageClassType: "DataAwsIamPolicyDocumentStatementPrincipalsList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataAwsIamPolicyDocumentStatementToHclTerraform = dataAwsIamPolicyDocumentStatementToHclTerraform;
class DataAwsIamPolicyDocumentStatementOutputReference 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;
// condition - computed: false, optional: true, required: false
this._condition = new DataAwsIamPolicyDocumentStatementConditionList(this, "condition", true);
// not_principals - computed: false, optional: true, required: false
this._notPrincipals = new DataAwsIamPolicyDocumentStatementNotPrincipalsList(this, "not_principals", true);
// principals - computed: false, optional: true, required: false
this._principals = new DataAwsIamPolicyDocumentStatementPrincipalsList(this, "principals", true);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._actions !== undefined) {
hasAnyValues = true;
internalValueResult.actions = this._actions;
}
if (this._effect !== undefined) {
hasAnyValues = true;
internalValueResult.effect = this._effect;
}
if (this._notActions !== undefined) {
hasAnyValues = true;
internalValueResult.notActions = this._notActions;
}
if (this._notResources !== undefined) {
hasAnyValues = true;
internalValueResult.notResources = this._notResources;
}
if (this._resources !== undefined) {
hasAnyValues = true;
internalValueResult.resources = this._resources;
}
if (this._sid !== undefined) {
hasAnyValues = true;
internalValueResult.sid = this._sid;
}
if (this._condition?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.condition = this._condition?.internalValue;
}
if (this._notPrincipals?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.notPrincipals = this._notPrincipals?.internalValue;
}
if (this._principals?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.principals = this._principals?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._actions = undefined;
this._effect = undefined;
this._notActions = undefined;
this._notResources = undefined;
this._resources = undefined;
this._sid = undefined;
this._condition.internalValue = undefined;
this._notPrincipals.internalValue = undefined;
this._principals.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._actions = value.actions;
this._effect = value.effect;
this._notActions = value.notActions;
this._notResources = value.notResources;
this._resources = value.resources;
this._sid = value.sid;
this._condition.internalValue = value.condition;
this._notPrincipals.internalValue = value.notPrincipals;
this._principals.internalValue = value.principals;
}
}
get actions() {
return cdktf.Fn.tolist(this.getListAttribute('actions'));
}
set actions(value) {
this._actions = value;
}
resetActions() {
this._actions = undefined;
}
// Temporarily expose input value. Use with caution.
get actionsInput() {
return this._actions;
}
get effect() {
return this.getStringAttribute('effect');
}
set effect(value) {
this._effect = value;
}
resetEffect() {
this._effect = undefined;
}
// Temporarily expose input value. Use with caution.
get effectInput() {
return this._effect;
}
get notActions() {
return cdktf.Fn.tolist(this.getListAttribute('not_actions'));
}
set notActions(value) {
this._notActions = value;
}
resetNotActions() {
this._notActions = undefined;
}
// Temporarily expose input value. Use with caution.
get notActionsInput() {
return this._notActions;
}
get notResources() {
return cdktf.Fn.tolist(this.getListAttribute('not_resources'));
}
set notResources(value) {
this._notResources = value;
}
resetNotResources() {
this._notResources = undefined;
}
// Temporarily expose input value. Use with caution.
get notResourcesInput() {
return this._notResources;
}
get resources() {
return cdktf.Fn.tolist(this.getListAttribute('resources'));
}
set resources(value) {
this._resources = value;
}
resetResources() {
this._resources = undefined;
}
// Temporarily expose input value. Use with caution.
get resourcesInput() {
return this._resources;
}
get sid() {
return this.getStringAttribute('sid');
}
set sid(value) {
this._sid = value;
}
resetSid() {
this._sid = undefined;
}
// Temporarily expose input value. Use with caution.
get sidInput() {
return this._sid;
}
get condition() {
return this._condition;
}
putCondition(value) {
this._condition.internalValue = value;
}
resetCondition() {
this._condition.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get conditionInput() {
return this._condition.internalValue;
}
get notPrincipals() {
return this._notPrincipals;
}
putNotPrincipals(value) {
this._notPrincipals.internalValue = value;
}
resetNotPrincipals() {
this._notPrincipals.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get notPrincipalsInput() {
return this._notPrincipals.internalValue;
}
get principals() {
return this._principals;
}
putPrincipals(value) {
this._principals.internalValue = value;
}
resetPrincipals() {
this._principals.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get principalsInput() {
return this._principals.internalValue;
}
}
exports.DataAwsIamPolicyDocumentStatementOutputReference = DataAwsIamPolicyDocumentStatementOutputReference;
_g = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementOutputReference[_g] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementOutputReference", version: "19.50.0" };
class DataAwsIamPolicyDocumentStatementList 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 DataAwsIamPolicyDocumentStatementOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataAwsIamPolicyDocumentStatementList = DataAwsIamPolicyDocumentStatementList;
_h = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocumentStatementList[_h] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocumentStatementList", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/data-sources/iam_policy_document aws_iam_policy_document}
*/
class DataAwsIamPolicyDocument extends cdktf.TerraformDataSource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a DataAwsIamPolicyDocument 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 DataAwsIamPolicyDocument to import
* @param importFromId The id of the existing DataAwsIamPolicyDocument that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/data-sources/iam_policy_document#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the DataAwsIamPolicyDocument to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_iam_policy_document", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/data-sources/iam_policy_document aws_iam_policy_document} Data Source
*
* @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 DataAwsIamPolicyDocumentConfig = {}
*/
constructor(scope, id, config = {}) {
super(scope, id, {
terraformResourceType: 'aws_iam_policy_document',
terraformGeneratorMetadata: {
providerName: 'aws',
providerVersion: '5.84.0',
providerVersionConstraint: '~> 5.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// statement - computed: false, optional: true, required: false
this._statement = new DataAwsIamPolicyDocumentStatementList(this, "statement", false);
this._id = config.id;
this._overrideJson = config.overrideJson;
this._overridePolicyDocuments = config.overridePolicyDocuments;
this._policyId = config.policyId;
this._sourceJson = config.sourceJson;
this._sourcePolicyDocuments = config.sourcePolicyDocuments;
this._version = config.version;
this._statement.internalValue = config.statement;
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
// json - computed: true, optional: false, required: false
get json() {
return this.getStringAttribute('json');
}
// minified_json - computed: true, optional: false, required: false
get minifiedJson() {
return this.getStringAttribute('minified_json');
}
get overrideJson() {
return this.getStringAttribute('override_json');
}
set overrideJson(value) {
this._overrideJson = value;
}
resetOverrideJson() {
this._overrideJson = undefined;
}
// Temporarily expose input value. Use with caution.
get overrideJsonInput() {
return this._overrideJson;
}
get overridePolicyDocuments() {
return this.getListAttribute('override_policy_documents');
}
set overridePolicyDocuments(value) {
this._overridePolicyDocuments = value;
}
resetOverridePolicyDocuments() {
this._overridePolicyDocuments = undefined;
}
// Temporarily expose input value. Use with caution.
get overridePolicyDocumentsInput() {
return this._overridePolicyDocuments;
}
get policyId() {
return this.getStringAttribute('policy_id');
}
set policyId(value) {
this._policyId = value;
}
resetPolicyId() {
this._policyId = undefined;
}
// Temporarily expose input value. Use with caution.
get policyIdInput() {
return this._policyId;
}
get sourceJson() {
return this.getStringAttribute('source_json');
}
set sourceJson(value) {
this._sourceJson = value;
}
resetSourceJson() {
this._sourceJson = undefined;
}
// Temporarily expose input value. Use with caution.
get sourceJsonInput() {
return this._sourceJson;
}
get sourcePolicyDocuments() {
return this.getListAttribute('source_policy_documents');
}
set sourcePolicyDocuments(value) {
this._sourcePolicyDocuments = value;
}
resetSourcePolicyDocuments() {
this._sourcePolicyDocuments = undefined;
}
// Temporarily expose input value. Use with caution.
get sourcePolicyDocumentsInput() {
return this._sourcePolicyDocuments;
}
get version() {
return this.getStringAttribute('version');
}
set version(value) {
this._version = value;
}
resetVersion() {
this._version = undefined;
}
// Temporarily expose input value. Use with caution.
get versionInput() {
return this._version;
}
get statement() {
return this._statement;
}
putStatement(value) {
this._statement.internalValue = value;
}
resetStatement() {
this._statement.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get statementInput() {
return this._statement.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
id: cdktf.stringToTerraform(this._id),
override_json: cdktf.stringToTerraform(this._overrideJson),
override_policy_documents: cdktf.listMapper(cdktf.stringToTerraform, false)(this._overridePolicyDocuments),
policy_id: cdktf.stringToTerraform(this._policyId),
source_json: cdktf.stringToTerraform(this._sourceJson),
source_policy_documents: cdktf.listMapper(cdktf.stringToTerraform, false)(this._sourcePolicyDocuments),
version: cdktf.stringToTerraform(this._version),
statement: cdktf.listMapper(dataAwsIamPolicyDocumentStatementToTerraform, true)(this._statement.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
override_json: {
value: cdktf.stringToHclTerraform(this._overrideJson),
isBlock: false,
type: "simple",
storageClassType: "string",
},
override_policy_documents: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._overridePolicyDocuments),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
policy_id: {
value: cdktf.stringToHclTerraform(this._policyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
source_json: {
value: cdktf.stringToHclTerraform(this._sourceJson),
isBlock: false,
type: "simple",
storageClassType: "string",
},
source_policy_documents: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._sourcePolicyDocuments),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
version: {
value: cdktf.stringToHclTerraform(this._version),
isBlock: false,
type: "simple",
storageClassType: "string",
},
statement: {
value: cdktf.listMapperHcl(dataAwsIamPolicyDocumentStatementToHclTerraform, true)(this._statement.internalValue),
isBlock: true,
type: "list",
storageClassType: "DataAwsIamPolicyDocumentStatementList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.DataAwsIamPolicyDocument = DataAwsIamPolicyDocument;
_j = JSII_RTTI_SYMBOL_1;
DataAwsIamPolicyDocument[_j] = { fqn: "@cdktf/provider-aws.dataAwsIamPolicyDocument.DataAwsIamPolicyDocument", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
DataAwsIamPolicyDocument.tfResourceType = "aws_iam_policy_document";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1hd3MtaWFtLXBvbGljeS1kb2N1bWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQTBEL0IsU0FBZ0IscURBQXFELENBQUMsTUFBdUU7SUFDM0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztRQUMzQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztRQUN4RSxRQUFRLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxRQUFRLENBQUM7S0FDcEQsQ0FBQTtBQUNILENBQUM7QUFWRCxzSEFVQztBQUdELFNBQWdCLHdEQUF3RCxDQUFDLE1BQXVFO0lBQzlJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FB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