@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
912 lines • 137 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MssqlVirtualMachineAvailabilityGroupListener = exports.MssqlVirtualMachineAvailabilityGroupListenerTimeoutsOutputReference = exports.mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToHclTerraform = exports.mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToTerraform = exports.MssqlVirtualMachineAvailabilityGroupListenerReplicaList = exports.MssqlVirtualMachineAvailabilityGroupListenerReplicaOutputReference = exports.mssqlVirtualMachineAvailabilityGroupListenerReplicaToHclTerraform = exports.mssqlVirtualMachineAvailabilityGroupListenerReplicaToTerraform = exports.MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList = exports.MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputReference = exports.mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToHclTerraform = exports.mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToTerraform = exports.MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputReference = exports.mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToHclTerraform = exports.mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToTerraform(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 {
load_balancer_id: cdktf.stringToTerraform(struct.loadBalancerId),
private_ip_address: cdktf.stringToTerraform(struct.privateIpAddress),
probe_port: cdktf.numberToTerraform(struct.probePort),
sql_virtual_machine_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.sqlVirtualMachineIds),
subnet_id: cdktf.stringToTerraform(struct.subnetId),
};
}
exports.mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToTerraform = mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToTerraform;
function mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToHclTerraform(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 = {
load_balancer_id: {
value: cdktf.stringToHclTerraform(struct.loadBalancerId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
private_ip_address: {
value: cdktf.stringToHclTerraform(struct.privateIpAddress),
isBlock: false,
type: "simple",
storageClassType: "string",
},
probe_port: {
value: cdktf.numberToHclTerraform(struct.probePort),
isBlock: false,
type: "simple",
storageClassType: "number",
},
sql_virtual_machine_ids: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.sqlVirtualMachineIds),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
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.mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToHclTerraform = mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToHclTerraform;
class MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputReference 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._loadBalancerId !== undefined) {
hasAnyValues = true;
internalValueResult.loadBalancerId = this._loadBalancerId;
}
if (this._privateIpAddress !== undefined) {
hasAnyValues = true;
internalValueResult.privateIpAddress = this._privateIpAddress;
}
if (this._probePort !== undefined) {
hasAnyValues = true;
internalValueResult.probePort = this._probePort;
}
if (this._sqlVirtualMachineIds !== undefined) {
hasAnyValues = true;
internalValueResult.sqlVirtualMachineIds = this._sqlVirtualMachineIds;
}
if (this._subnetId !== undefined) {
hasAnyValues = true;
internalValueResult.subnetId = this._subnetId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._loadBalancerId = undefined;
this._privateIpAddress = undefined;
this._probePort = undefined;
this._sqlVirtualMachineIds = undefined;
this._subnetId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._loadBalancerId = value.loadBalancerId;
this._privateIpAddress = value.privateIpAddress;
this._probePort = value.probePort;
this._sqlVirtualMachineIds = value.sqlVirtualMachineIds;
this._subnetId = value.subnetId;
}
}
get loadBalancerId() {
return this.getStringAttribute('load_balancer_id');
}
set loadBalancerId(value) {
this._loadBalancerId = value;
}
// Temporarily expose input value. Use with caution.
get loadBalancerIdInput() {
return this._loadBalancerId;
}
get privateIpAddress() {
return this.getStringAttribute('private_ip_address');
}
set privateIpAddress(value) {
this._privateIpAddress = value;
}
// Temporarily expose input value. Use with caution.
get privateIpAddressInput() {
return this._privateIpAddress;
}
get probePort() {
return this.getNumberAttribute('probe_port');
}
set probePort(value) {
this._probePort = value;
}
// Temporarily expose input value. Use with caution.
get probePortInput() {
return this._probePort;
}
get sqlVirtualMachineIds() {
return cdktf.Fn.tolist(this.getListAttribute('sql_virtual_machine_ids'));
}
set sqlVirtualMachineIds(value) {
this._sqlVirtualMachineIds = value;
}
// Temporarily expose input value. Use with caution.
get sqlVirtualMachineIdsInput() {
return this._sqlVirtualMachineIds;
}
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.MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputReference = MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.mssqlVirtualMachineAvailabilityGroupListener.MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputReference", version: "12.27.0" };
function mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToTerraform(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 {
private_ip_address: cdktf.stringToTerraform(struct.privateIpAddress),
sql_virtual_machine_id: cdktf.stringToTerraform(struct.sqlVirtualMachineId),
subnet_id: cdktf.stringToTerraform(struct.subnetId),
};
}
exports.mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToTerraform = mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToTerraform;
function mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToHclTerraform(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 = {
private_ip_address: {
value: cdktf.stringToHclTerraform(struct.privateIpAddress),
isBlock: false,
type: "simple",
storageClassType: "string",
},
sql_virtual_machine_id: {
value: cdktf.stringToHclTerraform(struct.sqlVirtualMachineId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
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.mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToHclTerraform = mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToHclTerraform;
class MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputReference 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._privateIpAddress !== undefined) {
hasAnyValues = true;
internalValueResult.privateIpAddress = this._privateIpAddress;
}
if (this._sqlVirtualMachineId !== undefined) {
hasAnyValues = true;
internalValueResult.sqlVirtualMachineId = this._sqlVirtualMachineId;
}
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._privateIpAddress = undefined;
this._sqlVirtualMachineId = 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._privateIpAddress = value.privateIpAddress;
this._sqlVirtualMachineId = value.sqlVirtualMachineId;
this._subnetId = value.subnetId;
}
}
get privateIpAddress() {
return this.getStringAttribute('private_ip_address');
}
set privateIpAddress(value) {
this._privateIpAddress = value;
}
// Temporarily expose input value. Use with caution.
get privateIpAddressInput() {
return this._privateIpAddress;
}
get sqlVirtualMachineId() {
return this.getStringAttribute('sql_virtual_machine_id');
}
set sqlVirtualMachineId(value) {
this._sqlVirtualMachineId = value;
}
// Temporarily expose input value. Use with caution.
get sqlVirtualMachineIdInput() {
return this._sqlVirtualMachineId;
}
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.MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputReference = MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputReference;
_b = JSII_RTTI_SYMBOL_1;
MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.mssqlVirtualMachineAvailabilityGroupListener.MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputReference", version: "12.27.0" };
class MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList 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 MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList = MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList;
_c = JSII_RTTI_SYMBOL_1;
MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList[_c] = { fqn: "@cdktf/provider-azurerm.mssqlVirtualMachineAvailabilityGroupListener.MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList", version: "12.27.0" };
function mssqlVirtualMachineAvailabilityGroupListenerReplicaToTerraform(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 {
commit: cdktf.stringToTerraform(struct.commit),
failover_mode: cdktf.stringToTerraform(struct.failoverMode),
readable_secondary: cdktf.stringToTerraform(struct.readableSecondary),
role: cdktf.stringToTerraform(struct.role),
sql_virtual_machine_id: cdktf.stringToTerraform(struct.sqlVirtualMachineId),
};
}
exports.mssqlVirtualMachineAvailabilityGroupListenerReplicaToTerraform = mssqlVirtualMachineAvailabilityGroupListenerReplicaToTerraform;
function mssqlVirtualMachineAvailabilityGroupListenerReplicaToHclTerraform(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 = {
commit: {
value: cdktf.stringToHclTerraform(struct.commit),
isBlock: false,
type: "simple",
storageClassType: "string",
},
failover_mode: {
value: cdktf.stringToHclTerraform(struct.failoverMode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
readable_secondary: {
value: cdktf.stringToHclTerraform(struct.readableSecondary),
isBlock: false,
type: "simple",
storageClassType: "string",
},
role: {
value: cdktf.stringToHclTerraform(struct.role),
isBlock: false,
type: "simple",
storageClassType: "string",
},
sql_virtual_machine_id: {
value: cdktf.stringToHclTerraform(struct.sqlVirtualMachineId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.mssqlVirtualMachineAvailabilityGroupListenerReplicaToHclTerraform = mssqlVirtualMachineAvailabilityGroupListenerReplicaToHclTerraform;
class MssqlVirtualMachineAvailabilityGroupListenerReplicaOutputReference 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._commit !== undefined) {
hasAnyValues = true;
internalValueResult.commit = this._commit;
}
if (this._failoverMode !== undefined) {
hasAnyValues = true;
internalValueResult.failoverMode = this._failoverMode;
}
if (this._readableSecondary !== undefined) {
hasAnyValues = true;
internalValueResult.readableSecondary = this._readableSecondary;
}
if (this._role !== undefined) {
hasAnyValues = true;
internalValueResult.role = this._role;
}
if (this._sqlVirtualMachineId !== undefined) {
hasAnyValues = true;
internalValueResult.sqlVirtualMachineId = this._sqlVirtualMachineId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._commit = undefined;
this._failoverMode = undefined;
this._readableSecondary = undefined;
this._role = undefined;
this._sqlVirtualMachineId = 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._commit = value.commit;
this._failoverMode = value.failoverMode;
this._readableSecondary = value.readableSecondary;
this._role = value.role;
this._sqlVirtualMachineId = value.sqlVirtualMachineId;
}
}
get commit() {
return this.getStringAttribute('commit');
}
set commit(value) {
this._commit = value;
}
// Temporarily expose input value. Use with caution.
get commitInput() {
return this._commit;
}
get failoverMode() {
return this.getStringAttribute('failover_mode');
}
set failoverMode(value) {
this._failoverMode = value;
}
// Temporarily expose input value. Use with caution.
get failoverModeInput() {
return this._failoverMode;
}
get readableSecondary() {
return this.getStringAttribute('readable_secondary');
}
set readableSecondary(value) {
this._readableSecondary = value;
}
// Temporarily expose input value. Use with caution.
get readableSecondaryInput() {
return this._readableSecondary;
}
get role() {
return this.getStringAttribute('role');
}
set role(value) {
this._role = value;
}
// Temporarily expose input value. Use with caution.
get roleInput() {
return this._role;
}
get sqlVirtualMachineId() {
return this.getStringAttribute('sql_virtual_machine_id');
}
set sqlVirtualMachineId(value) {
this._sqlVirtualMachineId = value;
}
// Temporarily expose input value. Use with caution.
get sqlVirtualMachineIdInput() {
return this._sqlVirtualMachineId;
}
}
exports.MssqlVirtualMachineAvailabilityGroupListenerReplicaOutputReference = MssqlVirtualMachineAvailabilityGroupListenerReplicaOutputReference;
_d = JSII_RTTI_SYMBOL_1;
MssqlVirtualMachineAvailabilityGroupListenerReplicaOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.mssqlVirtualMachineAvailabilityGroupListener.MssqlVirtualMachineAvailabilityGroupListenerReplicaOutputReference", version: "12.27.0" };
class MssqlVirtualMachineAvailabilityGroupListenerReplicaList 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 MssqlVirtualMachineAvailabilityGroupListenerReplicaOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.MssqlVirtualMachineAvailabilityGroupListenerReplicaList = MssqlVirtualMachineAvailabilityGroupListenerReplicaList;
_e = JSII_RTTI_SYMBOL_1;
MssqlVirtualMachineAvailabilityGroupListenerReplicaList[_e] = { fqn: "@cdktf/provider-azurerm.mssqlVirtualMachineAvailabilityGroupListener.MssqlVirtualMachineAvailabilityGroupListenerReplicaList", version: "12.27.0" };
function mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToTerraform(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),
};
}
exports.mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToTerraform = mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToTerraform;
function mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToHclTerraform(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",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToHclTerraform = mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToHclTerraform;
class MssqlVirtualMachineAvailabilityGroupListenerTimeoutsOutputReference 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;
}
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;
}
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;
}
}
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;
}
}
exports.MssqlVirtualMachineAvailabilityGroupListenerTimeoutsOutputReference = MssqlVirtualMachineAvailabilityGroupListenerTimeoutsOutputReference;
_f = JSII_RTTI_SYMBOL_1;
MssqlVirtualMachineAvailabilityGroupListenerTimeoutsOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.mssqlVirtualMachineAvailabilityGroupListener.MssqlVirtualMachineAvailabilityGroupListenerTimeoutsOutputReference", version: "12.27.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/mssql_virtual_machine_availability_group_listener azurerm_mssql_virtual_machine_availability_group_listener}
*/
class MssqlVirtualMachineAvailabilityGroupListener extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a MssqlVirtualMachineAvailabilityGroupListener 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 MssqlVirtualMachineAvailabilityGroupListener to import
* @param importFromId The id of the existing MssqlVirtualMachineAvailabilityGroupListener that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/mssql_virtual_machine_availability_group_listener#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the MssqlVirtualMachineAvailabilityGroupListener to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_mssql_virtual_machine_availability_group_listener", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/mssql_virtual_machine_availability_group_listener azurerm_mssql_virtual_machine_availability_group_listener} 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 MssqlVirtualMachineAvailabilityGroupListenerConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'azurerm_mssql_virtual_machine_availability_group_listener',
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
});
// load_balancer_configuration - computed: false, optional: true, required: false
this._loadBalancerConfiguration = new MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputReference(this, "load_balancer_configuration");
// multi_subnet_ip_configuration - computed: false, optional: true, required: false
this._multiSubnetIpConfiguration = new MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList(this, "multi_subnet_ip_configuration", true);
// replica - computed: false, optional: false, required: true
this._replica = new MssqlVirtualMachineAvailabilityGroupListenerReplicaList(this, "replica", true);
// timeouts - computed: false, optional: true, required: false
this._timeouts = new MssqlVirtualMachineAvailabilityGroupListenerTimeoutsOutputReference(this, "timeouts");
this._availabilityGroupName = config.availabilityGroupName;
this._id = config.id;
this._name = config.name;
this._port = config.port;
this._sqlVirtualMachineGroupId = config.sqlVirtualMachineGroupId;
this._loadBalancerConfiguration.internalValue = config.loadBalancerConfiguration;
this._multiSubnetIpConfiguration.internalValue = config.multiSubnetIpConfiguration;
this._replica.internalValue = config.replica;
this._timeouts.internalValue = config.timeouts;
}
get availabilityGroupName() {
return this.getStringAttribute('availability_group_name');
}
set availabilityGroupName(value) {
this._availabilityGroupName = value;
}
resetAvailabilityGroupName() {
this._availabilityGroupName = undefined;
}
// Temporarily expose input value. Use with caution.
get availabilityGroupNameInput() {
return this._availabilityGroupName;
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get port() {
return this.getNumberAttribute('port');
}
set port(value) {
this._port = value;
}
resetPort() {
this._port = undefined;
}
// Temporarily expose input value. Use with caution.
get portInput() {
return this._port;
}
get sqlVirtualMachineGroupId() {
return this.getStringAttribute('sql_virtual_machine_group_id');
}
set sqlVirtualMachineGroupId(value) {
this._sqlVirtualMachineGroupId = value;
}
// Temporarily expose input value. Use with caution.
get sqlVirtualMachineGroupIdInput() {
return this._sqlVirtualMachineGroupId;
}
get loadBalancerConfiguration() {
return this._loadBalancerConfiguration;
}
putLoadBalancerConfiguration(value) {
this._loadBalancerConfiguration.internalValue = value;
}
resetLoadBalancerConfiguration() {
this._loadBalancerConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get loadBalancerConfigurationInput() {
return this._loadBalancerConfiguration.internalValue;
}
get multiSubnetIpConfiguration() {
return this._multiSubnetIpConfiguration;
}
putMultiSubnetIpConfiguration(value) {
this._multiSubnetIpConfiguration.internalValue = value;
}
resetMultiSubnetIpConfiguration() {
this._multiSubnetIpConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get multiSubnetIpConfigurationInput() {
return this._multiSubnetIpConfiguration.internalValue;
}
get replica() {
return this._replica;
}
putReplica(value) {
this._replica.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get replicaInput() {
return this._replica.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 {
availability_group_name: cdktf.stringToTerraform(this._availabilityGroupName),
id: cdktf.stringToTerraform(this._id),
name: cdktf.stringToTerraform(this._name),
port: cdktf.numberToTerraform(this._port),
sql_virtual_machine_group_id: cdktf.stringToTerraform(this._sqlVirtualMachineGroupId),
load_balancer_configuration: mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToTerraform(this._loadBalancerConfiguration.internalValue),
multi_subnet_ip_configuration: cdktf.listMapper(mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToTerraform, true)(this._multiSubnetIpConfiguration.internalValue),
replica: cdktf.listMapper(mssqlVirtualMachineAvailabilityGroupListenerReplicaToTerraform, true)(this._replica.internalValue),
timeouts: mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
availability_group_name: {
value: cdktf.stringToHclTerraform(this._availabilityGroupName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
port: {
value: cdktf.numberToHclTerraform(this._port),
isBlock: false,
type: "simple",
storageClassType: "number",
},
sql_virtual_machine_group_id: {
value: cdktf.stringToHclTerraform(this._sqlVirtualMachineGroupId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
load_balancer_configuration: {
value: mssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationToHclTerraform(this._loadBalancerConfiguration.internalValue),
isBlock: true,
type: "list",
storageClassType: "MssqlVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationList",
},
multi_subnet_ip_configuration: {
value: cdktf.listMapperHcl(mssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationToHclTerraform, true)(this._multiSubnetIpConfiguration.internalValue),
isBlock: true,
type: "set",
storageClassType: "MssqlVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationList",
},
replica: {
value: cdktf.listMapperHcl(mssqlVirtualMachineAvailabilityGroupListenerReplicaToHclTerraform, true)(this._replica.internalValue),
isBlock: true,
type: "set",
storageClassType: "MssqlVirtualMachineAvailabilityGroupListenerReplicaList",
},
timeouts: {
value: mssqlVirtualMachineAvailabilityGroupListenerTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "MssqlVirtualMachineAvailabilityGroupListenerTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.MssqlVirtualMachineAvailabilityGroupListener = MssqlVirtualMachineAvailabilityGroupListener;
_g = JSII_RTTI_SYMBOL_1;
MssqlVirtualMachineAvailabilityGroupListener[_g] = { fqn: "@cdktf/provider-azurerm.mssqlVirtualMachineAvailabilityGroupListener.MssqlVirtualMachineAvailabilityGroupListener", version: "12.27.0" };
// =================
// STATIC PROPERTIES
// =================
MssqlVirtualMachineAvailabilityGroupListener.tfResourceType = "azurerm_mssql_virtual_machine_availability_group_listener";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXNzcWwtdmlydHVhbC1tYWNoaW5lLWF2YWlsYWJpbGl0eS1ncm91cC1saXN0ZW5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQTRFL0IsU0FBZ0IsZ0ZBQWdGLENBQUMsTUFBcUs7SUFDcFEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsY0FBYyxDQUFDO1FBQ2pFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDckUsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3RELHVCQUF1QixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxvQkFBb0IsQ0FBQztRQUN2RyxTQUFTLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxRQUFRLENBQUM7S0FDckQsQ0FBQTtBQUNILENBQUM7QUFaRCw0S0FZQztBQUdELFNBQWdCLG1GQUFtRixDQUFDLE1BQXFLO0lBQ3ZRLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUss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