Skip to content

Commit a33a61f

Browse files
committed
feat: Add vpcEndpoint service
1 parent 13d0560 commit a33a61f

22 files changed

Lines changed: 475 additions & 6 deletions

File tree

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,30 +135,31 @@ CloudGraph AWS Provider will ask you what regions you would like to crawl and wi
135135
| managedAirflow | cloudwatchLog, iamRole, kms, securityGroups, subnet, s3 |
136136
| nacl | vpc |
137137
| natGateway | networkInterface, subnet, vpc |
138-
| networkInterface | ec2, eip, efsMountTarget, natGateway, sageMakerNotebookInstance, subnet, vpc, flowLog, securityGroup |
138+
| networkInterface | ec2, eip, efsMountTarget, natGateway, sageMakerNotebookInstance, subnet, vpc, vpcEndpoint, flowLog, securityGroup |
139139
| organization |
140140
| rdsCluster | appSync, rdsClusterSnapshot, rdsDbInstance, route53HostedZone, securityGroup, subnet, iamRole, kms |
141141
| rdsClusterSnapshot | kms, rdsCluster, vpc |
142142
| rdsDbInstance | kms, iamRole, rdsCluster, securityGroup, vpc, subnet, cloudwatchLog |
143143
| redshiftCluster | kms, vpc |
144144
| route53Record | alb, apiGatewayRestApi, elb, route53HostedZone |
145145
| route53HostedZone | rdsCluster, route53Record, vpc |
146-
| routeTable | subnet, transitGateway, transitGatewayAttachment,vpc |
146+
| routeTable | subnet, transitGateway, transitGatewayAttachment,vpc, vpcEndpoint |
147147
| sageMakerExperiment | |
148148
| sageMakerNotebookInstance | iamRole, kms, networkInterface, subnet, securityGroup |
149149
| sageMakerProject | |
150150
| s3 | cloudfront, cloudtrail, ecsCluster, iamRole, kinesisFirehose, lambda, managedAirflow, sns, sqs |
151151
| secretsManager | kms, lambda |
152-
| securityGroup | alb, asg, clientVpnEndpoint, codebuild, dmsReplicationInstance, ecsService, lambda, ec2, elasticSearchDomain, elb, rdsCluster, rdsDbInstance, eksCluster, elastiCacheCluster, managedAirflow, sageMakerNotebookInstance, networkInterface |
152+
| securityGroup | alb, asg, clientVpnEndpoint, codebuild, dmsReplicationInstance, ecsService, lambda, ec2, elasticSearchDomain, elb, rdsCluster, rdsDbInstance, eksCluster, elastiCacheCluster, managedAirflow, sageMakerNotebookInstance, networkInterface, vpcEndpoint |
153153
| ses | |
154154
| sns | kms, cloudtrail, cloudwatch, s3 |
155155
| sqs | elasticBeanstalkEnv, s3 |
156-
| subnet | alb, asg, codebuild, dmsReplicationInstance, ec2, ecsService, efsMountTarget, elastiCacheCluster, elasticSearchDomain, elb, lambda, managedAirflow, natGateway, networkInterface, rdsCluster, sageMakerNotebookInstance, routeTable, vpc, eksCluster, emrCluster, flowLog |
156+
| subnet | alb, asg, codebuild, dmsReplicationInstance, ec2, ecsService, efsMountTarget, elastiCacheCluster, elasticSearchDomain, elb, lambda, managedAirflow, natGateway, networkInterface, rdsCluster, sageMakerNotebookInstance, routeTable, vpc, vpcEndpoint, eksCluster, emrCluster, flowLog |
157157
| systemsManagerInstance | ec2, iamRole |
158158
| systemsManagerDocument | |
159159
| transitGateway | routeTable, transitGatewayAttachment, vpnConnection |
160160
| transitGatewayAttachment | routeTable, transitGateway, vpc, vpnConnection |
161161
| vpc | alb, codebuild, dmsReplicationInstance, ec2, eip, elb, ecsService, efsMountTarget, eksCluster igw, elastiCacheCluster, elasticSearchDomain, lambda, nacl, natGateway, networkInterface, rdsClusterSnapshot, rdsDbInstance, redshiftCluster, route53HostedZone, routeTable, subnet, flowLog, vpnGateway, transitGatewayAttachment |
162+
| vpcEndpoint | networkInterface, routeTable, securityGroup, subnet, vpc |
162163
| vpnConnection | customerGateway, transitGateway, transitGatewayAttachment, vpnGateway |
163164
| vpnGateway | vpc, vpnConnection |
164165
| wafV2WebAcl | appSync, apiGatewayStage, alb |

