/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type IpAddress = string; export type Protocol = string; export type Port = number; export type ResourceArn = string; /** * Resource schema for AWS::EC2::NetworkInsightsAnalysis */ export interface AwsEc2Networkinsightsanalysis { Status?: "running" | "failed" | "succeeded"; ReturnPathComponents?: PathComponent[]; NetworkInsightsAnalysisId?: string; NetworkInsightsPathId: string; NetworkPathFound?: boolean; SuggestedAccounts?: string[]; FilterInArns?: ResourceArn[]; NetworkInsightsAnalysisArn?: string; StatusMessage?: string; StartDate?: string; AlternatePathHints?: AlternatePathHint[]; Explanations?: Explanation[]; ForwardPathComponents?: PathComponent[]; AdditionalAccounts?: string[]; Tags?: Tag[]; } export interface PathComponent { AdditionalDetails?: AdditionalDetail[]; InboundHeader?: AnalysisPacketHeader; Vpc?: AnalysisComponent; DestinationVpc?: AnalysisComponent; SecurityGroupRule?: AnalysisSecurityGroupRule; TransitGateway?: AnalysisComponent; ElasticLoadBalancerListener?: AnalysisComponent; Explanations?: Explanation[]; ServiceName?: string; SequenceNumber?: number; SourceVpc?: AnalysisComponent; OutboundHeader?: AnalysisPacketHeader; AclRule?: AnalysisAclRule; TransitGatewayRouteTableRoute?: TransitGatewayRouteTableRoute; Component?: AnalysisComponent; Subnet?: AnalysisComponent; RouteTableRoute?: AnalysisRouteTableRoute; } export interface AdditionalDetail { ServiceName?: string; AdditionalDetailType?: string; LoadBalancers?: AnalysisComponent[]; Component?: AnalysisComponent; } export interface AnalysisComponent { Id?: string; Arn?: string; } export interface AnalysisPacketHeader { DestinationPortRanges?: PortRange[]; SourcePortRanges?: PortRange[]; DestinationAddresses?: IpAddress[]; Protocol?: Protocol; SourceAddresses?: IpAddress[]; } export interface PortRange { From?: number; To?: number; } export interface AnalysisSecurityGroupRule { PortRange?: PortRange; Cidr?: string; PrefixListId?: string; SecurityGroupId?: string; Protocol?: Protocol; Direction?: string; } export interface Explanation { VpnGateway?: AnalysisComponent; PacketField?: string; TransitGatewayAttachment?: AnalysisComponent; Protocols?: Protocol[]; IngressRouteTable?: AnalysisComponent; ClassicLoadBalancerListener?: AnalysisLoadBalancerListener; VpcPeeringConnection?: AnalysisComponent; Address?: IpAddress; Port?: Port; Addresses?: IpAddress[]; ElasticLoadBalancerListener?: AnalysisComponent; TransitGatewayRouteTable?: AnalysisComponent; ExplanationCode?: string; InternetGateway?: AnalysisComponent; SourceVpc?: AnalysisComponent; AttachedTo?: AnalysisComponent; PrefixList?: AnalysisComponent; TransitGatewayRouteTableRoute?: TransitGatewayRouteTableRoute; ComponentRegion?: string; LoadBalancerTargetGroup?: AnalysisComponent; NetworkInterface?: AnalysisComponent; CustomerGateway?: AnalysisComponent; DestinationVpc?: AnalysisComponent; SecurityGroup?: AnalysisComponent; TransitGateway?: AnalysisComponent; RouteTable?: AnalysisComponent; State?: string; LoadBalancerListenerPort?: Port; vpcEndpoint?: AnalysisComponent; Subnet?: AnalysisComponent; Cidrs?: string[]; Destination?: AnalysisComponent; SecurityGroups?: AnalysisComponent[]; ComponentAccount?: string; VpnConnection?: AnalysisComponent; Vpc?: AnalysisComponent; NatGateway?: AnalysisComponent; Direction?: string; LoadBalancerTargetPort?: Port; LoadBalancerTarget?: AnalysisLoadBalancerTarget; LoadBalancerTargetGroups?: AnalysisComponent[]; Component?: AnalysisComponent; MissingComponent?: string; RouteTableRoute?: AnalysisRouteTableRoute; AvailabilityZones?: string[]; PortRanges?: PortRange[]; Acl?: AnalysisComponent; SecurityGroupRule?: AnalysisSecurityGroupRule; SubnetRouteTable?: AnalysisComponent; LoadBalancerArn?: ResourceArn; AclRule?: AnalysisAclRule; } export interface AnalysisLoadBalancerListener { InstancePort?: Port; LoadBalancerPort?: Port; } export interface TransitGatewayRouteTableRoute { PrefixListId?: string; ResourceId?: string; State?: string; ResourceType?: string; RouteOrigin?: string; DestinationCidr?: string; AttachmentId?: string; } export interface AnalysisLoadBalancerTarget { Address?: IpAddress; Instance?: AnalysisComponent; Port?: Port; AvailabilityZone?: string; } export interface AnalysisRouteTableRoute { Origin?: string; destinationPrefixListId?: string; destinationCidr?: string; NetworkInterfaceId?: string; TransitGatewayId?: string; VpcPeeringConnectionId?: string; instanceId?: string; State?: string; egressOnlyInternetGatewayId?: string; NatGatewayId?: string; gatewayId?: string; } export interface AnalysisAclRule { PortRange?: PortRange; Cidr?: string; RuleAction?: string; Egress?: boolean; RuleNumber?: number; Protocol?: Protocol; } export interface AlternatePathHint { ComponentArn?: string; ComponentId?: string; } export interface Tag { Value?: string; Key: string; }