@cdktf-providers/aviatrixsystems-aviatrix 8.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +355 -0
- package/README.md +19 -0
- package/dist/account/index.d.ts +762 -0
- package/dist/account/index.js +1600 -0
- package/dist/account-user/index.d.ts +74 -0
- package/dist/account-user/index.js +151 -0
- package/dist/aws-guard-duty/index.d.ts +75 -0
- package/dist/aws-guard-duty/index.js +154 -0
- package/dist/aws-peer/index.d.ts +126 -0
- package/dist/aws-peer/index.js +257 -0
- package/dist/aws-tgw/index.d.ts +129 -0
- package/dist/aws-tgw/index.js +267 -0
- package/dist/aws-tgw-connect/index.d.ts +86 -0
- package/dist/aws-tgw-connect/index.js +179 -0
- package/dist/aws-tgw-connect-peer/index.d.ts +126 -0
- package/dist/aws-tgw-connect-peer/index.js +258 -0
- package/dist/aws-tgw-directconnect/index.d.ts +105 -0
- package/dist/aws-tgw-directconnect/index.js +214 -0
- package/dist/aws-tgw-intra-domain-inspection/index.d.ts +74 -0
- package/dist/aws-tgw-intra-domain-inspection/index.js +151 -0
- package/dist/aws-tgw-network-domain/index.d.ts +97 -0
- package/dist/aws-tgw-network-domain/index.js +200 -0
- package/dist/aws-tgw-peering/index.d.ts +64 -0
- package/dist/aws-tgw-peering/index.js +131 -0
- package/dist/aws-tgw-peering-domain-conn/index.d.ts +84 -0
- package/dist/aws-tgw-peering-domain-conn/index.js +171 -0
- package/dist/aws-tgw-transit-gateway-attachment/index.d.ts +94 -0
- package/dist/aws-tgw-transit-gateway-attachment/index.js +191 -0
- package/dist/aws-tgw-vpc-attachment/index.d.ts +160 -0
- package/dist/aws-tgw-vpc-attachment/index.js +329 -0
- package/dist/aws-tgw-vpn-conn/index.d.ts +225 -0
- package/dist/aws-tgw-vpn-conn/index.js +485 -0
- package/dist/azure-peer/index.d.ts +106 -0
- package/dist/azure-peer/index.js +219 -0
- package/dist/azure-spoke-native-peering/index.d.ts +84 -0
- package/dist/azure-spoke-native-peering/index.js +171 -0
- package/dist/azure-vng-conn/index.d.ts +67 -0
- package/dist/azure-vng-conn/index.js +143 -0
- package/dist/centralized-transit-firenet/index.d.ts +64 -0
- package/dist/centralized-transit-firenet/index.js +131 -0
- package/dist/cloudwatch-agent/index.d.ts +87 -0
- package/dist/cloudwatch-agent/index.js +181 -0
- package/dist/controller-access-allow-list-config/index.d.ts +119 -0
- package/dist/controller-access-allow-list-config/index.js +267 -0
- package/dist/controller-bgp-communities-auto-cloud-config/index.d.ts +64 -0
- package/dist/controller-bgp-communities-auto-cloud-config/index.js +131 -0
- package/dist/controller-bgp-communities-global-config/index.d.ts +54 -0
- package/dist/controller-bgp-communities-global-config/index.js +111 -0
- package/dist/controller-bgp-max-as-limit-config/index.d.ts +54 -0
- package/dist/controller-bgp-max-as-limit-config/index.js +111 -0
- package/dist/controller-cert-domain-config/index.d.ts +55 -0
- package/dist/controller-cert-domain-config/index.js +114 -0
- package/dist/controller-config/index.d.ts +267 -0
- package/dist/controller-config/index.js +563 -0
- package/dist/controller-email-config/index.d.ts +99 -0
- package/dist/controller-email-config/index.js +210 -0
- package/dist/controller-email-exception-notification-config/index.d.ts +55 -0
- package/dist/controller-email-exception-notification-config/index.js +114 -0
- package/dist/controller-gateway-keepalive-config/index.d.ts +54 -0
- package/dist/controller-gateway-keepalive-config/index.js +111 -0
- package/dist/controller-private-mode-config/index.d.ts +65 -0
- package/dist/controller-private-mode-config/index.js +134 -0
- package/dist/controller-private-oob/index.d.ts +55 -0
- package/dist/controller-private-oob/index.js +114 -0
- package/dist/controller-security-group-management-config/index.d.ts +65 -0
- package/dist/controller-security-group-management-config/index.js +134 -0
- package/dist/copilot-association/index.d.ts +54 -0
- package/dist/copilot-association/index.js +111 -0
- package/dist/copilot-fault-tolerant-deployment/index.d.ts +212 -0
- package/dist/copilot-fault-tolerant-deployment/index.js +468 -0
- package/dist/copilot-security-group-management-config/index.d.ts +120 -0
- package/dist/copilot-security-group-management-config/index.js +249 -0
- package/dist/copilot-simple-deployment/index.d.ts +138 -0
- package/dist/copilot-simple-deployment/index.js +285 -0
- package/dist/data-aviatrix-account/index.d.ts +73 -0
- package/dist/data-aviatrix-account/index.js +187 -0
- package/dist/data-aviatrix-caller-identity/index.d.ts +45 -0
- package/dist/data-aviatrix-caller-identity/index.js +95 -0
- package/dist/data-aviatrix-controller-metadata/index.d.ts +48 -0
- package/dist/data-aviatrix-controller-metadata/index.js +107 -0
- package/dist/data-aviatrix-device-interfaces/index.d.ts +89 -0
- package/dist/data-aviatrix-device-interfaces/index.js +190 -0
- package/dist/data-aviatrix-edge-gateway-wan-interface-discovery/index.d.ts +65 -0
- package/dist/data-aviatrix-edge-gateway-wan-interface-discovery/index.js +135 -0
- package/dist/data-aviatrix-firenet/index.d.ts +59 -0
- package/dist/data-aviatrix-firenet/index.js +131 -0
- package/dist/data-aviatrix-firenet-firewall-manager/index.d.ts +184 -0
- package/dist/data-aviatrix-firenet-firewall-manager/index.js +381 -0
- package/dist/data-aviatrix-firenet-vendor-integration/index.d.ts +195 -0
- package/dist/data-aviatrix-firenet-vendor-integration/index.js +404 -0
- package/dist/data-aviatrix-firewall/index.d.ts +96 -0
- package/dist/data-aviatrix-firewall/index.js +218 -0
- package/dist/data-aviatrix-firewall-instance-images/index.d.ts +90 -0
- package/dist/data-aviatrix-firewall-instance-images/index.js +194 -0
- package/dist/data-aviatrix-gateway/index.d.ts +135 -0
- package/dist/data-aviatrix-gateway/index.js +432 -0
- package/dist/data-aviatrix-gateway-image/index.d.ts +65 -0
- package/dist/data-aviatrix-gateway-image/index.js +135 -0
- package/dist/data-aviatrix-network-domains/index.d.ts +89 -0
- package/dist/data-aviatrix-network-domains/index.js +210 -0
- package/dist/data-aviatrix-smart-groups/index.d.ts +161 -0
- package/dist/data-aviatrix-smart-groups/index.js +373 -0
- package/dist/data-aviatrix-spoke-gateway/index.d.ts +125 -0
- package/dist/data-aviatrix-spoke-gateway/index.js +392 -0
- package/dist/data-aviatrix-spoke-gateway-inspection-subnets/index.d.ts +55 -0
- package/dist/data-aviatrix-spoke-gateway-inspection-subnets/index.js +115 -0
- package/dist/data-aviatrix-spoke-gateways/index.d.ts +130 -0
- package/dist/data-aviatrix-spoke-gateways/index.js +374 -0
- package/dist/data-aviatrix-transit-gateway/index.d.ts +208 -0
- package/dist/data-aviatrix-transit-gateway/index.js +602 -0
- package/dist/data-aviatrix-transit-gateways/index.d.ts +202 -0
- package/dist/data-aviatrix-transit-gateways/index.js +540 -0
- package/dist/data-aviatrix-vpc/index.d.ts +187 -0
- package/dist/data-aviatrix-vpc/index.js +439 -0
- package/dist/data-aviatrix-vpc-tracker/index.d.ts +165 -0
- package/dist/data-aviatrix-vpc-tracker/index.js +369 -0
- package/dist/datadog-agent/index.d.ts +88 -0
- package/dist/datadog-agent/index.js +184 -0
- package/dist/device-interface-config/index.d.ts +74 -0
- package/dist/device-interface-config/index.js +151 -0
- package/dist/distributed-firewalling-config/index.d.ts +55 -0
- package/dist/distributed-firewalling-config/index.js +114 -0
- package/dist/distributed-firewalling-default-action-rule/index.d.ts +64 -0
- package/dist/distributed-firewalling-default-action-rule/index.js +131 -0
- package/dist/distributed-firewalling-intra-vpc/index.d.ts +117 -0
- package/dist/distributed-firewalling-intra-vpc/index.js +266 -0
- package/dist/distributed-firewalling-origin-cert-enforcement-config/index.d.ts +55 -0
- package/dist/distributed-firewalling-origin-cert-enforcement-config/index.js +114 -0
- package/dist/distributed-firewalling-policy-list/index.d.ts +291 -0
- package/dist/distributed-firewalling-policy-list/index.js +705 -0
- package/dist/distributed-firewalling-proxy-ca-config/index.d.ts +69 -0
- package/dist/distributed-firewalling-proxy-ca-config/index.js +151 -0
- package/dist/edge-csp/index.d.ts +693 -0
- package/dist/edge-csp/index.js +1561 -0
- package/dist/edge-csp-ha/index.d.ts +227 -0
- package/dist/edge-csp-ha/index.js +532 -0
- package/dist/edge-equinix/index.d.ts +651 -0
- package/dist/edge-equinix/index.js +1475 -0
- package/dist/edge-equinix-ha/index.d.ts +227 -0
- package/dist/edge-equinix-ha/index.js +532 -0
- package/dist/edge-gateway-selfmanaged/index.d.ts +607 -0
- package/dist/edge-gateway-selfmanaged/index.js +1378 -0
- package/dist/edge-gateway-selfmanaged-ha/index.d.ts +246 -0
- package/dist/edge-gateway-selfmanaged-ha/index.js +558 -0
- package/dist/edge-megaport/index.d.ts +704 -0
- package/dist/edge-megaport/index.js +1600 -0
- package/dist/edge-megaport-ha/index.d.ts +206 -0
- package/dist/edge-megaport-ha/index.js +479 -0
- package/dist/edge-neo/index.d.ts +669 -0
- package/dist/edge-neo/index.js +1509 -0
- package/dist/edge-neo-device-onboarding/index.d.ts +216 -0
- package/dist/edge-neo-device-onboarding/index.js +489 -0
- package/dist/edge-neo-ha/index.d.ts +227 -0
- package/dist/edge-neo-ha/index.js +532 -0
- package/dist/edge-platform/index.d.ts +691 -0
- package/dist/edge-platform/index.js +1555 -0
- package/dist/edge-platform-device-onboarding/index.d.ts +216 -0
- package/dist/edge-platform-device-onboarding/index.js +489 -0
- package/dist/edge-platform-ha/index.d.ts +227 -0
- package/dist/edge-platform-ha/index.js +532 -0
- package/dist/edge-proxy-profile/index.d.ts +98 -0
- package/dist/edge-proxy-profile/index.js +204 -0
- package/dist/edge-spoke/index.d.ts +434 -0
- package/dist/edge-spoke/index.js +953 -0
- package/dist/edge-spoke-external-device-conn/index.d.ts +371 -0
- package/dist/edge-spoke-external-device-conn/index.js +800 -0
- package/dist/edge-spoke-transit-attachment/index.d.ts +197 -0
- package/dist/edge-spoke-transit-attachment/index.js +411 -0
- package/dist/edge-vm-selfmanaged/index.d.ts +423 -0
- package/dist/edge-vm-selfmanaged/index.js +930 -0
- package/dist/edge-vm-selfmanaged-ha/index.d.ts +202 -0
- package/dist/edge-vm-selfmanaged-ha/index.js +456 -0
- package/dist/edge-zededa/index.d.ts +693 -0
- package/dist/edge-zededa/index.js +1561 -0
- package/dist/edge-zededa-ha/index.d.ts +227 -0
- package/dist/edge-zededa-ha/index.js +532 -0
- package/dist/filebeat-forwarder/index.d.ts +98 -0
- package/dist/filebeat-forwarder/index.js +204 -0
- package/dist/firenet/index.d.ts +120 -0
- package/dist/firenet/index.js +249 -0
- package/dist/firewall/index.d.ts +204 -0
- package/dist/firewall/index.js +467 -0
- package/dist/firewall-instance/index.d.ts +384 -0
- package/dist/firewall-instance/index.js +794 -0
- package/dist/firewall-instance-association/index.d.ts +141 -0
- package/dist/firewall-instance-association/index.js +292 -0
- package/dist/firewall-management-access/index.d.ts +64 -0
- package/dist/firewall-management-access/index.js +131 -0
- package/dist/firewall-policy/index.d.ts +138 -0
- package/dist/firewall-policy/index.js +283 -0
- package/dist/firewall-tag/index.d.ts +118 -0
- package/dist/firewall-tag/index.js +264 -0
- package/dist/fqdn/index.d.ts +237 -0
- package/dist/fqdn/index.js +542 -0
- package/dist/fqdn-global-config/index.d.ts +110 -0
- package/dist/fqdn-global-config/index.js +229 -0
- package/dist/fqdn-pass-through/index.d.ts +64 -0
- package/dist/fqdn-pass-through/index.js +131 -0
- package/dist/fqdn-tag-rule/index.d.ts +95 -0
- package/dist/fqdn-tag-rule/index.js +194 -0
- package/dist/gateway/index.d.ts +913 -0
- package/dist/gateway/index.js +1904 -0
- package/dist/gateway-certificate-config/index.d.ts +64 -0
- package/dist/gateway-certificate-config/index.js +131 -0
- package/dist/gateway-dnat/index.d.ts +319 -0
- package/dist/gateway-dnat/index.js +785 -0
- package/dist/gateway-snat/index.d.ts +342 -0
- package/dist/gateway-snat/index.js +834 -0
- package/dist/geo-vpn/index.d.ts +94 -0
- package/dist/geo-vpn/index.js +191 -0
- package/dist/global-vpc-excluded-instance/index.d.ts +75 -0
- package/dist/global-vpc-excluded-instance/index.js +155 -0
- package/dist/global-vpc-tagging-settings/index.d.ts +64 -0
- package/dist/global-vpc-tagging-settings/index.js +131 -0
- package/dist/index.d.ts +150 -0
- package/dist/index.js +151 -0
- package/dist/kubernetes-cluster/index.d.ts +232 -0
- package/dist/kubernetes-cluster/index.js +534 -0
- package/dist/lazy-index.d.ts +0 -0
- package/dist/lazy-index.js +151 -0
- package/dist/link-hierarchy/index.d.ts +161 -0
- package/dist/link-hierarchy/index.js +370 -0
- package/dist/netflow-agent/index.d.ts +98 -0
- package/dist/netflow-agent/index.js +204 -0
- package/dist/periodic-ping/index.d.ts +74 -0
- package/dist/periodic-ping/index.js +151 -0
- package/dist/private-mode-lb/index.d.ts +159 -0
- package/dist/private-mode-lb/index.js +347 -0
- package/dist/private-mode-multicloud-endpoint/index.d.ts +85 -0
- package/dist/private-mode-multicloud-endpoint/index.js +175 -0
- package/dist/provider/index.d.ts +121 -0
- package/dist/provider/index.js +273 -0
- package/dist/proxy-config/index.d.ts +75 -0
- package/dist/proxy-config/index.js +154 -0
- package/dist/qos-class/index.d.ts +65 -0
- package/dist/qos-class/index.js +135 -0
- package/dist/qos-policy-list/index.d.ts +118 -0
- package/dist/qos-policy-list/index.js +270 -0
- package/dist/rbac-group/index.d.ts +65 -0
- package/dist/rbac-group/index.js +134 -0
- package/dist/rbac-group-access-account-attachment/index.d.ts +64 -0
- package/dist/rbac-group-access-account-attachment/index.js +131 -0
- package/dist/rbac-group-permission-attachment/index.d.ts +64 -0
- package/dist/rbac-group-permission-attachment/index.js +131 -0
- package/dist/rbac-group-user-attachment/index.d.ts +64 -0
- package/dist/rbac-group-user-attachment/index.js +131 -0
- package/dist/remote-syslog/index.d.ts +154 -0
- package/dist/remote-syslog/index.js +323 -0
- package/dist/saml-endpoint/index.d.ts +152 -0
- package/dist/saml-endpoint/index.js +315 -0
- package/dist/segmentation-network-domain/index.d.ts +54 -0
- package/dist/segmentation-network-domain/index.js +111 -0
- package/dist/segmentation-network-domain-association/index.d.ts +75 -0
- package/dist/segmentation-network-domain-association/index.js +154 -0
- package/dist/segmentation-network-domain-connection-policy/index.d.ts +64 -0
- package/dist/segmentation-network-domain-connection-policy/index.js +131 -0
- package/dist/site2cloud/index.d.ts +642 -0
- package/dist/site2cloud/index.js +1335 -0
- package/dist/site2cloud-ca-cert-tag/index.d.ts +112 -0
- package/dist/site2cloud-ca-cert-tag/index.js +256 -0
- package/dist/sla-class/index.d.ts +85 -0
- package/dist/sla-class/index.js +175 -0
- package/dist/smart-group/index.d.ts +336 -0
- package/dist/smart-group/index.js +789 -0
- package/dist/splunk-logging/index.d.ts +100 -0
- package/dist/splunk-logging/index.js +210 -0
- package/dist/spoke-external-device-conn/index.d.ts +638 -0
- package/dist/spoke-external-device-conn/index.js +1361 -0
- package/dist/spoke-gateway/index.d.ts +903 -0
- package/dist/spoke-gateway/index.js +1885 -0
- package/dist/spoke-gateway-subnet-group/index.d.ts +75 -0
- package/dist/spoke-gateway-subnet-group/index.js +154 -0
- package/dist/spoke-ha-gateway/index.d.ts +172 -0
- package/dist/spoke-ha-gateway/index.js +374 -0
- package/dist/spoke-transit-attachment/index.d.ts +131 -0
- package/dist/spoke-transit-attachment/index.js +273 -0
- package/dist/sumologic-forwarder/index.d.ts +98 -0
- package/dist/sumologic-forwarder/index.js +204 -0
- package/dist/traffic-classifier/index.d.ts +239 -0
- package/dist/traffic-classifier/index.js +574 -0
- package/dist/trans-peer/index.d.ts +74 -0
- package/dist/trans-peer/index.js +151 -0
- package/dist/transit-external-device-conn/index.d.ts +694 -0
- package/dist/transit-external-device-conn/index.js +1479 -0
- package/dist/transit-firenet-policy/index.d.ts +64 -0
- package/dist/transit-firenet-policy/index.js +131 -0
- package/dist/transit-gateway/index.d.ts +1566 -0
- package/dist/transit-gateway/index.js +3442 -0
- package/dist/transit-gateway-peering/index.d.ts +240 -0
- package/dist/transit-gateway-peering/index.js +499 -0
- package/dist/tunnel/index.d.ts +78 -0
- package/dist/tunnel/index.js +166 -0
- package/dist/vgw-conn/index.d.ts +158 -0
- package/dist/vgw-conn/index.js +323 -0
- package/dist/vpc/index.d.ts +339 -0
- package/dist/vpc/index.js +758 -0
- package/dist/vpn-cert-download/index.d.ts +66 -0
- package/dist/vpn-cert-download/index.js +137 -0
- package/dist/vpn-profile/index.d.ts +169 -0
- package/dist/vpn-profile/index.js +383 -0
- package/dist/vpn-user/index.d.ts +129 -0
- package/dist/vpn-user/index.js +272 -0
- package/dist/vpn-user-accelerator/index.d.ts +54 -0
- package/dist/vpn-user-accelerator/index.js +111 -0
- package/dist/web-group/index.d.ts +144 -0
- package/dist/web-group/index.js +341 -0
- package/package.json +51 -0
|
@@ -0,0 +1,834 @@
|
|
|
1
|
+
// https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/gateway_snat
|
|
2
|
+
// generated from terraform resource schema
|
|
3
|
+
import * as cdktf from 'cdktf';
|
|
4
|
+
export function gatewaySnatConnectionPolicyToTerraform(struct) {
|
|
5
|
+
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
|
|
6
|
+
return struct;
|
|
7
|
+
}
|
|
8
|
+
if (cdktf.isComplexElement(struct)) {
|
|
9
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
10
|
+
}
|
|
11
|
+
return {};
|
|
12
|
+
}
|
|
13
|
+
export function gatewaySnatConnectionPolicyToHclTerraform(struct) {
|
|
14
|
+
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
|
|
15
|
+
return struct;
|
|
16
|
+
}
|
|
17
|
+
if (cdktf.isComplexElement(struct)) {
|
|
18
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
19
|
+
}
|
|
20
|
+
const attrs = {};
|
|
21
|
+
return attrs;
|
|
22
|
+
}
|
|
23
|
+
export class GatewaySnatConnectionPolicyOutputReference extends cdktf.ComplexObject {
|
|
24
|
+
isEmptyObject = false;
|
|
25
|
+
/**
|
|
26
|
+
* @param terraformResource The parent resource
|
|
27
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
28
|
+
* @param complexObjectIndex the index of this item in the list
|
|
29
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
30
|
+
*/
|
|
31
|
+
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
|
|
32
|
+
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
|
|
33
|
+
}
|
|
34
|
+
get internalValue() {
|
|
35
|
+
let hasAnyValues = this.isEmptyObject;
|
|
36
|
+
const internalValueResult = {};
|
|
37
|
+
return hasAnyValues ? internalValueResult : undefined;
|
|
38
|
+
}
|
|
39
|
+
set internalValue(value) {
|
|
40
|
+
if (value === undefined) {
|
|
41
|
+
this.isEmptyObject = false;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.isEmptyObject = Object.keys(value).length === 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// apply_route_entry - computed: true, optional: false, required: false
|
|
48
|
+
get applyRouteEntry() {
|
|
49
|
+
return this.getBooleanAttribute('apply_route_entry');
|
|
50
|
+
}
|
|
51
|
+
// connection - computed: true, optional: false, required: false
|
|
52
|
+
get connection() {
|
|
53
|
+
return this.getStringAttribute('connection');
|
|
54
|
+
}
|
|
55
|
+
// dst_cidr - computed: true, optional: false, required: false
|
|
56
|
+
get dstCidr() {
|
|
57
|
+
return this.getStringAttribute('dst_cidr');
|
|
58
|
+
}
|
|
59
|
+
// dst_port - computed: true, optional: false, required: false
|
|
60
|
+
get dstPort() {
|
|
61
|
+
return this.getStringAttribute('dst_port');
|
|
62
|
+
}
|
|
63
|
+
// exclude_rtb - computed: true, optional: false, required: false
|
|
64
|
+
get excludeRtb() {
|
|
65
|
+
return this.getStringAttribute('exclude_rtb');
|
|
66
|
+
}
|
|
67
|
+
// interface - computed: true, optional: false, required: false
|
|
68
|
+
get interface() {
|
|
69
|
+
return this.getStringAttribute('interface');
|
|
70
|
+
}
|
|
71
|
+
// mark - computed: true, optional: false, required: false
|
|
72
|
+
get mark() {
|
|
73
|
+
return this.getStringAttribute('mark');
|
|
74
|
+
}
|
|
75
|
+
// protocol - computed: true, optional: false, required: false
|
|
76
|
+
get protocol() {
|
|
77
|
+
return this.getStringAttribute('protocol');
|
|
78
|
+
}
|
|
79
|
+
// snat_ips - computed: true, optional: false, required: false
|
|
80
|
+
get snatIps() {
|
|
81
|
+
return this.getStringAttribute('snat_ips');
|
|
82
|
+
}
|
|
83
|
+
// snat_port - computed: true, optional: false, required: false
|
|
84
|
+
get snatPort() {
|
|
85
|
+
return this.getStringAttribute('snat_port');
|
|
86
|
+
}
|
|
87
|
+
// src_cidr - computed: true, optional: false, required: false
|
|
88
|
+
get srcCidr() {
|
|
89
|
+
return this.getStringAttribute('src_cidr');
|
|
90
|
+
}
|
|
91
|
+
// src_port - computed: true, optional: false, required: false
|
|
92
|
+
get srcPort() {
|
|
93
|
+
return this.getStringAttribute('src_port');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export class GatewaySnatConnectionPolicyList extends cdktf.ComplexList {
|
|
97
|
+
terraformResource;
|
|
98
|
+
terraformAttribute;
|
|
99
|
+
wrapsSet;
|
|
100
|
+
/**
|
|
101
|
+
* @param terraformResource The parent resource
|
|
102
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
103
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
104
|
+
*/
|
|
105
|
+
constructor(terraformResource, terraformAttribute, wrapsSet) {
|
|
106
|
+
super(terraformResource, terraformAttribute, wrapsSet);
|
|
107
|
+
this.terraformResource = terraformResource;
|
|
108
|
+
this.terraformAttribute = terraformAttribute;
|
|
109
|
+
this.wrapsSet = wrapsSet;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* @param index the index of the item to return
|
|
113
|
+
*/
|
|
114
|
+
get(index) {
|
|
115
|
+
return new GatewaySnatConnectionPolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export function gatewaySnatInterfacePolicyToTerraform(struct) {
|
|
119
|
+
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
|
|
120
|
+
return struct;
|
|
121
|
+
}
|
|
122
|
+
if (cdktf.isComplexElement(struct)) {
|
|
123
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
124
|
+
}
|
|
125
|
+
return {};
|
|
126
|
+
}
|
|
127
|
+
export function gatewaySnatInterfacePolicyToHclTerraform(struct) {
|
|
128
|
+
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
|
|
129
|
+
return struct;
|
|
130
|
+
}
|
|
131
|
+
if (cdktf.isComplexElement(struct)) {
|
|
132
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
133
|
+
}
|
|
134
|
+
const attrs = {};
|
|
135
|
+
return attrs;
|
|
136
|
+
}
|
|
137
|
+
export class GatewaySnatInterfacePolicyOutputReference extends cdktf.ComplexObject {
|
|
138
|
+
isEmptyObject = false;
|
|
139
|
+
/**
|
|
140
|
+
* @param terraformResource The parent resource
|
|
141
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
142
|
+
* @param complexObjectIndex the index of this item in the list
|
|
143
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
144
|
+
*/
|
|
145
|
+
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
|
|
146
|
+
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
|
|
147
|
+
}
|
|
148
|
+
get internalValue() {
|
|
149
|
+
let hasAnyValues = this.isEmptyObject;
|
|
150
|
+
const internalValueResult = {};
|
|
151
|
+
return hasAnyValues ? internalValueResult : undefined;
|
|
152
|
+
}
|
|
153
|
+
set internalValue(value) {
|
|
154
|
+
if (value === undefined) {
|
|
155
|
+
this.isEmptyObject = false;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
this.isEmptyObject = Object.keys(value).length === 0;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// apply_route_entry - computed: true, optional: false, required: false
|
|
162
|
+
get applyRouteEntry() {
|
|
163
|
+
return this.getBooleanAttribute('apply_route_entry');
|
|
164
|
+
}
|
|
165
|
+
// connection - computed: true, optional: false, required: false
|
|
166
|
+
get connection() {
|
|
167
|
+
return this.getStringAttribute('connection');
|
|
168
|
+
}
|
|
169
|
+
// dst_cidr - computed: true, optional: false, required: false
|
|
170
|
+
get dstCidr() {
|
|
171
|
+
return this.getStringAttribute('dst_cidr');
|
|
172
|
+
}
|
|
173
|
+
// dst_port - computed: true, optional: false, required: false
|
|
174
|
+
get dstPort() {
|
|
175
|
+
return this.getStringAttribute('dst_port');
|
|
176
|
+
}
|
|
177
|
+
// exclude_rtb - computed: true, optional: false, required: false
|
|
178
|
+
get excludeRtb() {
|
|
179
|
+
return this.getStringAttribute('exclude_rtb');
|
|
180
|
+
}
|
|
181
|
+
// interface - computed: true, optional: false, required: false
|
|
182
|
+
get interface() {
|
|
183
|
+
return this.getStringAttribute('interface');
|
|
184
|
+
}
|
|
185
|
+
// mark - computed: true, optional: false, required: false
|
|
186
|
+
get mark() {
|
|
187
|
+
return this.getStringAttribute('mark');
|
|
188
|
+
}
|
|
189
|
+
// protocol - computed: true, optional: false, required: false
|
|
190
|
+
get protocol() {
|
|
191
|
+
return this.getStringAttribute('protocol');
|
|
192
|
+
}
|
|
193
|
+
// snat_ips - computed: true, optional: false, required: false
|
|
194
|
+
get snatIps() {
|
|
195
|
+
return this.getStringAttribute('snat_ips');
|
|
196
|
+
}
|
|
197
|
+
// snat_port - computed: true, optional: false, required: false
|
|
198
|
+
get snatPort() {
|
|
199
|
+
return this.getStringAttribute('snat_port');
|
|
200
|
+
}
|
|
201
|
+
// src_cidr - computed: true, optional: false, required: false
|
|
202
|
+
get srcCidr() {
|
|
203
|
+
return this.getStringAttribute('src_cidr');
|
|
204
|
+
}
|
|
205
|
+
// src_port - computed: true, optional: false, required: false
|
|
206
|
+
get srcPort() {
|
|
207
|
+
return this.getStringAttribute('src_port');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
export class GatewaySnatInterfacePolicyList extends cdktf.ComplexList {
|
|
211
|
+
terraformResource;
|
|
212
|
+
terraformAttribute;
|
|
213
|
+
wrapsSet;
|
|
214
|
+
/**
|
|
215
|
+
* @param terraformResource The parent resource
|
|
216
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
217
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
218
|
+
*/
|
|
219
|
+
constructor(terraformResource, terraformAttribute, wrapsSet) {
|
|
220
|
+
super(terraformResource, terraformAttribute, wrapsSet);
|
|
221
|
+
this.terraformResource = terraformResource;
|
|
222
|
+
this.terraformAttribute = terraformAttribute;
|
|
223
|
+
this.wrapsSet = wrapsSet;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* @param index the index of the item to return
|
|
227
|
+
*/
|
|
228
|
+
get(index) {
|
|
229
|
+
return new GatewaySnatInterfacePolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
export function gatewaySnatSnatPolicyToTerraform(struct) {
|
|
233
|
+
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
|
|
234
|
+
return struct;
|
|
235
|
+
}
|
|
236
|
+
if (cdktf.isComplexElement(struct)) {
|
|
237
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
apply_route_entry: cdktf.booleanToTerraform(struct.applyRouteEntry),
|
|
241
|
+
connection: cdktf.stringToTerraform(struct.connection),
|
|
242
|
+
dst_cidr: cdktf.stringToTerraform(struct.dstCidr),
|
|
243
|
+
dst_port: cdktf.stringToTerraform(struct.dstPort),
|
|
244
|
+
exclude_rtb: cdktf.stringToTerraform(struct.excludeRtb),
|
|
245
|
+
interface: cdktf.stringToTerraform(struct.interface),
|
|
246
|
+
mark: cdktf.stringToTerraform(struct.mark),
|
|
247
|
+
protocol: cdktf.stringToTerraform(struct.protocol),
|
|
248
|
+
snat_ips: cdktf.stringToTerraform(struct.snatIps),
|
|
249
|
+
snat_port: cdktf.stringToTerraform(struct.snatPort),
|
|
250
|
+
src_cidr: cdktf.stringToTerraform(struct.srcCidr),
|
|
251
|
+
src_port: cdktf.stringToTerraform(struct.srcPort),
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
export function gatewaySnatSnatPolicyToHclTerraform(struct) {
|
|
255
|
+
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
|
|
256
|
+
return struct;
|
|
257
|
+
}
|
|
258
|
+
if (cdktf.isComplexElement(struct)) {
|
|
259
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
260
|
+
}
|
|
261
|
+
const attrs = {
|
|
262
|
+
apply_route_entry: {
|
|
263
|
+
value: cdktf.booleanToHclTerraform(struct.applyRouteEntry),
|
|
264
|
+
isBlock: false,
|
|
265
|
+
type: "simple",
|
|
266
|
+
storageClassType: "boolean",
|
|
267
|
+
},
|
|
268
|
+
connection: {
|
|
269
|
+
value: cdktf.stringToHclTerraform(struct.connection),
|
|
270
|
+
isBlock: false,
|
|
271
|
+
type: "simple",
|
|
272
|
+
storageClassType: "string",
|
|
273
|
+
},
|
|
274
|
+
dst_cidr: {
|
|
275
|
+
value: cdktf.stringToHclTerraform(struct.dstCidr),
|
|
276
|
+
isBlock: false,
|
|
277
|
+
type: "simple",
|
|
278
|
+
storageClassType: "string",
|
|
279
|
+
},
|
|
280
|
+
dst_port: {
|
|
281
|
+
value: cdktf.stringToHclTerraform(struct.dstPort),
|
|
282
|
+
isBlock: false,
|
|
283
|
+
type: "simple",
|
|
284
|
+
storageClassType: "string",
|
|
285
|
+
},
|
|
286
|
+
exclude_rtb: {
|
|
287
|
+
value: cdktf.stringToHclTerraform(struct.excludeRtb),
|
|
288
|
+
isBlock: false,
|
|
289
|
+
type: "simple",
|
|
290
|
+
storageClassType: "string",
|
|
291
|
+
},
|
|
292
|
+
interface: {
|
|
293
|
+
value: cdktf.stringToHclTerraform(struct.interface),
|
|
294
|
+
isBlock: false,
|
|
295
|
+
type: "simple",
|
|
296
|
+
storageClassType: "string",
|
|
297
|
+
},
|
|
298
|
+
mark: {
|
|
299
|
+
value: cdktf.stringToHclTerraform(struct.mark),
|
|
300
|
+
isBlock: false,
|
|
301
|
+
type: "simple",
|
|
302
|
+
storageClassType: "string",
|
|
303
|
+
},
|
|
304
|
+
protocol: {
|
|
305
|
+
value: cdktf.stringToHclTerraform(struct.protocol),
|
|
306
|
+
isBlock: false,
|
|
307
|
+
type: "simple",
|
|
308
|
+
storageClassType: "string",
|
|
309
|
+
},
|
|
310
|
+
snat_ips: {
|
|
311
|
+
value: cdktf.stringToHclTerraform(struct.snatIps),
|
|
312
|
+
isBlock: false,
|
|
313
|
+
type: "simple",
|
|
314
|
+
storageClassType: "string",
|
|
315
|
+
},
|
|
316
|
+
snat_port: {
|
|
317
|
+
value: cdktf.stringToHclTerraform(struct.snatPort),
|
|
318
|
+
isBlock: false,
|
|
319
|
+
type: "simple",
|
|
320
|
+
storageClassType: "string",
|
|
321
|
+
},
|
|
322
|
+
src_cidr: {
|
|
323
|
+
value: cdktf.stringToHclTerraform(struct.srcCidr),
|
|
324
|
+
isBlock: false,
|
|
325
|
+
type: "simple",
|
|
326
|
+
storageClassType: "string",
|
|
327
|
+
},
|
|
328
|
+
src_port: {
|
|
329
|
+
value: cdktf.stringToHclTerraform(struct.srcPort),
|
|
330
|
+
isBlock: false,
|
|
331
|
+
type: "simple",
|
|
332
|
+
storageClassType: "string",
|
|
333
|
+
},
|
|
334
|
+
};
|
|
335
|
+
// remove undefined attributes
|
|
336
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
337
|
+
}
|
|
338
|
+
export class GatewaySnatSnatPolicyOutputReference extends cdktf.ComplexObject {
|
|
339
|
+
isEmptyObject = false;
|
|
340
|
+
resolvableValue;
|
|
341
|
+
/**
|
|
342
|
+
* @param terraformResource The parent resource
|
|
343
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
344
|
+
* @param complexObjectIndex the index of this item in the list
|
|
345
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
346
|
+
*/
|
|
347
|
+
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
|
|
348
|
+
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
|
|
349
|
+
}
|
|
350
|
+
get internalValue() {
|
|
351
|
+
if (this.resolvableValue) {
|
|
352
|
+
return this.resolvableValue;
|
|
353
|
+
}
|
|
354
|
+
let hasAnyValues = this.isEmptyObject;
|
|
355
|
+
const internalValueResult = {};
|
|
356
|
+
if (this._applyRouteEntry !== undefined) {
|
|
357
|
+
hasAnyValues = true;
|
|
358
|
+
internalValueResult.applyRouteEntry = this._applyRouteEntry;
|
|
359
|
+
}
|
|
360
|
+
if (this._connection !== undefined) {
|
|
361
|
+
hasAnyValues = true;
|
|
362
|
+
internalValueResult.connection = this._connection;
|
|
363
|
+
}
|
|
364
|
+
if (this._dstCidr !== undefined) {
|
|
365
|
+
hasAnyValues = true;
|
|
366
|
+
internalValueResult.dstCidr = this._dstCidr;
|
|
367
|
+
}
|
|
368
|
+
if (this._dstPort !== undefined) {
|
|
369
|
+
hasAnyValues = true;
|
|
370
|
+
internalValueResult.dstPort = this._dstPort;
|
|
371
|
+
}
|
|
372
|
+
if (this._excludeRtb !== undefined) {
|
|
373
|
+
hasAnyValues = true;
|
|
374
|
+
internalValueResult.excludeRtb = this._excludeRtb;
|
|
375
|
+
}
|
|
376
|
+
if (this._interface !== undefined) {
|
|
377
|
+
hasAnyValues = true;
|
|
378
|
+
internalValueResult.interface = this._interface;
|
|
379
|
+
}
|
|
380
|
+
if (this._mark !== undefined) {
|
|
381
|
+
hasAnyValues = true;
|
|
382
|
+
internalValueResult.mark = this._mark;
|
|
383
|
+
}
|
|
384
|
+
if (this._protocol !== undefined) {
|
|
385
|
+
hasAnyValues = true;
|
|
386
|
+
internalValueResult.protocol = this._protocol;
|
|
387
|
+
}
|
|
388
|
+
if (this._snatIps !== undefined) {
|
|
389
|
+
hasAnyValues = true;
|
|
390
|
+
internalValueResult.snatIps = this._snatIps;
|
|
391
|
+
}
|
|
392
|
+
if (this._snatPort !== undefined) {
|
|
393
|
+
hasAnyValues = true;
|
|
394
|
+
internalValueResult.snatPort = this._snatPort;
|
|
395
|
+
}
|
|
396
|
+
if (this._srcCidr !== undefined) {
|
|
397
|
+
hasAnyValues = true;
|
|
398
|
+
internalValueResult.srcCidr = this._srcCidr;
|
|
399
|
+
}
|
|
400
|
+
if (this._srcPort !== undefined) {
|
|
401
|
+
hasAnyValues = true;
|
|
402
|
+
internalValueResult.srcPort = this._srcPort;
|
|
403
|
+
}
|
|
404
|
+
return hasAnyValues ? internalValueResult : undefined;
|
|
405
|
+
}
|
|
406
|
+
set internalValue(value) {
|
|
407
|
+
if (value === undefined) {
|
|
408
|
+
this.isEmptyObject = false;
|
|
409
|
+
this.resolvableValue = undefined;
|
|
410
|
+
this._applyRouteEntry = undefined;
|
|
411
|
+
this._connection = undefined;
|
|
412
|
+
this._dstCidr = undefined;
|
|
413
|
+
this._dstPort = undefined;
|
|
414
|
+
this._excludeRtb = undefined;
|
|
415
|
+
this._interface = undefined;
|
|
416
|
+
this._mark = undefined;
|
|
417
|
+
this._protocol = undefined;
|
|
418
|
+
this._snatIps = undefined;
|
|
419
|
+
this._snatPort = undefined;
|
|
420
|
+
this._srcCidr = undefined;
|
|
421
|
+
this._srcPort = undefined;
|
|
422
|
+
}
|
|
423
|
+
else if (cdktf.Tokenization.isResolvable(value)) {
|
|
424
|
+
this.isEmptyObject = false;
|
|
425
|
+
this.resolvableValue = value;
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
this.isEmptyObject = Object.keys(value).length === 0;
|
|
429
|
+
this.resolvableValue = undefined;
|
|
430
|
+
this._applyRouteEntry = value.applyRouteEntry;
|
|
431
|
+
this._connection = value.connection;
|
|
432
|
+
this._dstCidr = value.dstCidr;
|
|
433
|
+
this._dstPort = value.dstPort;
|
|
434
|
+
this._excludeRtb = value.excludeRtb;
|
|
435
|
+
this._interface = value.interface;
|
|
436
|
+
this._mark = value.mark;
|
|
437
|
+
this._protocol = value.protocol;
|
|
438
|
+
this._snatIps = value.snatIps;
|
|
439
|
+
this._snatPort = value.snatPort;
|
|
440
|
+
this._srcCidr = value.srcCidr;
|
|
441
|
+
this._srcPort = value.srcPort;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
// apply_route_entry - computed: false, optional: true, required: false
|
|
445
|
+
_applyRouteEntry;
|
|
446
|
+
get applyRouteEntry() {
|
|
447
|
+
return this.getBooleanAttribute('apply_route_entry');
|
|
448
|
+
}
|
|
449
|
+
set applyRouteEntry(value) {
|
|
450
|
+
this._applyRouteEntry = value;
|
|
451
|
+
}
|
|
452
|
+
resetApplyRouteEntry() {
|
|
453
|
+
this._applyRouteEntry = undefined;
|
|
454
|
+
}
|
|
455
|
+
// Temporarily expose input value. Use with caution.
|
|
456
|
+
get applyRouteEntryInput() {
|
|
457
|
+
return this._applyRouteEntry;
|
|
458
|
+
}
|
|
459
|
+
// connection - computed: false, optional: true, required: false
|
|
460
|
+
_connection;
|
|
461
|
+
get connection() {
|
|
462
|
+
return this.getStringAttribute('connection');
|
|
463
|
+
}
|
|
464
|
+
set connection(value) {
|
|
465
|
+
this._connection = value;
|
|
466
|
+
}
|
|
467
|
+
resetConnection() {
|
|
468
|
+
this._connection = undefined;
|
|
469
|
+
}
|
|
470
|
+
// Temporarily expose input value. Use with caution.
|
|
471
|
+
get connectionInput() {
|
|
472
|
+
return this._connection;
|
|
473
|
+
}
|
|
474
|
+
// dst_cidr - computed: false, optional: true, required: false
|
|
475
|
+
_dstCidr;
|
|
476
|
+
get dstCidr() {
|
|
477
|
+
return this.getStringAttribute('dst_cidr');
|
|
478
|
+
}
|
|
479
|
+
set dstCidr(value) {
|
|
480
|
+
this._dstCidr = value;
|
|
481
|
+
}
|
|
482
|
+
resetDstCidr() {
|
|
483
|
+
this._dstCidr = undefined;
|
|
484
|
+
}
|
|
485
|
+
// Temporarily expose input value. Use with caution.
|
|
486
|
+
get dstCidrInput() {
|
|
487
|
+
return this._dstCidr;
|
|
488
|
+
}
|
|
489
|
+
// dst_port - computed: false, optional: true, required: false
|
|
490
|
+
_dstPort;
|
|
491
|
+
get dstPort() {
|
|
492
|
+
return this.getStringAttribute('dst_port');
|
|
493
|
+
}
|
|
494
|
+
set dstPort(value) {
|
|
495
|
+
this._dstPort = value;
|
|
496
|
+
}
|
|
497
|
+
resetDstPort() {
|
|
498
|
+
this._dstPort = undefined;
|
|
499
|
+
}
|
|
500
|
+
// Temporarily expose input value. Use with caution.
|
|
501
|
+
get dstPortInput() {
|
|
502
|
+
return this._dstPort;
|
|
503
|
+
}
|
|
504
|
+
// exclude_rtb - computed: false, optional: true, required: false
|
|
505
|
+
_excludeRtb;
|
|
506
|
+
get excludeRtb() {
|
|
507
|
+
return this.getStringAttribute('exclude_rtb');
|
|
508
|
+
}
|
|
509
|
+
set excludeRtb(value) {
|
|
510
|
+
this._excludeRtb = value;
|
|
511
|
+
}
|
|
512
|
+
resetExcludeRtb() {
|
|
513
|
+
this._excludeRtb = undefined;
|
|
514
|
+
}
|
|
515
|
+
// Temporarily expose input value. Use with caution.
|
|
516
|
+
get excludeRtbInput() {
|
|
517
|
+
return this._excludeRtb;
|
|
518
|
+
}
|
|
519
|
+
// interface - computed: false, optional: true, required: false
|
|
520
|
+
_interface;
|
|
521
|
+
get interface() {
|
|
522
|
+
return this.getStringAttribute('interface');
|
|
523
|
+
}
|
|
524
|
+
set interface(value) {
|
|
525
|
+
this._interface = value;
|
|
526
|
+
}
|
|
527
|
+
resetInterface() {
|
|
528
|
+
this._interface = undefined;
|
|
529
|
+
}
|
|
530
|
+
// Temporarily expose input value. Use with caution.
|
|
531
|
+
get interfaceInput() {
|
|
532
|
+
return this._interface;
|
|
533
|
+
}
|
|
534
|
+
// mark - computed: false, optional: true, required: false
|
|
535
|
+
_mark;
|
|
536
|
+
get mark() {
|
|
537
|
+
return this.getStringAttribute('mark');
|
|
538
|
+
}
|
|
539
|
+
set mark(value) {
|
|
540
|
+
this._mark = value;
|
|
541
|
+
}
|
|
542
|
+
resetMark() {
|
|
543
|
+
this._mark = undefined;
|
|
544
|
+
}
|
|
545
|
+
// Temporarily expose input value. Use with caution.
|
|
546
|
+
get markInput() {
|
|
547
|
+
return this._mark;
|
|
548
|
+
}
|
|
549
|
+
// protocol - computed: false, optional: true, required: false
|
|
550
|
+
_protocol;
|
|
551
|
+
get protocol() {
|
|
552
|
+
return this.getStringAttribute('protocol');
|
|
553
|
+
}
|
|
554
|
+
set protocol(value) {
|
|
555
|
+
this._protocol = value;
|
|
556
|
+
}
|
|
557
|
+
resetProtocol() {
|
|
558
|
+
this._protocol = undefined;
|
|
559
|
+
}
|
|
560
|
+
// Temporarily expose input value. Use with caution.
|
|
561
|
+
get protocolInput() {
|
|
562
|
+
return this._protocol;
|
|
563
|
+
}
|
|
564
|
+
// snat_ips - computed: false, optional: true, required: false
|
|
565
|
+
_snatIps;
|
|
566
|
+
get snatIps() {
|
|
567
|
+
return this.getStringAttribute('snat_ips');
|
|
568
|
+
}
|
|
569
|
+
set snatIps(value) {
|
|
570
|
+
this._snatIps = value;
|
|
571
|
+
}
|
|
572
|
+
resetSnatIps() {
|
|
573
|
+
this._snatIps = undefined;
|
|
574
|
+
}
|
|
575
|
+
// Temporarily expose input value. Use with caution.
|
|
576
|
+
get snatIpsInput() {
|
|
577
|
+
return this._snatIps;
|
|
578
|
+
}
|
|
579
|
+
// snat_port - computed: false, optional: true, required: false
|
|
580
|
+
_snatPort;
|
|
581
|
+
get snatPort() {
|
|
582
|
+
return this.getStringAttribute('snat_port');
|
|
583
|
+
}
|
|
584
|
+
set snatPort(value) {
|
|
585
|
+
this._snatPort = value;
|
|
586
|
+
}
|
|
587
|
+
resetSnatPort() {
|
|
588
|
+
this._snatPort = undefined;
|
|
589
|
+
}
|
|
590
|
+
// Temporarily expose input value. Use with caution.
|
|
591
|
+
get snatPortInput() {
|
|
592
|
+
return this._snatPort;
|
|
593
|
+
}
|
|
594
|
+
// src_cidr - computed: false, optional: true, required: false
|
|
595
|
+
_srcCidr;
|
|
596
|
+
get srcCidr() {
|
|
597
|
+
return this.getStringAttribute('src_cidr');
|
|
598
|
+
}
|
|
599
|
+
set srcCidr(value) {
|
|
600
|
+
this._srcCidr = value;
|
|
601
|
+
}
|
|
602
|
+
resetSrcCidr() {
|
|
603
|
+
this._srcCidr = undefined;
|
|
604
|
+
}
|
|
605
|
+
// Temporarily expose input value. Use with caution.
|
|
606
|
+
get srcCidrInput() {
|
|
607
|
+
return this._srcCidr;
|
|
608
|
+
}
|
|
609
|
+
// src_port - computed: false, optional: true, required: false
|
|
610
|
+
_srcPort;
|
|
611
|
+
get srcPort() {
|
|
612
|
+
return this.getStringAttribute('src_port');
|
|
613
|
+
}
|
|
614
|
+
set srcPort(value) {
|
|
615
|
+
this._srcPort = value;
|
|
616
|
+
}
|
|
617
|
+
resetSrcPort() {
|
|
618
|
+
this._srcPort = undefined;
|
|
619
|
+
}
|
|
620
|
+
// Temporarily expose input value. Use with caution.
|
|
621
|
+
get srcPortInput() {
|
|
622
|
+
return this._srcPort;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
export class GatewaySnatSnatPolicyList extends cdktf.ComplexList {
|
|
626
|
+
terraformResource;
|
|
627
|
+
terraformAttribute;
|
|
628
|
+
wrapsSet;
|
|
629
|
+
internalValue;
|
|
630
|
+
/**
|
|
631
|
+
* @param terraformResource The parent resource
|
|
632
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
633
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
634
|
+
*/
|
|
635
|
+
constructor(terraformResource, terraformAttribute, wrapsSet) {
|
|
636
|
+
super(terraformResource, terraformAttribute, wrapsSet);
|
|
637
|
+
this.terraformResource = terraformResource;
|
|
638
|
+
this.terraformAttribute = terraformAttribute;
|
|
639
|
+
this.wrapsSet = wrapsSet;
|
|
640
|
+
}
|
|
641
|
+
/**
|
|
642
|
+
* @param index the index of the item to return
|
|
643
|
+
*/
|
|
644
|
+
get(index) {
|
|
645
|
+
return new GatewaySnatSnatPolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/gateway_snat aviatrix_gateway_snat}
|
|
650
|
+
*/
|
|
651
|
+
export class GatewaySnat extends cdktf.TerraformResource {
|
|
652
|
+
// =================
|
|
653
|
+
// STATIC PROPERTIES
|
|
654
|
+
// =================
|
|
655
|
+
static tfResourceType = "aviatrix_gateway_snat";
|
|
656
|
+
// ==============
|
|
657
|
+
// STATIC Methods
|
|
658
|
+
// ==============
|
|
659
|
+
/**
|
|
660
|
+
* Generates CDKTF code for importing a GatewaySnat resource upon running "cdktf plan <stack-name>"
|
|
661
|
+
* @param scope The scope in which to define this construct
|
|
662
|
+
* @param importToId The construct id used in the generated config for the GatewaySnat to import
|
|
663
|
+
* @param importFromId The id of the existing GatewaySnat that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/gateway_snat#import import section} in the documentation of this resource for the id to use
|
|
664
|
+
* @param provider? Optional instance of the provider where the GatewaySnat to import is found
|
|
665
|
+
*/
|
|
666
|
+
static generateConfigForImport(scope, importToId, importFromId, provider) {
|
|
667
|
+
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_gateway_snat", importId: importFromId, provider });
|
|
668
|
+
}
|
|
669
|
+
// ===========
|
|
670
|
+
// INITIALIZER
|
|
671
|
+
// ===========
|
|
672
|
+
/**
|
|
673
|
+
* Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/gateway_snat aviatrix_gateway_snat} Resource
|
|
674
|
+
*
|
|
675
|
+
* @param scope The scope in which to define this construct
|
|
676
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
677
|
+
* @param options GatewaySnatConfig
|
|
678
|
+
*/
|
|
679
|
+
constructor(scope, id, config) {
|
|
680
|
+
super(scope, id, {
|
|
681
|
+
terraformResourceType: 'aviatrix_gateway_snat',
|
|
682
|
+
terraformGeneratorMetadata: {
|
|
683
|
+
providerName: 'aviatrix',
|
|
684
|
+
providerVersion: '8.1.10',
|
|
685
|
+
providerVersionConstraint: '8.1.10'
|
|
686
|
+
},
|
|
687
|
+
provider: config.provider,
|
|
688
|
+
dependsOn: config.dependsOn,
|
|
689
|
+
count: config.count,
|
|
690
|
+
lifecycle: config.lifecycle,
|
|
691
|
+
provisioners: config.provisioners,
|
|
692
|
+
connection: config.connection,
|
|
693
|
+
forEach: config.forEach
|
|
694
|
+
});
|
|
695
|
+
this._gwName = config.gwName;
|
|
696
|
+
this._id = config.id;
|
|
697
|
+
this._snatMode = config.snatMode;
|
|
698
|
+
this._syncToHa = config.syncToHa;
|
|
699
|
+
this._snatPolicy.internalValue = config.snatPolicy;
|
|
700
|
+
}
|
|
701
|
+
// ==========
|
|
702
|
+
// ATTRIBUTES
|
|
703
|
+
// ==========
|
|
704
|
+
// connection_policy - computed: true, optional: false, required: false
|
|
705
|
+
_connectionPolicy = new GatewaySnatConnectionPolicyList(this, "connection_policy", false);
|
|
706
|
+
get connectionPolicy() {
|
|
707
|
+
return this._connectionPolicy;
|
|
708
|
+
}
|
|
709
|
+
// gw_name - computed: false, optional: false, required: true
|
|
710
|
+
_gwName;
|
|
711
|
+
get gwName() {
|
|
712
|
+
return this.getStringAttribute('gw_name');
|
|
713
|
+
}
|
|
714
|
+
set gwName(value) {
|
|
715
|
+
this._gwName = value;
|
|
716
|
+
}
|
|
717
|
+
// Temporarily expose input value. Use with caution.
|
|
718
|
+
get gwNameInput() {
|
|
719
|
+
return this._gwName;
|
|
720
|
+
}
|
|
721
|
+
// id - computed: true, optional: true, required: false
|
|
722
|
+
_id;
|
|
723
|
+
get id() {
|
|
724
|
+
return this.getStringAttribute('id');
|
|
725
|
+
}
|
|
726
|
+
set id(value) {
|
|
727
|
+
this._id = value;
|
|
728
|
+
}
|
|
729
|
+
resetId() {
|
|
730
|
+
this._id = undefined;
|
|
731
|
+
}
|
|
732
|
+
// Temporarily expose input value. Use with caution.
|
|
733
|
+
get idInput() {
|
|
734
|
+
return this._id;
|
|
735
|
+
}
|
|
736
|
+
// interface_policy - computed: true, optional: false, required: false
|
|
737
|
+
_interfacePolicy = new GatewaySnatInterfacePolicyList(this, "interface_policy", false);
|
|
738
|
+
get interfacePolicy() {
|
|
739
|
+
return this._interfacePolicy;
|
|
740
|
+
}
|
|
741
|
+
// snat_mode - computed: false, optional: true, required: false
|
|
742
|
+
_snatMode;
|
|
743
|
+
get snatMode() {
|
|
744
|
+
return this.getStringAttribute('snat_mode');
|
|
745
|
+
}
|
|
746
|
+
set snatMode(value) {
|
|
747
|
+
this._snatMode = value;
|
|
748
|
+
}
|
|
749
|
+
resetSnatMode() {
|
|
750
|
+
this._snatMode = undefined;
|
|
751
|
+
}
|
|
752
|
+
// Temporarily expose input value. Use with caution.
|
|
753
|
+
get snatModeInput() {
|
|
754
|
+
return this._snatMode;
|
|
755
|
+
}
|
|
756
|
+
// sync_to_ha - computed: false, optional: true, required: false
|
|
757
|
+
_syncToHa;
|
|
758
|
+
get syncToHa() {
|
|
759
|
+
return this.getBooleanAttribute('sync_to_ha');
|
|
760
|
+
}
|
|
761
|
+
set syncToHa(value) {
|
|
762
|
+
this._syncToHa = value;
|
|
763
|
+
}
|
|
764
|
+
resetSyncToHa() {
|
|
765
|
+
this._syncToHa = undefined;
|
|
766
|
+
}
|
|
767
|
+
// Temporarily expose input value. Use with caution.
|
|
768
|
+
get syncToHaInput() {
|
|
769
|
+
return this._syncToHa;
|
|
770
|
+
}
|
|
771
|
+
// snat_policy - computed: false, optional: true, required: false
|
|
772
|
+
_snatPolicy = new GatewaySnatSnatPolicyList(this, "snat_policy", false);
|
|
773
|
+
get snatPolicy() {
|
|
774
|
+
return this._snatPolicy;
|
|
775
|
+
}
|
|
776
|
+
putSnatPolicy(value) {
|
|
777
|
+
this._snatPolicy.internalValue = value;
|
|
778
|
+
}
|
|
779
|
+
resetSnatPolicy() {
|
|
780
|
+
this._snatPolicy.internalValue = undefined;
|
|
781
|
+
}
|
|
782
|
+
// Temporarily expose input value. Use with caution.
|
|
783
|
+
get snatPolicyInput() {
|
|
784
|
+
return this._snatPolicy.internalValue;
|
|
785
|
+
}
|
|
786
|
+
// =========
|
|
787
|
+
// SYNTHESIS
|
|
788
|
+
// =========
|
|
789
|
+
synthesizeAttributes() {
|
|
790
|
+
return {
|
|
791
|
+
gw_name: cdktf.stringToTerraform(this._gwName),
|
|
792
|
+
id: cdktf.stringToTerraform(this._id),
|
|
793
|
+
snat_mode: cdktf.stringToTerraform(this._snatMode),
|
|
794
|
+
sync_to_ha: cdktf.booleanToTerraform(this._syncToHa),
|
|
795
|
+
snat_policy: cdktf.listMapper(gatewaySnatSnatPolicyToTerraform, true)(this._snatPolicy.internalValue),
|
|
796
|
+
};
|
|
797
|
+
}
|
|
798
|
+
synthesizeHclAttributes() {
|
|
799
|
+
const attrs = {
|
|
800
|
+
gw_name: {
|
|
801
|
+
value: cdktf.stringToHclTerraform(this._gwName),
|
|
802
|
+
isBlock: false,
|
|
803
|
+
type: "simple",
|
|
804
|
+
storageClassType: "string",
|
|
805
|
+
},
|
|
806
|
+
id: {
|
|
807
|
+
value: cdktf.stringToHclTerraform(this._id),
|
|
808
|
+
isBlock: false,
|
|
809
|
+
type: "simple",
|
|
810
|
+
storageClassType: "string",
|
|
811
|
+
},
|
|
812
|
+
snat_mode: {
|
|
813
|
+
value: cdktf.stringToHclTerraform(this._snatMode),
|
|
814
|
+
isBlock: false,
|
|
815
|
+
type: "simple",
|
|
816
|
+
storageClassType: "string",
|
|
817
|
+
},
|
|
818
|
+
sync_to_ha: {
|
|
819
|
+
value: cdktf.booleanToHclTerraform(this._syncToHa),
|
|
820
|
+
isBlock: false,
|
|
821
|
+
type: "simple",
|
|
822
|
+
storageClassType: "boolean",
|
|
823
|
+
},
|
|
824
|
+
snat_policy: {
|
|
825
|
+
value: cdktf.listMapperHcl(gatewaySnatSnatPolicyToHclTerraform, true)(this._snatPolicy.internalValue),
|
|
826
|
+
isBlock: true,
|
|
827
|
+
type: "list",
|
|
828
|
+
storageClassType: "GatewaySnatSnatPolicyList",
|
|
829
|
+
},
|
|
830
|
+
};
|
|
831
|
+
// remove undefined attributes
|
|
832
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
833
|
+
}
|
|
834
|
+
}
|