src/enums/schemasMap.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ export default {
7676
[services.sg]: 'awsSecurityGroup',
7777
[services.subnet]: 'awsSubnet',
7878
[services.vpc]: 'awsVpc',
79+
[services.vpcEndpoint]: 'awsVpcEndpoint',
7980
[services.vpnGateway]: 'awsVpnGateway',
8081
[services.sqs]: 'awsSqs',
8182
[services.rdsCluster]: 'awsRdsCluster',

src/enums/serviceAliases.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,5 +67,6 @@ export default {
6767
[services.systemsManagerDocument]: 'systemsManagerDocuments',
6868
[services.systemsManagerInstance]: 'systemsManagerInstances',
6969
[services.transitGatewayAttachment]: 'transitGatewayAttachments',
70+
[services.vpcEndpoint]: 'vpcEndpoints',
7071
[services.vpnConnection]: 'vpnConnections',
7172
}

src/enums/serviceMap.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ import SageMakerNotebookInstance from '../services/sageMakerNotebookInstance'
9595
import SystemsManagerInstance from '../services/systemsManagerInstance'
9696
import SystemsManagerDocument from '../services/systemsManagerDocument'
9797
import RdsClusterSnapshot from '../services/rdsClusterSnapshot'
98+
import VpcEndpoint from '../services/vpcEndpoint'
9899

99100
/**
100101
* serviceMap is an object that contains all currently supported services for AWS
@@ -157,6 +158,7 @@ export default {
157158
[services.sg]: AwsSecurityGroup,
158159
[services.subnet]: AwsSubnet,
159160
[services.vpc]: VPC,
161+
[services.vpcEndpoint]: VpcEndpoint,
160162
[services.sqs]: SQS,
161163
[services.rdsCluster]: RDSCluster,
162164
[services.rdsClusterSnapshot]: RdsClusterSnapshot,

src/enums/services.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export default {
9090
transitGateway: 'transitGateway',
9191
transitGatewayAttachment: 'transitGatewayAttachment',
9292
vpc: 'vpc',
93+
vpcEndpoint: 'vpcEndpoint',
9394
vpnConnection: 'vpnConnection',
9495
vpnGateway: 'vpnGateway',
9596
wafV2WebAcl: 'wafV2WebAcl',

src/properties/logger.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,4 +668,8 @@ export default {
668668
* Configuration Recorder Status
669669
*/
670670
fetchedConfigurationRecorderStatus: (num: number): string => `Fetched ${num} Configuration Recorder Status`,
671+
/**
672+
* Vpc Endpoints
673+
*/
674+
fetchedVpcEndpoints: (num: number): string => `Fetched ${num} Vpc Endpoints`,
671675
}

src/services/account/schema.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ type awsAccount implements awsOptionalService @key(fields: "id") {
9191
transitGateway: [awsTransitGateway]
9292
transitGatewayAttachments: [awsTransitGatewayAttachment]
9393
vpc: [awsVpc]
94+
vpcEndpoints: [awsVpcEndpoint]
9495
vpnConnections: [awsVpnConnection]
9596
vpnGateway: [awsVpnGateway]
9697
wafV2WebAcl: [awsWafV2WebAcl]

src/services/networkInterface/schema.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ type awsNetworkInterface implements awsBaseService @key(fields: "arn") {
2121
sageMakerNotebookInstances: [awsSageMakerNotebookInstance]
2222
@hasInverse(field: networkInterface)
2323
securityGroups: [awsSecurityGroup] @hasInverse(field: networkInterfaces)
24+
vpcEndpoint: [awsVpcEndpoint] @hasInverse(field: networkInterfaces)
2425
}
2526

2627
type awsNetworkInterfaceAttachment

src/services/routeTable/schema.graphql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ type awsRouteTable implements awsBaseService @key(fields: "arn") {
88
subnet: [awsSubnet] @hasInverse(field: routeTable) #change to plural
99
vpc: [awsVpc] @hasInverse(field: routeTables)
1010
transitGateway: [awsTransitGateway] @hasInverse(field: routeTable)
11-
transitGatewayAttachment: [awsTransitGatewayAttachment]
12-
@hasInverse(field: routeTable)
11+
transitGatewayAttachment: [awsTransitGatewayAttachment] @hasInverse(field: routeTable)
12+
vpcEndpoints: [awsVpcEndpoint] @hasInverse(field: routeTables)
1313
}
1414

1515
type awsRoute

src/services/securityGroup/schema.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type awsSecurityGroup implements awsBaseService @key(fields: "id") {
2929
@hasInverse(field: securityGroups)
3030
sageMakerNotebookInstances: [awsSageMakerNotebookInstance]
3131
@hasInverse(field: securityGroups)
32+
vpcEndpoints: [awsVpcEndpoint] @hasInverse(field: securityGroups)
3233
}
3334

3435
type awsSgOutboundRule

0 commit comments

Comments
 (0)