"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DsEc2NetworkInsightsAnalysis = exports.Filter = exports.Explanations = exports.NatGateway = exports.Destination = exports.TransitGatewayRouteTable = exports.TransitGatewayAttachment = exports.SubnetRouteTable = exports.PortRanges = exports.Acl = exports.CustomerGateway = exports.PrefixList = exports.LoadBalancerTargetGroup = exports.ElasticLoadBalancerListener = exports.RouteTable = exports.SecurityGroup = exports.VpcEndpoint = exports.LoadBalancerTargetGroups = exports.NetworkInterface = exports.SecurityGroups = exports.ClassicLoadBalancerListener = exports.InternetGateway = exports.VpnGateway = exports.IngressRouteTable = exports.VpcPeeringConnection = exports.VpnConnection = exports.ReturnPathComponents = exports.ForwardPathComponents = exports.TransitGateway = exports.RouteTableRoute = exports.AclRule = exports.Subnet = exports.InboundHeader = exports.SourceVpc = exports.DestinationVpc = exports.TransitGatewayRouteTableRoute = exports.AttachedTo = exports.SecurityGroupRule = exports.PortRange = exports.AdditionalDetails = exports.Component = exports.OutboundHeader = exports.DestinationPortRanges = exports.SourcePortRanges = exports.Vpc = exports.AlternatePathHints = void 0;
const core = __importStar(require("@terrascript/core"));
class AlternatePathHints extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AlternatePathHints.prototype, "componentArn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AlternatePathHints.prototype, "componentId", void 0);
exports.AlternatePathHints = AlternatePathHints;
class Vpc extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Vpc.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Vpc.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Vpc.prototype, "name", void 0);
exports.Vpc = Vpc;
class SourcePortRanges extends core.Schema {
}
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], SourcePortRanges.prototype, "from", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], SourcePortRanges.prototype, "to", void 0);
exports.SourcePortRanges = SourcePortRanges;
class DestinationPortRanges extends core.Schema {
}
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], DestinationPortRanges.prototype, "from", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], DestinationPortRanges.prototype, "to", void 0);
exports.DestinationPortRanges = DestinationPortRanges;
class OutboundHeader extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], OutboundHeader.prototype, "destinationAddresses", void 0);
__decorate([
    core.attr(DestinationPortRanges, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], OutboundHeader.prototype, "destinationPortRanges", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], OutboundHeader.prototype, "protocol", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], OutboundHeader.prototype, "sourceAddresses", void 0);
__decorate([
    core.attr(SourcePortRanges, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], OutboundHeader.prototype, "sourcePortRanges", void 0);
exports.OutboundHeader = OutboundHeader;
class Component extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Component.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Component.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Component.prototype, "name", void 0);
exports.Component = Component;
class AdditionalDetails extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AdditionalDetails.prototype, "additionalDetailType", void 0);
__decorate([
    core.attr(Component, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], AdditionalDetails.prototype, "component", void 0);
exports.AdditionalDetails = AdditionalDetails;
class PortRange extends core.Schema {
}
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], PortRange.prototype, "from", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], PortRange.prototype, "to", void 0);
exports.PortRange = PortRange;
class SecurityGroupRule extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroupRule.prototype, "cidr", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroupRule.prototype, "direction", void 0);
__decorate([
    core.attr(PortRange, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], SecurityGroupRule.prototype, "portRange", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroupRule.prototype, "prefixListId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroupRule.prototype, "protocol", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroupRule.prototype, "securityGroupId", void 0);
exports.SecurityGroupRule = SecurityGroupRule;
class AttachedTo extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AttachedTo.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AttachedTo.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AttachedTo.prototype, "name", void 0);
exports.AttachedTo = AttachedTo;
class TransitGatewayRouteTableRoute extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTableRoute.prototype, "attachmentId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTableRoute.prototype, "destinationCidr", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTableRoute.prototype, "prefixListId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTableRoute.prototype, "resourceId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTableRoute.prototype, "resourceType", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTableRoute.prototype, "routeOrigin", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTableRoute.prototype, "state", void 0);
exports.TransitGatewayRouteTableRoute = TransitGatewayRouteTableRoute;
class DestinationVpc extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DestinationVpc.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DestinationVpc.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DestinationVpc.prototype, "name", void 0);
exports.DestinationVpc = DestinationVpc;
class SourceVpc extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SourceVpc.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SourceVpc.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SourceVpc.prototype, "name", void 0);
exports.SourceVpc = SourceVpc;
class InboundHeader extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], InboundHeader.prototype, "destinationAddresses", void 0);
__decorate([
    core.attr(DestinationPortRanges, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], InboundHeader.prototype, "destinationPortRanges", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], InboundHeader.prototype, "protocol", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], InboundHeader.prototype, "sourceAddresses", void 0);
