UNPKG

rhizo-co-terraform-provider-oci

Version:

Prebuilt oci Provider for Terraform CDK (cdktf)

886 lines 127 kB
"use strict"; var _a, _b, _c, _d; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoadBalancerListener = exports.LoadBalancerListenerTimeoutsOutputReference = exports.loadBalancerListenerTimeoutsToHclTerraform = exports.loadBalancerListenerTimeoutsToTerraform = exports.LoadBalancerListenerSslConfigurationOutputReference = exports.loadBalancerListenerSslConfigurationToHclTerraform = exports.loadBalancerListenerSslConfigurationToTerraform = exports.LoadBalancerListenerConnectionConfigurationOutputReference = exports.loadBalancerListenerConnectionConfigurationToHclTerraform = exports.loadBalancerListenerConnectionConfigurationToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function loadBalancerListenerConnectionConfigurationToTerraform(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 { backend_tcp_proxy_protocol_options: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.backendTcpProxyProtocolOptions), backend_tcp_proxy_protocol_version: cdktf.numberToTerraform(struct.backendTcpProxyProtocolVersion), idle_timeout_in_seconds: cdktf.stringToTerraform(struct.idleTimeoutInSeconds), }; } exports.loadBalancerListenerConnectionConfigurationToTerraform = loadBalancerListenerConnectionConfigurationToTerraform; function loadBalancerListenerConnectionConfigurationToHclTerraform(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 = { backend_tcp_proxy_protocol_options: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.backendTcpProxyProtocolOptions), isBlock: false, type: "list", storageClassType: "stringList", }, backend_tcp_proxy_protocol_version: { value: cdktf.numberToHclTerraform(struct.backendTcpProxyProtocolVersion), isBlock: false, type: "simple", storageClassType: "number", }, idle_timeout_in_seconds: { value: cdktf.stringToHclTerraform(struct.idleTimeoutInSeconds), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loadBalancerListenerConnectionConfigurationToHclTerraform = loadBalancerListenerConnectionConfigurationToHclTerraform; class LoadBalancerListenerConnectionConfigurationOutputReference 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._backendTcpProxyProtocolOptions !== undefined) { hasAnyValues = true; internalValueResult.backendTcpProxyProtocolOptions = this._backendTcpProxyProtocolOptions; } if (this._backendTcpProxyProtocolVersion !== undefined) { hasAnyValues = true; internalValueResult.backendTcpProxyProtocolVersion = this._backendTcpProxyProtocolVersion; } if (this._idleTimeoutInSeconds !== undefined) { hasAnyValues = true; internalValueResult.idleTimeoutInSeconds = this._idleTimeoutInSeconds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._backendTcpProxyProtocolOptions = undefined; this._backendTcpProxyProtocolVersion = undefined; this._idleTimeoutInSeconds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._backendTcpProxyProtocolOptions = value.backendTcpProxyProtocolOptions; this._backendTcpProxyProtocolVersion = value.backendTcpProxyProtocolVersion; this._idleTimeoutInSeconds = value.idleTimeoutInSeconds; } } get backendTcpProxyProtocolOptions() { return this.getListAttribute('backend_tcp_proxy_protocol_options'); } set backendTcpProxyProtocolOptions(value) { this._backendTcpProxyProtocolOptions = value; } resetBackendTcpProxyProtocolOptions() { this._backendTcpProxyProtocolOptions = undefined; } // Temporarily expose input value. Use with caution. get backendTcpProxyProtocolOptionsInput() { return this._backendTcpProxyProtocolOptions; } get backendTcpProxyProtocolVersion() { return this.getNumberAttribute('backend_tcp_proxy_protocol_version'); } set backendTcpProxyProtocolVersion(value) { this._backendTcpProxyProtocolVersion = value; } resetBackendTcpProxyProtocolVersion() { this._backendTcpProxyProtocolVersion = undefined; } // Temporarily expose input value. Use with caution. get backendTcpProxyProtocolVersionInput() { return this._backendTcpProxyProtocolVersion; } get idleTimeoutInSeconds() { return this.getStringAttribute('idle_timeout_in_seconds'); } set idleTimeoutInSeconds(value) { this._idleTimeoutInSeconds = value; } // Temporarily expose input value. Use with caution. get idleTimeoutInSecondsInput() { return this._idleTimeoutInSeconds; } } exports.LoadBalancerListenerConnectionConfigurationOutputReference = LoadBalancerListenerConnectionConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; LoadBalancerListenerConnectionConfigurationOutputReference[_a] = { fqn: "rhizo-co-terraform-provider-oci.loadBalancerListener.LoadBalancerListenerConnectionConfigurationOutputReference", version: "1.0.0" }; function loadBalancerListenerSslConfigurationToTerraform(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 { certificate_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.certificateIds), certificate_name: cdktf.stringToTerraform(struct.certificateName), cipher_suite_name: cdktf.stringToTerraform(struct.cipherSuiteName), has_session_resumption: cdktf.booleanToTerraform(struct.hasSessionResumption), protocols: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.protocols), server_order_preference: cdktf.stringToTerraform(struct.serverOrderPreference), trusted_certificate_authority_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.trustedCertificateAuthorityIds), verify_depth: cdktf.numberToTerraform(struct.verifyDepth), verify_peer_certificate: cdktf.booleanToTerraform(struct.verifyPeerCertificate), }; } exports.loadBalancerListenerSslConfigurationToTerraform = loadBalancerListenerSslConfigurationToTerraform; function loadBalancerListenerSslConfigurationToHclTerraform(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 = { certificate_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.certificateIds), isBlock: false, type: "list", storageClassType: "stringList", }, certificate_name: { value: cdktf.stringToHclTerraform(struct.certificateName), isBlock: false, type: "simple", storageClassType: "string", }, cipher_suite_name: { value: cdktf.stringToHclTerraform(struct.cipherSuiteName), isBlock: false, type: "simple", storageClassType: "string", }, has_session_resumption: { value: cdktf.booleanToHclTerraform(struct.hasSessionResumption), isBlock: false, type: "simple", storageClassType: "boolean", }, protocols: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.protocols), isBlock: false, type: "list", storageClassType: "stringList", }, server_order_preference: { value: cdktf.stringToHclTerraform(struct.serverOrderPreference), isBlock: false, type: "simple", storageClassType: "string", }, trusted_certificate_authority_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.trustedCertificateAuthorityIds), isBlock: false, type: "list", storageClassType: "stringList", }, verify_depth: { value: cdktf.numberToHclTerraform(struct.verifyDepth), isBlock: false, type: "simple", storageClassType: "number", }, verify_peer_certificate: { value: cdktf.booleanToHclTerraform(struct.verifyPeerCertificate), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.loadBalancerListenerSslConfigurationToHclTerraform = loadBalancerListenerSslConfigurationToHclTerraform; class LoadBalancerListenerSslConfigurationOutputReference 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._certificateIds !== undefined) { hasAnyValues = true; internalValueResult.certificateIds = this._certificateIds; } if (this._certificateName !== undefined) { hasAnyValues = true; internalValueResult.certificateName = this._certificateName; } if (this._cipherSuiteName !== undefined) { hasAnyValues = true; internalValueResult.cipherSuiteName = this._cipherSuiteName; } if (this._hasSessionResumption !== undefined) { hasAnyValues = true; internalValueResult.hasSessionResumption = this._hasSessionResumption; } if (this._protocols !== undefined) { hasAnyValues = true; internalValueResult.protocols = this._protocols; } if (this._serverOrderPreference !== undefined) { hasAnyValues = true; internalValueResult.serverOrderPreference = this._serverOrderPreference; } if (this._trustedCertificateAuthorityIds !== undefined) { hasAnyValues = true; internalValueResult.trustedCertificateAuthorityIds = this._trustedCertificateAuthorityIds; } if (this._verifyDepth !== undefined) { hasAnyValues = true; internalValueResult.verifyDepth = this._verifyDepth; } if (this._verifyPeerCertificate !== undefined) { hasAnyValues = true; internalValueResult.verifyPeerCertificate = this._verifyPeerCertificate; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._certificateIds = undefined; this._certificateName = undefined; this._cipherSuiteName = undefined; this._hasSessionResumption = undefined; this._protocols = undefined; this._serverOrderPreference = undefined; this._trustedCertificateAuthorityIds = undefined; this._verifyDepth = undefined; this._verifyPeerCertificate = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._certificateIds = value.certificateIds; this._certificateName = value.certificateName; this._cipherSuiteName = value.cipherSuiteName; this._hasSessionResumption = value.hasSessionResumption; this._protocols = value.protocols; this._serverOrderPreference = value.serverOrderPreference; this._trustedCertificateAuthorityIds = value.trustedCertificateAuthorityIds; this._verifyDepth = value.verifyDepth; this._verifyPeerCertificate = value.verifyPeerCertificate; } } get certificateIds() { return this.getListAttribute('certificate_ids'); } set certificateIds(value) { this._certificateIds = value; } resetCertificateIds() { this._certificateIds = undefined; } // Temporarily expose input value. Use with caution. get certificateIdsInput() { return this._certificateIds; } get certificateName() { return this.getStringAttribute('certificate_name'); } set certificateName(value) { this._certificateName = value; } resetCertificateName() { this._certificateName = undefined; } // Temporarily expose input value. Use with caution. get certificateNameInput() { return this._certificateName; } get cipherSuiteName() { return this.getStringAttribute('cipher_suite_name'); } set cipherSuiteName(value) { this._cipherSuiteName = value; } resetCipherSuiteName() { this._cipherSuiteName = undefined; } // Temporarily expose input value. Use with caution. get cipherSuiteNameInput() { return this._cipherSuiteName; } get hasSessionResumption() { return this.getBooleanAttribute('has_session_resumption'); } set hasSessionResumption(value) { this._hasSessionResumption = value; } resetHasSessionResumption() { this._hasSessionResumption = undefined; } // Temporarily expose input value. Use with caution. get hasSessionResumptionInput() { return this._hasSessionResumption; } get protocols() { return this.getListAttribute('protocols'); } set protocols(value) { this._protocols = value; } resetProtocols() { this._protocols = undefined; } // Temporarily expose input value. Use with caution. get protocolsInput() { return this._protocols; } get serverOrderPreference() { return this.getStringAttribute('server_order_preference'); } set serverOrderPreference(value) { this._serverOrderPreference = value; } resetServerOrderPreference() { this._serverOrderPreference = undefined; } // Temporarily expose input value. Use with caution. get serverOrderPreferenceInput() { return this._serverOrderPreference; } get trustedCertificateAuthorityIds() { return this.getListAttribute('trusted_certificate_authority_ids'); } set trustedCertificateAuthorityIds(value) { this._trustedCertificateAuthorityIds = value; } resetTrustedCertificateAuthorityIds() { this._trustedCertificateAuthorityIds = undefined; } // Temporarily expose input value. Use with caution. get trustedCertificateAuthorityIdsInput() { return this._trustedCertificateAuthorityIds; } get verifyDepth() { return this.getNumberAttribute('verify_depth'); } set verifyDepth(value) { this._verifyDepth = value; } resetVerifyDepth() { this._verifyDepth = undefined; } // Temporarily expose input value. Use with caution. get verifyDepthInput() { return this._verifyDepth; } get verifyPeerCertificate() { return this.getBooleanAttribute('verify_peer_certificate'); } set verifyPeerCertificate(value) { this._verifyPeerCertificate = value; } resetVerifyPeerCertificate() { this._verifyPeerCertificate = undefined; } // Temporarily expose input value. Use with caution. get verifyPeerCertificateInput() { return this._verifyPeerCertificate; } } exports.LoadBalancerListenerSslConfigurationOutputReference = LoadBalancerListenerSslConfigurationOutputReference; _b = JSII_RTTI_SYMBOL_1; LoadBalancerListenerSslConfigurationOutputReference[_b] = { fqn: "rhizo-co-terraform-provider-oci.loadBalancerListener.LoadBalancerListenerSslConfigurationOutputReference", version: "1.0.0" }; function loadBalancerListenerTimeoutsToTerraform(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), update: cdktf.stringToTerraform(struct.update), }; } exports.loadBalancerListenerTimeoutsToTerraform = loadBalancerListenerTimeoutsToTerraform; function loadBalancerListenerTimeoutsToHclTerraform(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", }, 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.loadBalancerListenerTimeoutsToHclTerraform = loadBalancerListenerTimeoutsToHclTerraform; class LoadBalancerListenerTimeoutsOutputReference 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._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._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._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 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.LoadBalancerListenerTimeoutsOutputReference = LoadBalancerListenerTimeoutsOutputReference; _c = JSII_RTTI_SYMBOL_1; LoadBalancerListenerTimeoutsOutputReference[_c] = { fqn: "rhizo-co-terraform-provider-oci.loadBalancerListener.LoadBalancerListenerTimeoutsOutputReference", version: "1.0.0" }; /** * Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/load_balancer_listener oci_load_balancer_listener} */ class LoadBalancerListener extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a LoadBalancerListener 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 LoadBalancerListener to import * @param importFromId The id of the existing LoadBalancerListener that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/load_balancer_listener#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LoadBalancerListener to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "oci_load_balancer_listener", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/load_balancer_listener oci_load_balancer_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 LoadBalancerListenerConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'oci_load_balancer_listener', terraformGeneratorMetadata: { providerName: 'oci', providerVersion: '6.18.0', providerVersionConstraint: '~> 6.18.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // connection_configuration - computed: false, optional: true, required: false this._connectionConfiguration = new LoadBalancerListenerConnectionConfigurationOutputReference(this, "connection_configuration"); // ssl_configuration - computed: false, optional: true, required: false this._sslConfiguration = new LoadBalancerListenerSslConfigurationOutputReference(this, "ssl_configuration"); // timeouts - computed: false, optional: true, required: false this._timeouts = new LoadBalancerListenerTimeoutsOutputReference(this, "timeouts"); this._defaultBackendSetName = config.defaultBackendSetName; this._hostnameNames = config.hostnameNames; this._id = config.id; this._loadBalancerId = config.loadBalancerId; this._name = config.name; this._pathRouteSetName = config.pathRouteSetName; this._port = config.port; this._protocol = config.protocol; this._routingPolicyName = config.routingPolicyName; this._ruleSetNames = config.ruleSetNames; this._connectionConfiguration.internalValue = config.connectionConfiguration; this._sslConfiguration.internalValue = config.sslConfiguration; this._timeouts.internalValue = config.timeouts; } get defaultBackendSetName() { return this.getStringAttribute('default_backend_set_name'); } set defaultBackendSetName(value) { this._defaultBackendSetName = value; } // Temporarily expose input value. Use with caution. get defaultBackendSetNameInput() { return this._defaultBackendSetName; } get hostnameNames() { return this.getListAttribute('hostname_names'); } set hostnameNames(value) { this._hostnameNames = value; } resetHostnameNames() { this._hostnameNames = undefined; } // Temporarily expose input value. Use with caution. get hostnameNamesInput() { return this._hostnameNames; } 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 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 name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get pathRouteSetName() { return this.getStringAttribute('path_route_set_name'); } set pathRouteSetName(value) { this._pathRouteSetName = value; } resetPathRouteSetName() { this._pathRouteSetName = undefined; } // Temporarily expose input value. Use with caution. get pathRouteSetNameInput() { return this._pathRouteSetName; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get protocol() { return this.getStringAttribute('protocol'); } set protocol(value) { this._protocol = value; } // Temporarily expose input value. Use with caution. get protocolInput() { return this._protocol; } get routingPolicyName() { return this.getStringAttribute('routing_policy_name'); } set routingPolicyName(value) { this._routingPolicyName = value; } resetRoutingPolicyName() { this._routingPolicyName = undefined; } // Temporarily expose input value. Use with caution. get routingPolicyNameInput() { return this._routingPolicyName; } get ruleSetNames() { return this.getListAttribute('rule_set_names'); } set ruleSetNames(value) { this._ruleSetNames = value; } resetRuleSetNames() { this._ruleSetNames = undefined; } // Temporarily expose input value. Use with caution. get ruleSetNamesInput() { return this._ruleSetNames; } // state - computed: true, optional: false, required: false get state() { return this.getStringAttribute('state'); } get connectionConfiguration() { return this._connectionConfiguration; } putConnectionConfiguration(value) { this._connectionConfiguration.internalValue = value; } resetConnectionConfiguration() { this._connectionConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get connectionConfigurationInput() { return this._connectionConfiguration.internalValue; } get sslConfiguration() { return this._sslConfiguration; } putSslConfiguration(value) { this._sslConfiguration.internalValue = value; } resetSslConfiguration() { this._sslConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sslConfigurationInput() { return this._sslConfiguration.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 { default_backend_set_name: cdktf.stringToTerraform(this._defaultBackendSetName), hostname_names: cdktf.listMapper(cdktf.stringToTerraform, false)(this._hostnameNames), id: cdktf.stringToTerraform(this._id), load_balancer_id: cdktf.stringToTerraform(this._loadBalancerId), name: cdktf.stringToTerraform(this._name), path_route_set_name: cdktf.stringToTerraform(this._pathRouteSetName), port: cdktf.numberToTerraform(this._port), protocol: cdktf.stringToTerraform(this._protocol), routing_policy_name: cdktf.stringToTerraform(this._routingPolicyName), rule_set_names: cdktf.listMapper(cdktf.stringToTerraform, false)(this._ruleSetNames), connection_configuration: loadBalancerListenerConnectionConfigurationToTerraform(this._connectionConfiguration.internalValue), ssl_configuration: loadBalancerListenerSslConfigurationToTerraform(this._sslConfiguration.internalValue), timeouts: loadBalancerListenerTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { default_backend_set_name: { value: cdktf.stringToHclTerraform(this._defaultBackendSetName), isBlock: false, type: "simple", storageClassType: "string", }, hostname_names: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._hostnameNames), isBlock: false, type: "list", storageClassType: "stringList", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, load_balancer_id: { value: cdktf.stringToHclTerraform(this._loadBalancerId), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, path_route_set_name: { value: cdktf.stringToHclTerraform(this._pathRouteSetName), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(this._port), isBlock: false, type: "simple", storageClassType: "number", }, protocol: { value: cdktf.stringToHclTerraform(this._protocol), isBlock: false, type: "simple", storageClassType: "string", }, routing_policy_name: { value: cdktf.stringToHclTerraform(this._routingPolicyName), isBlock: false, type: "simple", storageClassType: "string", }, rule_set_names: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._ruleSetNames), isBlock: false, type: "list", storageClassType: "stringList", }, connection_configuration: { value: loadBalancerListenerConnectionConfigurationToHclTerraform(this._connectionConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "LoadBalancerListenerConnectionConfigurationList", }, ssl_configuration: { value: loadBalancerListenerSslConfigurationToHclTerraform(this._sslConfiguration.internalValue), isBlock: true, type: "list", storageClassType: "LoadBalancerListenerSslConfigurationList", }, timeouts: { value: loadBalancerListenerTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "LoadBalancerListenerTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.LoadBalancerListener = LoadBalancerListener; _d = JSII_RTTI_SYMBOL_1; LoadBalancerListener[_d] = { fqn: "rhizo-co-terraform-provider-oci.loadBalancerListener.LoadBalancerListener", version: "1.0.0" }; // ================= // STATIC PROPERTIES // ================= LoadBalancerListener.tfResourceType = "oci_load_balancer_listener"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZC1iYWxhbmNlci1saXN0ZW5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLCtCQUErQjtBQWtGL0IsU0FBZ0Isc0RBQXNELENBQUMsTUFBaUg7SUFDdEwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLGtDQUFrQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyw4QkFBOEIsQ0FBQztRQUM1SCxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLDhCQUE4QixDQUFDO1FBQ25HLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsb0JBQW9CLENBQUM7S0FDL0UsQ0FBQTtBQUNILENBQUM7QUFWRCx3SEFVQztBQUdELFNBQWdCLHlEQUF5RCxDQUFDLE1BQWlIO0lBQ3pMLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElB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