@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
1,130 lines • 160 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServicebusNamespace = exports.ServicebusNamespaceTimeoutsOutputReference = exports.servicebusNamespaceTimeoutsToHclTerraform = exports.servicebusNamespaceTimeoutsToTerraform = exports.ServicebusNamespaceNetworkRuleSetOutputReference = exports.servicebusNamespaceNetworkRuleSetToHclTerraform = exports.servicebusNamespaceNetworkRuleSetToTerraform = exports.ServicebusNamespaceNetworkRuleSetNetworkRulesList = exports.ServicebusNamespaceNetworkRuleSetNetworkRulesOutputReference = exports.servicebusNamespaceNetworkRuleSetNetworkRulesToHclTerraform = exports.servicebusNamespaceNetworkRuleSetNetworkRulesToTerraform = exports.ServicebusNamespaceIdentityOutputReference = exports.servicebusNamespaceIdentityToHclTerraform = exports.servicebusNamespaceIdentityToTerraform = exports.ServicebusNamespaceCustomerManagedKeyOutputReference = exports.servicebusNamespaceCustomerManagedKeyToHclTerraform = exports.servicebusNamespaceCustomerManagedKeyToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function servicebusNamespaceCustomerManagedKeyToTerraform(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 {
identity_id: cdktf.stringToTerraform(struct.identityId),
infrastructure_encryption_enabled: cdktf.booleanToTerraform(struct.infrastructureEncryptionEnabled),
key_vault_key_id: cdktf.stringToTerraform(struct.keyVaultKeyId),
};
}
exports.servicebusNamespaceCustomerManagedKeyToTerraform = servicebusNamespaceCustomerManagedKeyToTerraform;
function servicebusNamespaceCustomerManagedKeyToHclTerraform(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 = {
identity_id: {
value: cdktf.stringToHclTerraform(struct.identityId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
infrastructure_encryption_enabled: {
value: cdktf.booleanToHclTerraform(struct.infrastructureEncryptionEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
key_vault_key_id: {
value: cdktf.stringToHclTerraform(struct.keyVaultKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.servicebusNamespaceCustomerManagedKeyToHclTerraform = servicebusNamespaceCustomerManagedKeyToHclTerraform;
class ServicebusNamespaceCustomerManagedKeyOutputReference 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._identityId !== undefined) {
hasAnyValues = true;
internalValueResult.identityId = this._identityId;
}
if (this._infrastructureEncryptionEnabled !== undefined) {
hasAnyValues = true;
internalValueResult.infrastructureEncryptionEnabled = this._infrastructureEncryptionEnabled;
}
if (this._keyVaultKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.keyVaultKeyId = this._keyVaultKeyId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._identityId = undefined;
this._infrastructureEncryptionEnabled = undefined;
this._keyVaultKeyId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._identityId = value.identityId;
this._infrastructureEncryptionEnabled = value.infrastructureEncryptionEnabled;
this._keyVaultKeyId = value.keyVaultKeyId;
}
}
get identityId() {
return this.getStringAttribute('identity_id');
}
set identityId(value) {
this._identityId = value;
}
// Temporarily expose input value. Use with caution.
get identityIdInput() {
return this._identityId;
}
get infrastructureEncryptionEnabled() {
return this.getBooleanAttribute('infrastructure_encryption_enabled');
}
set infrastructureEncryptionEnabled(value) {
this._infrastructureEncryptionEnabled = value;
}
resetInfrastructureEncryptionEnabled() {
this._infrastructureEncryptionEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get infrastructureEncryptionEnabledInput() {
return this._infrastructureEncryptionEnabled;
}
get keyVaultKeyId() {
return this.getStringAttribute('key_vault_key_id');
}
set keyVaultKeyId(value) {
this._keyVaultKeyId = value;
}
// Temporarily expose input value. Use with caution.
get keyVaultKeyIdInput() {
return this._keyVaultKeyId;
}
}
exports.ServicebusNamespaceCustomerManagedKeyOutputReference = ServicebusNamespaceCustomerManagedKeyOutputReference;
_a = JSII_RTTI_SYMBOL_1;
ServicebusNamespaceCustomerManagedKeyOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.servicebusNamespace.ServicebusNamespaceCustomerManagedKeyOutputReference", version: "12.27.0" };
function servicebusNamespaceIdentityToTerraform(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 {
identity_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identityIds),
type: cdktf.stringToTerraform(struct.type),
};
}
exports.servicebusNamespaceIdentityToTerraform = servicebusNamespaceIdentityToTerraform;
function servicebusNamespaceIdentityToHclTerraform(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 = {
identity_ids: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identityIds),
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.servicebusNamespaceIdentityToHclTerraform = servicebusNamespaceIdentityToHclTerraform;
class ServicebusNamespaceIdentityOutputReference 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._identityIds !== undefined) {
hasAnyValues = true;
internalValueResult.identityIds = this._identityIds;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._identityIds = undefined;
this._type = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._identityIds = value.identityIds;
this._type = value.type;
}
}
get identityIds() {
return cdktf.Fn.tolist(this.getListAttribute('identity_ids'));
}
set identityIds(value) {
this._identityIds = value;
}
resetIdentityIds() {
this._identityIds = undefined;
}
// Temporarily expose input value. Use with caution.
get identityIdsInput() {
return this._identityIds;
}
// principal_id - computed: true, optional: false, required: false
get principalId() {
return this.getStringAttribute('principal_id');
}
// tenant_id - computed: true, optional: false, required: false
get tenantId() {
return this.getStringAttribute('tenant_id');
}
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.ServicebusNamespaceIdentityOutputReference = ServicebusNamespaceIdentityOutputReference;
_b = JSII_RTTI_SYMBOL_1;
ServicebusNamespaceIdentityOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.servicebusNamespace.ServicebusNamespaceIdentityOutputReference", version: "12.27.0" };
function servicebusNamespaceNetworkRuleSetNetworkRulesToTerraform(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 {
ignore_missing_vnet_service_endpoint: cdktf.booleanToTerraform(struct.ignoreMissingVnetServiceEndpoint),
subnet_id: cdktf.stringToTerraform(struct.subnetId),
};
}
exports.servicebusNamespaceNetworkRuleSetNetworkRulesToTerraform = servicebusNamespaceNetworkRuleSetNetworkRulesToTerraform;
function servicebusNamespaceNetworkRuleSetNetworkRulesToHclTerraform(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 = {
ignore_missing_vnet_service_endpoint: {
value: cdktf.booleanToHclTerraform(struct.ignoreMissingVnetServiceEndpoint),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
subnet_id: {
value: cdktf.stringToHclTerraform(struct.subnetId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.servicebusNamespaceNetworkRuleSetNetworkRulesToHclTerraform = servicebusNamespaceNetworkRuleSetNetworkRulesToHclTerraform;
class ServicebusNamespaceNetworkRuleSetNetworkRulesOutputReference 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._ignoreMissingVnetServiceEndpoint !== undefined) {
hasAnyValues = true;
internalValueResult.ignoreMissingVnetServiceEndpoint = this._ignoreMissingVnetServiceEndpoint;
}
if (this._subnetId !== undefined) {
hasAnyValues = true;
internalValueResult.subnetId = this._subnetId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._ignoreMissingVnetServiceEndpoint = undefined;
this._subnetId = 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._ignoreMissingVnetServiceEndpoint = value.ignoreMissingVnetServiceEndpoint;
this._subnetId = value.subnetId;
}
}
get ignoreMissingVnetServiceEndpoint() {
return this.getBooleanAttribute('ignore_missing_vnet_service_endpoint');
}
set ignoreMissingVnetServiceEndpoint(value) {
this._ignoreMissingVnetServiceEndpoint = value;
}
resetIgnoreMissingVnetServiceEndpoint() {
this._ignoreMissingVnetServiceEndpoint = undefined;
}
// Temporarily expose input value. Use with caution.
get ignoreMissingVnetServiceEndpointInput() {
return this._ignoreMissingVnetServiceEndpoint;
}
get subnetId() {
return this.getStringAttribute('subnet_id');
}
set subnetId(value) {
this._subnetId = value;
}
// Temporarily expose input value. Use with caution.
get subnetIdInput() {
return this._subnetId;
}
}
exports.ServicebusNamespaceNetworkRuleSetNetworkRulesOutputReference = ServicebusNamespaceNetworkRuleSetNetworkRulesOutputReference;
_c = JSII_RTTI_SYMBOL_1;
ServicebusNamespaceNetworkRuleSetNetworkRulesOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.servicebusNamespace.ServicebusNamespaceNetworkRuleSetNetworkRulesOutputReference", version: "12.27.0" };
class ServicebusNamespaceNetworkRuleSetNetworkRulesList 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 ServicebusNamespaceNetworkRuleSetNetworkRulesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ServicebusNamespaceNetworkRuleSetNetworkRulesList = ServicebusNamespaceNetworkRuleSetNetworkRulesList;
_d = JSII_RTTI_SYMBOL_1;
ServicebusNamespaceNetworkRuleSetNetworkRulesList[_d] = { fqn: "@cdktf/provider-azurerm.servicebusNamespace.ServicebusNamespaceNetworkRuleSetNetworkRulesList", version: "12.27.0" };
function servicebusNamespaceNetworkRuleSetToTerraform(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 {
default_action: cdktf.stringToTerraform(struct.defaultAction),
ip_rules: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ipRules),
public_network_access_enabled: cdktf.booleanToTerraform(struct.publicNetworkAccessEnabled),
trusted_services_allowed: cdktf.booleanToTerraform(struct.trustedServicesAllowed),
network_rules: cdktf.listMapper(servicebusNamespaceNetworkRuleSetNetworkRulesToTerraform, true)(struct.networkRules),
};
}
exports.servicebusNamespaceNetworkRuleSetToTerraform = servicebusNamespaceNetworkRuleSetToTerraform;
function servicebusNamespaceNetworkRuleSetToHclTerraform(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 = {
default_action: {
value: cdktf.stringToHclTerraform(struct.defaultAction),
isBlock: false,
type: "simple",
storageClassType: "string",
},
ip_rules: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ipRules),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
public_network_access_enabled: {
value: cdktf.booleanToHclTerraform(struct.publicNetworkAccessEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
trusted_services_allowed: {
value: cdktf.booleanToHclTerraform(struct.trustedServicesAllowed),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
network_rules: {
value: cdktf.listMapperHcl(servicebusNamespaceNetworkRuleSetNetworkRulesToHclTerraform, true)(struct.networkRules),
isBlock: true,
type: "set",
storageClassType: "ServicebusNamespaceNetworkRuleSetNetworkRulesList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.servicebusNamespaceNetworkRuleSetToHclTerraform = servicebusNamespaceNetworkRuleSetToHclTerraform;
class ServicebusNamespaceNetworkRuleSetOutputReference 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;
// network_rules - computed: false, optional: true, required: false
this._networkRules = new ServicebusNamespaceNetworkRuleSetNetworkRulesList(this, "network_rules", true);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._defaultAction !== undefined) {
hasAnyValues = true;
internalValueResult.defaultAction = this._defaultAction;
}
if (this._ipRules !== undefined) {
hasAnyValues = true;
internalValueResult.ipRules = this._ipRules;
}
if (this._publicNetworkAccessEnabled !== undefined) {
hasAnyValues = true;
internalValueResult.publicNetworkAccessEnabled = this._publicNetworkAccessEnabled;
}
if (this._trustedServicesAllowed !== undefined) {
hasAnyValues = true;
internalValueResult.trustedServicesAllowed = this._trustedServicesAllowed;
}
if (this._networkRules?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.networkRules = this._networkRules?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._defaultAction = undefined;
this._ipRules = undefined;
this._publicNetworkAccessEnabled = undefined;
this._trustedServicesAllowed = undefined;
this._networkRules.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._defaultAction = value.defaultAction;
this._ipRules = value.ipRules;
this._publicNetworkAccessEnabled = value.publicNetworkAccessEnabled;
this._trustedServicesAllowed = value.trustedServicesAllowed;
this._networkRules.internalValue = value.networkRules;
}
}
get defaultAction() {
return this.getStringAttribute('default_action');
}
set defaultAction(value) {
this._defaultAction = value;
}
resetDefaultAction() {
this._defaultAction = undefined;
}
// Temporarily expose input value. Use with caution.
get defaultActionInput() {
return this._defaultAction;
}
get ipRules() {
return cdktf.Fn.tolist(this.getListAttribute('ip_rules'));
}
set ipRules(value) {
this._ipRules = value;
}
resetIpRules() {
this._ipRules = undefined;
}
// Temporarily expose input value. Use with caution.
get ipRulesInput() {
return this._ipRules;
}
get publicNetworkAccessEnabled() {
return this.getBooleanAttribute('public_network_access_enabled');
}
set publicNetworkAccessEnabled(value) {
this._publicNetworkAccessEnabled = value;
}
resetPublicNetworkAccessEnabled() {
this._publicNetworkAccessEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get publicNetworkAccessEnabledInput() {
return this._publicNetworkAccessEnabled;
}
get trustedServicesAllowed() {
return this.getBooleanAttribute('trusted_services_allowed');
}
set trustedServicesAllowed(value) {
this._trustedServicesAllowed = value;
}
resetTrustedServicesAllowed() {
this._trustedServicesAllowed = undefined;
}
// Temporarily expose input value. Use with caution.
get trustedServicesAllowedInput() {
return this._trustedServicesAllowed;
}
get networkRules() {
return this._networkRules;
}
putNetworkRules(value) {
this._networkRules.internalValue = value;
}
resetNetworkRules() {
this._networkRules.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get networkRulesInput() {
return this._networkRules.internalValue;
}
}
exports.ServicebusNamespaceNetworkRuleSetOutputReference = ServicebusNamespaceNetworkRuleSetOutputReference;
_e = JSII_RTTI_SYMBOL_1;
ServicebusNamespaceNetworkRuleSetOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.servicebusNamespace.ServicebusNamespaceNetworkRuleSetOutputReference", version: "12.27.0" };
function servicebusNamespaceTimeoutsToTerraform(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 {
create: cdktf.stringToTerraform(struct.create),
delete: cdktf.stringToTerraform(struct.delete),
read: cdktf.stringToTerraform(struct.read),
update: cdktf.stringToTerraform(struct.update),
};
}
exports.servicebusNamespaceTimeoutsToTerraform = servicebusNamespaceTimeoutsToTerraform;
function servicebusNamespaceTimeoutsToHclTerraform(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 = {
create: {
value: cdktf.stringToHclTerraform(struct.create),
isBlock: false,
type: "simple",
storageClassType: "string",
},
delete: {
value: cdktf.stringToHclTerraform(struct.delete),
isBlock: false,
type: "simple",
storageClassType: "string",
},
read: {
value: cdktf.stringToHclTerraform(struct.read),
isBlock: false,
type: "simple",
storageClassType: "string",
},
update: {
value: cdktf.stringToHclTerraform(struct.update),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.servicebusNamespaceTimeoutsToHclTerraform = servicebusNamespaceTimeoutsToHclTerraform;
class ServicebusNamespaceTimeoutsOutputReference 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);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._create !== undefined) {
hasAnyValues = true;
internalValueResult.create = this._create;
}
if (this._delete !== undefined) {
hasAnyValues = true;
internalValueResult.delete = this._delete;
}
if (this._read !== undefined) {
hasAnyValues = true;
internalValueResult.read = this._read;
}
if (this._update !== undefined) {
hasAnyValues = true;
internalValueResult.update = this._update;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._create = undefined;
this._delete = undefined;
this._read = undefined;
this._update = 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._create = value.create;
this._delete = value.delete;
this._read = value.read;
this._update = value.update;
}
}
get create() {
return this.getStringAttribute('create');
}
set create(value) {
this._create = value;
}
resetCreate() {
this._create = undefined;
}
// Temporarily expose input value. Use with caution.
get createInput() {
return this._create;
}
get delete() {
return this.getStringAttribute('delete');
}
set delete(value) {
this._delete = value;
}
resetDelete() {
this._delete = undefined;
}
// Temporarily expose input value. Use with caution.
get deleteInput() {
return this._delete;
}
get read() {
return this.getStringAttribute('read');
}
set read(value) {
this._read = value;
}
resetRead() {
this._read = undefined;
}
// Temporarily expose input value. Use with caution.
get readInput() {
return this._read;
}
get update() {
return this.getStringAttribute('update');
}
set update(value) {
this._update = value;
}
resetUpdate() {
this._update = undefined;
}
// Temporarily expose input value. Use with caution.
get updateInput() {
return this._update;
}
}
exports.ServicebusNamespaceTimeoutsOutputReference = ServicebusNamespaceTimeoutsOutputReference;
_f = JSII_RTTI_SYMBOL_1;
ServicebusNamespaceTimeoutsOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.servicebusNamespace.ServicebusNamespaceTimeoutsOutputReference", version: "12.27.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/servicebus_namespace azurerm_servicebus_namespace}
*/
class ServicebusNamespace extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a ServicebusNamespace 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 ServicebusNamespace to import
* @param importFromId The id of the existing ServicebusNamespace that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/servicebus_namespace#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ServicebusNamespace to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_servicebus_namespace", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/servicebus_namespace azurerm_servicebus_namespace} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options ServicebusNamespaceConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'azurerm_servicebus_namespace',
terraformGeneratorMetadata: {
providerName: 'azurerm',
providerVersion: '3.116.0',
providerVersionConstraint: '~> 3.10'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// customer_managed_key - computed: false, optional: true, required: false
this._customerManagedKey = new ServicebusNamespaceCustomerManagedKeyOutputReference(this, "customer_managed_key");
// identity - computed: false, optional: true, required: false
this._identity = new ServicebusNamespaceIdentityOutputReference(this, "identity");
// network_rule_set - computed: false, optional: true, required: false
this._networkRuleSet = new ServicebusNamespaceNetworkRuleSetOutputReference(this, "network_rule_set");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new ServicebusNamespaceTimeoutsOutputReference(this, "timeouts");
this._capacity = config.capacity;
this._id = config.id;
this._localAuthEnabled = config.localAuthEnabled;
this._location = config.location;
this._minimumTlsVersion = config.minimumTlsVersion;
this._name = config.name;
this._premiumMessagingPartitions = config.premiumMessagingPartitions;
this._publicNetworkAccessEnabled = config.publicNetworkAccessEnabled;
this._resourceGroupName = config.resourceGroupName;
this._sku = config.sku;
this._tags = config.tags;
this._zoneRedundant = config.zoneRedundant;
this._customerManagedKey.internalValue = config.customerManagedKey;
this._identity.internalValue = config.identity;
this._networkRuleSet.internalValue = config.networkRuleSet;
this._timeouts.internalValue = config.timeouts;
}
get capacity() {
return this.getNumberAttribute('capacity');
}
set capacity(value) {
this._capacity = value;
}
resetCapacity() {
this._capacity = undefined;
}
// Temporarily expose input value. Use with caution.
get capacityInput() {
return this._capacity;
}
// default_primary_connection_string - computed: true, optional: false, required: false
get defaultPrimaryConnectionString() {
return this.getStringAttribute('default_primary_connection_string');
}
// default_primary_key - computed: true, optional: false, required: false
get defaultPrimaryKey() {
return this.getStringAttribute('default_primary_key');
}
// default_secondary_connection_string - computed: true, optional: false, required: false
get defaultSecondaryConnectionString() {
return this.getStringAttribute('default_secondary_connection_string');
}
// default_secondary_key - computed: true, optional: false, required: false
get defaultSecondaryKey() {
return this.getStringAttribute('default_secondary_key');
}
// endpoint - computed: true, optional: false, required: false
get endpoint() {
return this.getStringAttribute('endpoint');
}
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;
}
get localAuthEnabled() {
return this.getBooleanAttribute('local_auth_enabled');
}
set localAuthEnabled(value) {
this._localAuthEnabled = value;
}
resetLocalAuthEnabled() {
this._localAuthEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get localAuthEnabledInput() {
return this._localAuthEnabled;
}
get location() {
return this.getStringAttribute('location');
}
set location(value) {
this._location = value;
}
// Temporarily expose input value. Use with caution.
get locationInput() {
return this._location;
}
get minimumTlsVersion() {
return this.getStringAttribute('minimum_tls_version');
}
set minimumTlsVersion(value) {
this._minimumTlsVersion = value;
}
resetMinimumTlsVersion() {
this._minimumTlsVersion = undefined;
}
// Temporarily expose input value. Use with caution.
get minimumTlsVersionInput() {
return this._minimumTlsVersion;
}
get name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get premiumMessagingPartitions() {
return this.getNumberAttribute('premium_messaging_partitions');
}
set premiumMessagingPartitions(value) {
this._premiumMessagingPartitions = value;
}
resetPremiumMessagingPartitions() {
this._premiumMessagingPartitions = undefined;
}
// Temporarily expose input value. Use with caution.
get premiumMessagingPartitionsInput() {
return this._premiumMessagingPartitions;
}
get publicNetworkAccessEnabled() {
return this.getBooleanAttribute('public_network_access_enabled');
}
set publicNetworkAccessEnabled(value) {
this._publicNetworkAccessEnabled = value;
}
resetPublicNetworkAccessEnabled() {
this._publicNetworkAccessEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get publicNetworkAccessEnabledInput() {
return this._publicNetworkAccessEnabled;
}
get resourceGroupName() {
return this.getStringAttribute('resource_group_name');
}
set resourceGroupName(value) {
this._resourceGroupName = value;
}
// Temporarily expose input value. Use with caution.
get resourceGroupNameInput() {
return this._resourceGroupName;
}
get sku() {
return this.getStringAttribute('sku');
}
set sku(value) {
this._sku = value;
}
// Temporarily expose input value. Use with caution.
get skuInput() {
return this._sku;
}
get tags() {
return this.getStringMapAttribute('tags');
}
set tags(value) {
this._tags = value;
}
resetTags() {
this._tags = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsInput() {
return this._tags;
}
get zoneRedundant() {
return this.getBooleanAttribute('zone_redundant');
}
set zoneRedundant(value) {
this._zoneRedundant = value;
}
resetZoneRedundant() {
this._zoneRedundant = undefined;
}
// Temporarily expose input value. Use with caution.
get zoneRedundantInput() {
return this._zoneRedundant;
}
get customerManagedKey() {
return this._customerManagedKey;
}
putCustomerManagedKey(value) {
this._customerManagedKey.internalValue = value;
}
resetCustomerManagedKey() {
this._customerManagedKey.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get customerManagedKeyInput() {
return this._customerManagedKey.internalValue;
}
get identity() {
return this._identity;
}
putIdentity(value) {
this._identity.internalValue = value;
}
resetIdentity() {
this._identity.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get identityInput() {
return this._identity.internalValue;
}
get networkRuleSet() {
return this._networkRuleSet;
}
putNetworkRuleSet(value) {
this._networkRuleSet.internalValue = value;
}
resetNetworkRuleSet() {
this._networkRuleSet.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get networkRuleSetInput() {
return this._networkRuleSet.internalValue;
}
get timeouts() {
return this._timeouts;
}
putTimeouts(value) {
this._timeouts.internalValue = value;
}
resetTimeouts() {
this._timeouts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutsInput() {
return this._timeouts.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
capacity: cdktf.numberToTerraform(this._capacity),
id: cdktf.stringToTerraform(this._id),
local_auth_enabled: cdktf.booleanToTerraform(this._localAuthEnabled),
location: cdktf.stringToTerraform(this._location),
minimum_tls_version: cdktf.stringToTerraform(this._minimumTlsVersion),
name: cdktf.stringToTerraform(this._name),
premium_messaging_partitions: cdktf.numberToTerraform(this._premiumMessagingPartitions),
public_network_access_enabled: cdktf.booleanToTerraform(this._publicNetworkAccessEnabled),
resource_group_name: cdktf.stringToTerraform(this._resourceGroupName),
sku: cdktf.stringToTerraform(this._sku),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
zone_redundant: cdktf.booleanToTerraform(this._zoneRedundant),
customer_managed_key: servicebusNamespaceCustomerManagedKeyToTerraform(this._customerManagedKey.internalValue),
identity: servicebusNamespaceIdentityToTerraform(this._identity.internalValue),
network_rule_set: servicebusNamespaceNetworkRuleSetToTerraform(this._networkRuleSet.internalValue),
timeouts: servicebusNamespaceTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
capacity: {
value: cdktf.numberToHclTerraform(this._capacity),
isBlock: false,
type: "simple",
storageClassType: "number",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
local_auth_enabled: {
value: cdktf.booleanToHclTerraform(this._localAuthEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
location: {
value: cdktf.stringToHclTerraform(this._location),
isBlock: false,
type: "simple",
storageClassType: "string",
},
minimum_tls_version: {
value: cdktf.stringToHclTerraform(this._minimumTlsVersion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
premium_messaging_partitions: {
value: cdktf.numberToHclTerraform(this._premiumMessagingPartitions),
isBlock: false,
type: "simple",
storageClassType: "number",
},
public_network_access_enabled: {
value: cdktf.booleanToHclTerraform(this._publicNetworkAccessEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
resource_group_name: {
value: cdktf.stringToHclTerraform(this._resourceGroupName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
sku: {
value: cdktf.stringToHclTerraform(this._sku),
isBlock: false,
type: "simple",
storageClassType: "string",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
zone_redundant: {
value: cdktf.booleanToHclTerraform(this._zoneRedundant),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
customer_managed_key: {
value: servicebusNamespaceCustomerManagedKeyToHclTerraform(this._customerManagedKey.internalValue),
isBlock: true,
type: "list",
storageClassType: "ServicebusNamespaceCustomerManagedKeyList",
},
identity: {
value: servicebusNamespaceIdentityToHclTerraform(this._identity.internalValue),
isBlock: true,
type: "list",
storageClassType: "ServicebusNamespaceIdentityList",
},
network_rule_set: {
value: servicebusNamespaceNetworkRuleSetToHclTerraform(this._networkRuleSet.internalValue),
isBlock: true,
type: "list",
storageClassType: "ServicebusNamespaceNetworkRuleSetList",
},
timeouts: {
value: servicebusNamespaceTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "ServicebusNamespaceTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.ServicebusNamespace = ServicebusNamespace;
_g = JSII_RTTI_SYMBOL_1;
ServicebusNamespace[_g] = { fqn: "@cdktf/provider-azurerm.servicebusNamespace.ServicebusNamespace", version: "12.27.0" };
// =================
// STATIC PROPERTIES
// =================
ServicebusNamespace.tfResourceType = "azurerm_servicebus_namespace";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZWJ1cy1uYW1lc3BhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUFnRy9CLFNBQWdCLGdEQUFnRCxDQUFDLE1BQXFHO0lBQ3BLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDeEQsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU8sQ0FBQywrQkFBK0IsQ0FBQztRQUNwRyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQztLQUNqRSxDQUFBO0FBQ0gsQ0FBQztBQVZELDRHQVVDO0FBR0QsU0FBZ0IsbURBQW1ELENBQUMsTUFBcUc7SUFDdkssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lB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