@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
1,096 lines • 152 kB
JavaScript
"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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