UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,096 lines 152 kB
"use strict"; var _a, _b, _c, _d, _e; Object.defineProperty(exports, "__esModule", { value: true }); exports.PaloAltoLocalRulestackRule = exports.PaloAltoLocalRulestackRuleTimeoutsOutputReference = exports.paloAltoLocalRulestackRuleTimeoutsToHclTerraform = exports.paloAltoLocalRulestackRuleTimeoutsToTerraform = exports.PaloAltoLocalRulestackRuleSourceOutputReference = exports.paloAltoLocalRulestackRuleSourceToHclTerraform = exports.paloAltoLocalRulestackRuleSourceToTerraform = exports.PaloAltoLocalRulestackRuleDestinationOutputReference = exports.paloAltoLocalRulestackRuleDestinationToHclTerraform = exports.paloAltoLocalRulestackRuleDestinationToTerraform = exports.PaloAltoLocalRulestackRuleCategoryOutputReference = exports.paloAltoLocalRulestackRuleCategoryToHclTerraform = exports.paloAltoLocalRulestackRuleCategoryToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function paloAltoLocalRulestackRuleCategoryToTerraform(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 { custom_urls: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.customUrls), feeds: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.feeds), }; } exports.paloAltoLocalRulestackRuleCategoryToTerraform = paloAltoLocalRulestackRuleCategoryToTerraform; function paloAltoLocalRulestackRuleCategoryToHclTerraform(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 = { custom_urls: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.customUrls), isBlock: false, type: "list", storageClassType: "stringList", }, feeds: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.feeds), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoLocalRulestackRuleCategoryToHclTerraform = paloAltoLocalRulestackRuleCategoryToHclTerraform; class PaloAltoLocalRulestackRuleCategoryOutputReference 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._customUrls !== undefined) { hasAnyValues = true; internalValueResult.customUrls = this._customUrls; } if (this._feeds !== undefined) { hasAnyValues = true; internalValueResult.feeds = this._feeds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._customUrls = undefined; this._feeds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._customUrls = value.customUrls; this._feeds = value.feeds; } } get customUrls() { return this.getListAttribute('custom_urls'); } set customUrls(value) { this._customUrls = value; } // Temporarily expose input value. Use with caution. get customUrlsInput() { return this._customUrls; } get feeds() { return this.getListAttribute('feeds'); } set feeds(value) { this._feeds = value; } resetFeeds() { this._feeds = undefined; } // Temporarily expose input value. Use with caution. get feedsInput() { return this._feeds; } } exports.PaloAltoLocalRulestackRuleCategoryOutputReference = PaloAltoLocalRulestackRuleCategoryOutputReference; _a = JSII_RTTI_SYMBOL_1; PaloAltoLocalRulestackRuleCategoryOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.paloAltoLocalRulestackRule.PaloAltoLocalRulestackRuleCategoryOutputReference", version: "12.27.0" }; function paloAltoLocalRulestackRuleDestinationToTerraform(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 { cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.cidrs), countries: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.countries), feeds: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.feeds), local_rulestack_fqdn_list_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.localRulestackFqdnListIds), local_rulestack_prefix_list_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.localRulestackPrefixListIds), }; } exports.paloAltoLocalRulestackRuleDestinationToTerraform = paloAltoLocalRulestackRuleDestinationToTerraform; function paloAltoLocalRulestackRuleDestinationToHclTerraform(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 = { cidrs: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.cidrs), isBlock: false, type: "list", storageClassType: "stringList", }, countries: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.countries), isBlock: false, type: "list", storageClassType: "stringList", }, feeds: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.feeds), isBlock: false, type: "list", storageClassType: "stringList", }, local_rulestack_fqdn_list_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.localRulestackFqdnListIds), isBlock: false, type: "list", storageClassType: "stringList", }, local_rulestack_prefix_list_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.localRulestackPrefixListIds), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoLocalRulestackRuleDestinationToHclTerraform = paloAltoLocalRulestackRuleDestinationToHclTerraform; class PaloAltoLocalRulestackRuleDestinationOutputReference 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._cidrs !== undefined) { hasAnyValues = true; internalValueResult.cidrs = this._cidrs; } if (this._countries !== undefined) { hasAnyValues = true; internalValueResult.countries = this._countries; } if (this._feeds !== undefined) { hasAnyValues = true; internalValueResult.feeds = this._feeds; } if (this._localRulestackFqdnListIds !== undefined) { hasAnyValues = true; internalValueResult.localRulestackFqdnListIds = this._localRulestackFqdnListIds; } if (this._localRulestackPrefixListIds !== undefined) { hasAnyValues = true; internalValueResult.localRulestackPrefixListIds = this._localRulestackPrefixListIds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cidrs = undefined; this._countries = undefined; this._feeds = undefined; this._localRulestackFqdnListIds = undefined; this._localRulestackPrefixListIds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cidrs = value.cidrs; this._countries = value.countries; this._feeds = value.feeds; this._localRulestackFqdnListIds = value.localRulestackFqdnListIds; this._localRulestackPrefixListIds = value.localRulestackPrefixListIds; } } get cidrs() { return this.getListAttribute('cidrs'); } set cidrs(value) { this._cidrs = value; } resetCidrs() { this._cidrs = undefined; } // Temporarily expose input value. Use with caution. get cidrsInput() { return this._cidrs; } get countries() { return this.getListAttribute('countries'); } set countries(value) { this._countries = value; } resetCountries() { this._countries = undefined; } // Temporarily expose input value. Use with caution. get countriesInput() { return this._countries; } get feeds() { return this.getListAttribute('feeds'); } set feeds(value) { this._feeds = value; } resetFeeds() { this._feeds = undefined; } // Temporarily expose input value. Use with caution. get feedsInput() { return this._feeds; } get localRulestackFqdnListIds() { return this.getListAttribute('local_rulestack_fqdn_list_ids'); } set localRulestackFqdnListIds(value) { this._localRulestackFqdnListIds = value; } resetLocalRulestackFqdnListIds() { this._localRulestackFqdnListIds = undefined; } // Temporarily expose input value. Use with caution. get localRulestackFqdnListIdsInput() { return this._localRulestackFqdnListIds; } get localRulestackPrefixListIds() { return this.getListAttribute('local_rulestack_prefix_list_ids'); } set localRulestackPrefixListIds(value) { this._localRulestackPrefixListIds = value; } resetLocalRulestackPrefixListIds() { this._localRulestackPrefixListIds = undefined; } // Temporarily expose input value. Use with caution. get localRulestackPrefixListIdsInput() { return this._localRulestackPrefixListIds; } } exports.PaloAltoLocalRulestackRuleDestinationOutputReference = PaloAltoLocalRulestackRuleDestinationOutputReference; _b = JSII_RTTI_SYMBOL_1; PaloAltoLocalRulestackRuleDestinationOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.paloAltoLocalRulestackRule.PaloAltoLocalRulestackRuleDestinationOutputReference", version: "12.27.0" }; function paloAltoLocalRulestackRuleSourceToTerraform(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 { cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.cidrs), countries: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.countries), feeds: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.feeds), local_rulestack_prefix_list_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.localRulestackPrefixListIds), }; } exports.paloAltoLocalRulestackRuleSourceToTerraform = paloAltoLocalRulestackRuleSourceToTerraform; function paloAltoLocalRulestackRuleSourceToHclTerraform(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 = { cidrs: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.cidrs), isBlock: false, type: "list", storageClassType: "stringList", }, countries: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.countries), isBlock: false, type: "list", storageClassType: "stringList", }, feeds: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.feeds), isBlock: false, type: "list", storageClassType: "stringList", }, local_rulestack_prefix_list_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.localRulestackPrefixListIds), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.paloAltoLocalRulestackRuleSourceToHclTerraform = paloAltoLocalRulestackRuleSourceToHclTerraform; class PaloAltoLocalRulestackRuleSourceOutputReference 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._cidrs !== undefined) { hasAnyValues = true; internalValueResult.cidrs = this._cidrs; } if (this._countries !== undefined) { hasAnyValues = true; internalValueResult.countries = this._countries; } if (this._feeds !== undefined) { hasAnyValues = true; internalValueResult.feeds = this._feeds; } if (this._localRulestackPrefixListIds !== undefined) { hasAnyValues = true; internalValueResult.localRulestackPrefixListIds = this._localRulestackPrefixListIds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cidrs = undefined; this._countries = undefined; this._feeds = undefined; this._localRulestackPrefixListIds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cidrs = value.cidrs; this._countries = value.countries; this._feeds = value.feeds; this._localRulestackPrefixListIds = value.localRulestackPrefixListIds; } } get cidrs() { return this.getListAttribute('cidrs'); } set cidrs(value) { this._cidrs = value; } resetCidrs() { this._cidrs = undefined; } // Temporarily expose input value. Use with caution. get cidrsInput() { return this._cidrs; } get countries() { return this.getListAttribute('countries'); } set countries(value) { this._countries = value; } resetCountries() { this._countries = undefined; } // Temporarily expose input value. Use with caution. get countriesInput() { return this._countries; } get feeds() { return this.getListAttribute('feeds'); } set feeds(value) { this._feeds = value; } resetFeeds() { this._feeds = undefined; } // Temporarily expose input value. Use with caution. get feedsInput() { return this._feeds; } get localRulestackPrefixListIds() { return this.getListAttribute('local_rulestack_prefix_list_ids'); } set localRulestackPrefixListIds(value) { this._localRulestackPrefixListIds = value; } resetLocalRulestackPrefixListIds() { this._localRulestackPrefixListIds = undefined; } // Temporarily expose input value. Use with caution. get localRulestackPrefixListIdsInput() { return this._localRulestackPrefixListIds; } } exports.PaloAltoLocalRulestackRuleSourceOutputReference = PaloAltoLocalRulestackRuleSourceOutputReference; _c = JSII_RTTI_SYMBOL_1; PaloAltoLocalRulestackRuleSourceOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.paloAltoLocalRulestackRule.PaloAltoLocalRulestackRuleSourceOutputReference", version: "12.27.0" }; function paloAltoLocalRulestackRuleTimeoutsToTerraform(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.paloAltoLocalRulestackRuleTimeoutsToTerraform = paloAltoLocalRulestackRuleTimeoutsToTerraform; function paloAltoLocalRulestackRuleTimeoutsToHclTerraform(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.paloAltoLocalRulestackRuleTimeoutsToHclTerraform = paloAltoLocalRulestackRuleTimeoutsToHclTerraform; class PaloAltoLocalRulestackRuleTimeoutsOutputReference 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.PaloAltoLocalRulestackRuleTimeoutsOutputReference = PaloAltoLocalRulestackRuleTimeoutsOutputReference; _d = JSII_RTTI_SYMBOL_1; PaloAltoLocalRulestackRuleTimeoutsOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.paloAltoLocalRulestackRule.PaloAltoLocalRulestackRuleTimeoutsOutputReference", version: "12.27.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/palo_alto_local_rulestack_rule azurerm_palo_alto_local_rulestack_rule} */ class PaloAltoLocalRulestackRule extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a PaloAltoLocalRulestackRule 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 PaloAltoLocalRulestackRule to import * @param importFromId The id of the existing PaloAltoLocalRulestackRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/palo_alto_local_rulestack_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PaloAltoLocalRulestackRule to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_palo_alto_local_rulestack_rule", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/palo_alto_local_rulestack_rule azurerm_palo_alto_local_rulestack_rule} 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 PaloAltoLocalRulestackRuleConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'azurerm_palo_alto_local_rulestack_rule', 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 }); // category - computed: false, optional: true, required: false this._category = new PaloAltoLocalRulestackRuleCategoryOutputReference(this, "category"); // destination - computed: false, optional: false, required: true this._destination = new PaloAltoLocalRulestackRuleDestinationOutputReference(this, "destination"); // source - computed: false, optional: false, required: true this._source = new PaloAltoLocalRulestackRuleSourceOutputReference(this, "source"); // timeouts - computed: false, optional: true, required: false this._timeouts = new PaloAltoLocalRulestackRuleTimeoutsOutputReference(this, "timeouts"); this._action = config.action; this._applications = config.applications; this._auditComment = config.auditComment; this._decryptionRuleType = config.decryptionRuleType; this._description = config.description; this._enabled = config.enabled; this._id = config.id; this._inspectionCertificateId = config.inspectionCertificateId; this._loggingEnabled = config.loggingEnabled; this._name = config.name; this._negateDestination = config.negateDestination; this._negateSource = config.negateSource; this._priority = config.priority; this._protocol = config.protocol; this._protocolPorts = config.protocolPorts; this._rulestackId = config.rulestackId; this._tags = config.tags; this._category.internalValue = config.category; this._destination.internalValue = config.destination; this._source.internalValue = config.source; this._timeouts.internalValue = config.timeouts; } get action() { return this.getStringAttribute('action'); } set action(value) { this._action = value; } // Temporarily expose input value. Use with caution. get actionInput() { return this._action; } get applications() { return this.getListAttribute('applications'); } set applications(value) { this._applications = value; } // Temporarily expose input value. Use with caution. get applicationsInput() { return this._applications; } get auditComment() { return this.getStringAttribute('audit_comment'); } set auditComment(value) { this._auditComment = value; } resetAuditComment() { this._auditComment = undefined; } // Temporarily expose input value. Use with caution. get auditCommentInput() { return this._auditComment; } get decryptionRuleType() { return this.getStringAttribute('decryption_rule_type'); } set decryptionRuleType(value) { this._decryptionRuleType = value; } resetDecryptionRuleType() { this._decryptionRuleType = undefined; } // Temporarily expose input value. Use with caution. get decryptionRuleTypeInput() { return this._decryptionRuleType; } get description() { return this.getStringAttribute('description'); } set description(value) { this._description = value; } resetDescription() { this._description = undefined; } // Temporarily expose input value. Use with caution. get descriptionInput() { return this._description; } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } resetEnabled() { this._enabled = undefined; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } 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 inspectionCertificateId() { return this.getStringAttribute('inspection_certificate_id'); } set inspectionCertificateId(value) { this._inspectionCertificateId = value; } resetInspectionCertificateId() { this._inspectionCertificateId = undefined; } // Temporarily expose input value. Use with caution. get inspectionCertificateIdInput() { return this._inspectionCertificateId; } get loggingEnabled() { return this.getBooleanAttribute('logging_enabled'); } set loggingEnabled(value) { this._loggingEnabled = value; } resetLoggingEnabled() { this._loggingEnabled = undefined; } // Temporarily expose input value. Use with caution. get loggingEnabledInput() { return this._loggingEnabled; } 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 negateDestination() { return this.getBooleanAttribute('negate_destination'); } set negateDestination(value) { this._negateDestination = value; } resetNegateDestination() { this._negateDestination = undefined; } // Temporarily expose input value. Use with caution. get negateDestinationInput() { return this._negateDestination; } get negateSource() { return this.getBooleanAttribute('negate_source'); } set negateSource(value) { this._negateSource = value; } resetNegateSource() { this._negateSource = undefined; } // Temporarily expose input value. Use with caution. get negateSourceInput() { return this._negateSource; } get priority() { return this.getNumberAttribute('priority'); } set priority(value) { this._priority = value; } // Temporarily expose input value. Use with caution. get priorityInput() { return this._priority; } get protocol() { return this.getStringAttribute('protocol'); } set protocol(value) { this._protocol = value; } resetProtocol() { this._protocol = undefined; } // Temporarily expose input value. Use with caution. get protocolInput() { return this._protocol; } get protocolPorts() { return this.getListAttribute('protocol_ports'); } set protocolPorts(value) { this._protocolPorts = value; } resetProtocolPorts() { this._protocolPorts = undefined; } // Temporarily expose input value. Use with caution. get protocolPortsInput() { return this._protocolPorts; } get rulestackId() { return this.getStringAttribute('rulestack_id'); } set rulestackId(value) { this._rulestackId = value; } // Temporarily expose input value. Use with caution. get rulestackIdInput() { return this._rulestackId; } 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 category() { return this._category; } putCategory(value) { this._category.internalValue = value; } resetCategory() { this._category.internalValue = undefined; } // Temporarily expose input value. Use with caution. get categoryInput() { return this._category.internalValue; } get destination() { return this._destination; } putDestination(value) { this._destination.internalValue = value; } // Temporarily expose input value. Use with caution. get destinationInput() { return this._destination.internalValue; } get source() { return this._source; } putSource(value) { this._source.internalValue = value; } // Temporarily expose input value. Use with caution. get sourceInput() { return this._source.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 { action: cdktf.stringToTerraform(this._action), applications: cdktf.listMapper(cdktf.stringToTerraform, false)(this._applications), audit_comment: cdktf.stringToTerraform(this._auditComment), decryption_rule_type: cdktf.stringToTerraform(this._decryptionRuleType), description: cdktf.stringToTerraform(this._description), enabled: cdktf.booleanToTerraform(this._enabled), id: cdktf.stringToTerraform(this._id), inspection_certificate_id: cdktf.stringToTerraform(this._inspectionCertificateId), logging_enabled: cdktf.booleanToTerraform(this._loggingEnabled), name: cdktf.stringToTerraform(this._name), negate_destination: cdktf.booleanToTerraform(this._negateDestination), negate_source: cdktf.booleanToTerraform(this._negateSource), priority: cdktf.numberToTerraform(this._priority), protocol: cdktf.stringToTerraform(this._protocol), protocol_ports: cdktf.listMapper(cdktf.stringToTerraform, false)(this._protocolPorts), rulestack_id: cdktf.stringToTerraform(this._rulestackId), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), category: paloAltoLocalRulestackRuleCategoryToTerraform(this._category.internalValue), destination: paloAltoLocalRulestackRuleDestinationToTerraform(this._destination.internalValue), source: paloAltoLocalRulestackRuleSourceToTerraform(this._source.internalValue), timeouts: paloAltoLocalRulestackRuleTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { action: { value: cdktf.stringToHclTerraform(this._action), isBlock: false, type: "simple", storageClassType: "string", }, applications: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._applications), isBlock: false, type: "list", storageClassType: "stringList", }, audit_comment: { value: cdktf.stringToHclTerraform(this._auditComment), isBlock: false, type: "simple", storageClassType: "string", }, decryption_rule_type: { value: cdktf.stringToHclTerraform(this._decryptionRuleType), isBlock: false, type: "simple", storageClassType: "string", }, description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, enabled: { value: cdktf.booleanToHclTerraform(this._enabled), isBlock: false, type: "simple", storageClassType: "boolean", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, inspection_certificate_id: { value: cdktf.stringToHclTerraform(this._inspectionCertificateId), isBlock: false, type: "simple", storageClassType: "string", }, logging_enabled: { value: cdktf.booleanToHclTerraform(this._loggingEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, negate_destination: { value: cdktf.booleanToHclTerraform(this._negateDestination), isBlock: false, type: "simple", storageClassType: "boolean", }, negate_source: { value: cdktf.booleanToHclTerraform(this._negateSource), isBlock: false, type: "simple", storageClassType: "boolean", }, priority: { value: cdktf.numberToHclTerraform(this._priority), isBlock: false, type: "simple", storageClassType: "number", }, protocol: { value: cdktf.stringToHclTerraform(this._protocol), isBlock: false, type: "simple", storageClassType: "string", }, protocol_ports: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._protocolPorts), isBlock: false, type: "list", storageClassType: "stringList", }, rulestack_id: { value: cdktf.stringToHclTerraform(this._rulestackId), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, category: { value: paloAltoLocalRulestackRuleCategoryToHclTerraform(this._category.internalValue), isBlock: true, type: "list", storageClassType: "PaloAltoLocalRulestackRuleCategoryList", }, destination: { value: paloAltoLocalRulestackRuleDestinationToHclTerraform(this._destination.internalValue), isBlock: true, type: "list", storageClassType: "PaloAltoLocalRulestackRuleDestinationList", }, source: { value: paloAltoLocalRulestackRuleSourceToHclTerraform(this._source.internalValue), isBlock: true, type: "list", storageClassType: "PaloAltoLocalRulestackRuleSourceList", }, timeouts: { value: paloAltoLocalRulestackRuleTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "PaloAltoLocalRulestackRuleTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.PaloAltoLocalRulestackRule = PaloAltoLocalRulestackRule; _e = JSII_RTTI_SYMBOL_1; PaloAltoLocalRulestackRule[_e] = { fqn: "@cdktf/provider-azurerm.paloAltoLocalRulestackRule.PaloAltoLocalRulestackRule", version: "12.27.0" }; // ================= // STATIC PROPERTIES // ================= PaloAltoLocalRulestackRule.tfResourceType = "azurerm_palo_alto_local_rulestack_rule"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFsby1hbHRvLWxvY2FsLXJ1bGVzdGFjay1ydWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBZ0gvQixTQUFnQiw2Q0FBNkMsQ0FBQyxNQUErRjtJQUMzSixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDakYsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxLQUFLLENBQUM7S0FDdkUsQ0FBQTtBQUNILENBQUM7QUFURCxzR0FTQztBQUdELFNBQWdCLGdEQUFnRCxDQUFDLE1BQStGO0lBQzlKLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENB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