Skip to content

Commit 1688fb9

Browse files
authored
Merge pull request #72 from cloudgraphdev/fix/nat-gateway-fix
fix(services): fix nat gateway service data
2 parents f5f39e6 + 1d0303e commit 1688fb9

3 files changed

Lines changed: 30 additions & 0 deletions

File tree

src/services/natGateway/format.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import cuid from 'cuid'
12
import { AwsNatGateway } from '../../types/generated'
23
import { formatTagsFromMap } from '../../utils/format'
34
import { natGatewayArn } from '../../utils/generateArns'
@@ -20,16 +21,27 @@ export default ({
2021
NatGatewayId: id,
2122
State: state,
2223
CreateTime: createTime,
24+
NatGatewayAddresses: natGatewayAddresses,
2325
Tags
2426
} = rawData
2527

28+
29+
const mappedAddresses = natGatewayAddresses?.map(({ AllocationId, NetworkInterfaceId, PrivateIp, PublicIp }) => ({
30+
id: cuid(),
31+
allocationId: AllocationId,
32+
networkInterfaceId: NetworkInterfaceId,
33+
privateIp: PrivateIp,
34+
publicIp: PublicIp
35+
})) ?? []
36+
2637
return {
2738
id,
2839
tags: formatTagsFromMap(Tags),
2940
accountId: account,
3041
arn: natGatewayArn({ region, account, id }),
3142
region,
3243
state,
44+
natGatewayAddresses: mappedAddresses,
3345
createTime: createTime.toUTCString(),
3446
}
3547
}

src/services/natGateway/schema.graphql

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,17 @@ type awsNatGateway implements awsBaseService @key(fields: "id") {
22
state: String @search(by: [hash, regexp])
33
createTime: String @search(by: [hash, regexp])
44
dailyCost: awsTotalBillingInfo
5+
natGatewayAddresses: [awsNatGatewayAddress]
56
tags: [awsRawTag]
67
networkInterface: [awsNetworkInterface] @hasInverse(field: natGateway) #change to plural
78
subnet: [awsSubnet] @hasInverse(field: natGateway) #change to plural
89
vpc: [awsVpc] @hasInverse(field: natGateways)
910
}
11+
12+
type awsNatGatewayAddress {
13+
id: String! @id
14+
allocationId: String @search(by: [hash, regexp])
15+
networkInterfaceId: String @search(by: [hash, regexp])
16+
privateIp: String @search(by: [hash, regexp])
17+
publicIp: String @search(by: [hash, regexp])
18+
}

src/types/generated.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3518,13 +3518,22 @@ export type AwsMixedInstancesPolicy = {
35183518
export type AwsNatGateway = AwsBaseService & {
35193519
createTime?: Maybe<Scalars['String']>;
35203520
dailyCost?: Maybe<AwsTotalBillingInfo>;
3521+
natGatewayAddresses?: Maybe<Array<Maybe<AwsNatGatewayAddress>>>;
35213522
networkInterface?: Maybe<Array<Maybe<AwsNetworkInterface>>>;
35223523
state?: Maybe<Scalars['String']>;
35233524
subnet?: Maybe<Array<Maybe<AwsSubnet>>>;
35243525
tags?: Maybe<Array<Maybe<AwsRawTag>>>;
35253526
vpc?: Maybe<Array<Maybe<AwsVpc>>>;
35263527
};
35273528

3529+
export type AwsNatGatewayAddress = {
3530+
allocationId?: Maybe<Scalars['String']>;
3531+
id: Scalars['String'];
3532+
networkInterfaceId?: Maybe<Scalars['String']>;
3533+
privateIp?: Maybe<Scalars['String']>;
3534+
publicIp?: Maybe<Scalars['String']>;
3535+
};
3536+
35283537
export type AwsNetworkAcl = AwsBaseService & {
35293538
associatedSubnets?: Maybe<Array<Maybe<AwsNetworkAclAssociatedSubnet>>>;
35303539
default?: Maybe<Scalars['Boolean']>;

0 commit comments

Comments
 (0)