__decorate([
    core.attr(SourcePortRanges, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], InboundHeader.prototype, "sourcePortRanges", void 0);
exports.InboundHeader = InboundHeader;
class Subnet extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Subnet.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Subnet.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Subnet.prototype, "name", void 0);
exports.Subnet = Subnet;
class AclRule extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AclRule.prototype, "cidr", void 0);
__decorate([
    core.attr(Boolean, { computed: true }),
    __metadata("design:type", Object)
], AclRule.prototype, "egress", void 0);
__decorate([
    core.attr(PortRange, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], AclRule.prototype, "portRange", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AclRule.prototype, "protocol", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], AclRule.prototype, "ruleAction", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], AclRule.prototype, "ruleNumber", void 0);
exports.AclRule = AclRule;
class RouteTableRoute extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "destinationCidr", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "destinationPrefixListId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "egressOnlyInternetGatewayId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "gatewayId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "instanceId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "natGatewayId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "networkInterfaceId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "origin", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "transitGatewayId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTableRoute.prototype, "vpcPeeringConnectionId", void 0);
exports.RouteTableRoute = RouteTableRoute;
class TransitGateway extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGateway.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGateway.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGateway.prototype, "name", void 0);
exports.TransitGateway = TransitGateway;
class ForwardPathComponents extends core.Schema {
}
__decorate([
    core.attr(AclRule, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "aclRule", void 0);
__decorate([
    core.attr(AdditionalDetails, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "additionalDetails", void 0);
__decorate([
    core.attr(AttachedTo, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "attachedTo", void 0);
__decorate([
    core.attr(Component, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "component", void 0);
__decorate([
    core.attr(DestinationVpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "destinationVpc", void 0);
__decorate([
    core.attr(InboundHeader, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "inboundHeader", void 0);
__decorate([
    core.attr(OutboundHeader, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "outboundHeader", void 0);
__decorate([
    core.attr(RouteTableRoute, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "routeTableRoute", void 0);
__decorate([
    core.attr(SecurityGroupRule, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "securityGroupRule", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "sequenceNumber", void 0);
__decorate([
    core.attr(SourceVpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "sourceVpc", void 0);
__decorate([
    core.attr(Subnet, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "subnet", void 0);
__decorate([
    core.attr(TransitGateway, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "transitGateway", void 0);
__decorate([
    core.attr(TransitGatewayRouteTableRoute, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "transitGatewayRouteTableRoute", void 0);
__decorate([
    core.attr(Vpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ForwardPathComponents.prototype, "vpc", void 0);
exports.ForwardPathComponents = ForwardPathComponents;
class ReturnPathComponents extends core.Schema {
}
__decorate([
    core.attr(AclRule, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "aclRule", void 0);
__decorate([
    core.attr(AdditionalDetails, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "additionalDetails", void 0);
__decorate([
    core.attr(AttachedTo, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "attachedTo", void 0);
__decorate([
    core.attr(Component, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "component", void 0);
__decorate([
    core.attr(DestinationVpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "destinationVpc", void 0);
__decorate([
    core.attr(InboundHeader, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "inboundHeader", void 0);
__decorate([
    core.attr(OutboundHeader, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "outboundHeader", void 0);
__decorate([
    core.attr(RouteTableRoute, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "routeTableRoute", void 0);
__decorate([
    core.attr(SecurityGroupRule, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "securityGroupRule", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "sequenceNumber", void 0);
__decorate([
    core.attr(SourceVpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "sourceVpc", void 0);
__decorate([
    core.attr(Subnet, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "subnet", void 0);
__decorate([
    core.attr(TransitGateway, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "transitGateway", void 0);
__decorate([
    core.attr(TransitGatewayRouteTableRoute, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "transitGatewayRouteTableRoute", void 0);
__decorate([
    core.attr(Vpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], ReturnPathComponents.prototype, "vpc", void 0);
exports.ReturnPathComponents = ReturnPathComponents;
class VpnConnection extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpnConnection.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpnConnection.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpnConnection.prototype, "name", void 0);
exports.VpnConnection = VpnConnection;
class VpcPeeringConnection extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpcPeeringConnection.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpcPeeringConnection.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpcPeeringConnection.prototype, "name", void 0);
exports.VpcPeeringConnection = VpcPeeringConnection;
class IngressRouteTable extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], IngressRouteTable.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], IngressRouteTable.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], IngressRouteTable.prototype, "name", void 0);
exports.IngressRouteTable = IngressRouteTable;
class VpnGateway extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpnGateway.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpnGateway.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpnGateway.prototype, "name", void 0);
exports.VpnGateway = VpnGateway;
class InternetGateway extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], InternetGateway.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], InternetGateway.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], InternetGateway.prototype, "name", void 0);
exports.InternetGateway = InternetGateway;
class ClassicLoadBalancerListener extends core.Schema {
}
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], ClassicLoadBalancerListener.prototype, "instancePort", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], ClassicLoadBalancerListener.prototype, "loadBalancerPort", void 0);
exports.ClassicLoadBalancerListener = ClassicLoadBalancerListener;
class SecurityGroups extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroups.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroups.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroups.prototype, "name", void 0);
exports.SecurityGroups = SecurityGroups;
class NetworkInterface extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], NetworkInterface.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], NetworkInterface.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], NetworkInterface.prototype, "name", void 0);
exports.NetworkInterface = NetworkInterface;
class LoadBalancerTargetGroups extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], LoadBalancerTargetGroups.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], LoadBalancerTargetGroups.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], LoadBalancerTargetGroups.prototype, "name", void 0);
exports.LoadBalancerTargetGroups = LoadBalancerTargetGroups;
class VpcEndpoint extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpcEndpoint.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpcEndpoint.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], VpcEndpoint.prototype, "name", void 0);
exports.VpcEndpoint = VpcEndpoint;
class SecurityGroup extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroup.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroup.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SecurityGroup.prototype, "name", void 0);
exports.SecurityGroup = SecurityGroup;
class RouteTable extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTable.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTable.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], RouteTable.prototype, "name", void 0);
exports.RouteTable = RouteTable;
class ElasticLoadBalancerListener extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], ElasticLoadBalancerListener.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], ElasticLoadBalancerListener.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], ElasticLoadBalancerListener.prototype, "name", void 0);
exports.ElasticLoadBalancerListener = ElasticLoadBalancerListener;
class LoadBalancerTargetGroup extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], LoadBalancerTargetGroup.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], LoadBalancerTargetGroup.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], LoadBalancerTargetGroup.prototype, "name", void 0);
exports.LoadBalancerTargetGroup = LoadBalancerTargetGroup;
class PrefixList extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], PrefixList.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], PrefixList.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], PrefixList.prototype, "name", void 0);
exports.PrefixList = PrefixList;
class CustomerGateway extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], CustomerGateway.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], CustomerGateway.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], CustomerGateway.prototype, "name", void 0);
exports.CustomerGateway = CustomerGateway;
class Acl extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Acl.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Acl.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Acl.prototype, "name", void 0);
exports.Acl = Acl;
class PortRanges extends core.Schema {
}
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], PortRanges.prototype, "from", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], PortRanges.prototype, "to", void 0);
exports.PortRanges = PortRanges;
class SubnetRouteTable extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SubnetRouteTable.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SubnetRouteTable.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], SubnetRouteTable.prototype, "name", void 0);
exports.SubnetRouteTable = SubnetRouteTable;
class TransitGatewayAttachment extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayAttachment.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayAttachment.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayAttachment.prototype, "name", void 0);
exports.TransitGatewayAttachment = TransitGatewayAttachment;
class TransitGatewayRouteTable extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTable.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTable.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TransitGatewayRouteTable.prototype, "name", void 0);
exports.TransitGatewayRouteTable = TransitGatewayRouteTable;
class Destination extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Destination.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Destination.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Destination.prototype, "name", void 0);
exports.Destination = Destination;
class NatGateway extends core.Schema {
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], NatGateway.prototype, "arn", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], NatGateway.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], NatGateway.prototype, "name", void 0);
exports.NatGateway = NatGateway;
class Explanations extends core.Schema {
}
__decorate([
    core.attr(Acl, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "acl", void 0);
__decorate([
    core.attr(AclRule, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "aclRule", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "address", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "addresses", void 0);
__decorate([
    core.attr(AttachedTo, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "attachedTo", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "availabilityZones", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "cidrs", void 0);
__decorate([
    core.attr(ClassicLoadBalancerListener, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "classicLoadBalancerListener", void 0);
__decorate([
    core.attr(Component, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "component", void 0);
__decorate([
    core.attr(CustomerGateway, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "customerGateway", void 0);
__decorate([
    core.attr(Destination, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "destination", void 0);
__decorate([
    core.attr(DestinationVpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "destinationVpc", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "direction", void 0);
__decorate([
    core.attr(ElasticLoadBalancerListener, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "elasticLoadBalancerListener", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "explanationCode", void 0);
__decorate([
    core.attr(IngressRouteTable, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "ingressRouteTable", void 0);
__decorate([
    core.attr(InternetGateway, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "internetGateway", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "loadBalancerArn", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "loadBalancerListenerPort", void 0);
__decorate([
    core.attr(LoadBalancerTargetGroup, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "loadBalancerTargetGroup", void 0);
__decorate([
    core.attr(LoadBalancerTargetGroups, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "loadBalancerTargetGroups", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "loadBalancerTargetPort", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "missingComponent", void 0);
__decorate([
    core.attr(NatGateway, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "natGateway", void 0);
__decorate([
    core.attr(NetworkInterface, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "networkInterface", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "packetField", void 0);
__decorate([
    core.attr(Number, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "port", void 0);
__decorate([
    core.attr(PortRanges, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "portRanges", void 0);
__decorate([
    core.attr(PrefixList, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "prefixList", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "protocols", void 0);
__decorate([
    core.attr(RouteTable, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "routeTable", void 0);
__decorate([
    core.attr(RouteTableRoute, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "routeTableRoute", void 0);
__decorate([
    core.attr(SecurityGroup, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "securityGroup", void 0);
__decorate([
    core.attr(SecurityGroupRule, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "securityGroupRule", void 0);
__decorate([
    core.attr(SecurityGroups, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "securityGroups", void 0);
__decorate([
    core.attr(SourceVpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "sourceVpc", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], Explanations.prototype, "state", void 0);
__decorate([
    core.attr(Subnet, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "subnet", void 0);
__decorate([
    core.attr(SubnetRouteTable, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "subnetRouteTable", void 0);
__decorate([
    core.attr(TransitGateway, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "transitGateway", void 0);
__decorate([
    core.attr(TransitGatewayAttachment, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "transitGatewayAttachment", void 0);
__decorate([
    core.attr(TransitGatewayRouteTable, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "transitGatewayRouteTable", void 0);
__decorate([
    core.attr(TransitGatewayRouteTableRoute, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "transitGatewayRouteTableRoute", void 0);
__decorate([
    core.attr(Vpc, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "vpc", void 0);
__decorate([
    core.attr(VpcEndpoint, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "vpcEndpoint", void 0);
__decorate([
    core.attr(VpcPeeringConnection, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "vpcPeeringConnection", void 0);
__decorate([
    core.attr(VpnConnection, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "vpnConnection", void 0);
__decorate([
    core.attr(VpnGateway, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], Explanations.prototype, "vpnGateway", void 0);
exports.Explanations = Explanations;
class Filter extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Filter.prototype, "name", void 0);
__decorate([
    core.attr(String, { kind: "array" }),
    __metadata("design:type", Object)
], Filter.prototype, "values", void 0);
exports.Filter = Filter;
class DsEc2NetworkInsightsAnalysis extends core.Data {
    constructor(name, args) {
        super(name, "aws_ec2_network_insights_analysis", args);
    }
    getNamespace() {
        return "aws_vpc";
    }
}
__decorate([
    core.attr(AlternatePathHints, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "alternatePathHints", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "arn", void 0);
__decorate([
    core.attr(Explanations, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "explanations", void 0);
__decorate([
    core.attr(Filter, { kind: "array" }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "filter", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "filterInArns", void 0);
__decorate([
    core.attr(ForwardPathComponents, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "forwardPathComponents", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "id", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "networkInsightsAnalysisId", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "networkInsightsPathId", void 0);
__decorate([
    core.attr(Boolean, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "pathFound", void 0);
__decorate([
    core.attr(ReturnPathComponents, { computed: true, kind: "array" }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "returnPathComponents", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "startDate", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "status", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "statusMessage", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "map" }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "tags", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], DsEc2NetworkInsightsAnalysis.prototype, "warningMessage", void 0);
exports.DsEc2NetworkInsightsAnalysis = DsEc2NetworkInsightsAnalysis;
//# sourceMappingURL=ds_ec2_network_insights_analysis.js.map