Skip to content

Commit dfbd4ce

Browse files
authored
update fern (#132)
1 parent 9f95640 commit dfbd4ce

34 files changed

Lines changed: 1142 additions & 683 deletions

File tree

fern/definition/apigateway/enumerate.yml

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ types:
5959
- EVENTBRIDGE_RULE
6060
- HTTP_ENDPOINT
6161
- OTHER
62-
# Resource Relationship Modeling
62+
# Supporting Types
6363
ResourceReference:
6464
properties:
6565
arn: optional<string>
@@ -69,7 +69,6 @@ types:
6969
region: optional<string>
7070
name: optional<string>
7171
description: optional<string>
72-
# API Gateway Structs
7372
AwsProxyIntegration:
7473
properties:
7574
arn: string
@@ -153,60 +152,61 @@ types:
153152
tlsVersions: list<SecurityPolicy>
154153
corsConfigured: boolean
155154
apiKeysRequired: boolean
156-
ApiGatewayBase:
155+
# API Gateway High level structs
156+
ApiGatewayIdentificationInfo:
157157
properties:
158-
version: ApiGatewayVersion
159-
# Common properties
160-
region: string
161158
id: string
162159
name: optional<string>
163-
createdTime: optional<datetime>
160+
region: string
161+
ApiGatewayConfigurationInfo:
162+
properties:
163+
version: ApiGatewayVersion
164164
description: optional<string>
165-
# Security properties (common)
165+
createdTime: optional<datetime>
166166
endpointConfiguration: optional<EndpointType>
167+
executionRoleArn: optional<string>
168+
# V1 (REST API) specific configuration
169+
baseUrl: optional<string>
170+
apiKeySource: optional<string>
171+
stage: optional<string>
172+
clientCertificateId: optional<string>
173+
minimumCompressionSize: optional<integer>
174+
# V2 (HTTP API) specific configuration
175+
apiEndpoint: optional<string>
176+
protocolType: optional<string>
177+
disableExecuteApiEndpoint: optional<boolean>
178+
ApiGatewayResourceInfo:
179+
properties:
167180
certificates: optional<list<Certificate>>
168181
accessLogSettings: optional<AccessLogSettings>
169-
executionRoleArn: optional<string>
182+
# V1 (REST API) specific resources
183+
paths: optional<list<Route>>
184+
apiKeys: optional<list<string>>
185+
usagePlans: optional<list<string>>
186+
# V2 (HTTP API) specific resources
187+
routes: optional<list<Route>>
188+
corsConfiguration: optional<CorsConfiguration>
189+
mutualTlsAuthentication: optional<MutualTlsAuthentication>
190+
authorizers: optional<list<Authorizer>>
170191
# Resource relationships
171192
relatedResources: optional<list<ResourceReference>>
172193
lambdaFunctions: optional<list<ResourceReference>>
173194
cloudwatchLogs: optional<list<ResourceReference>>
174195
iamRoles: optional<list<ResourceReference>>
175196
# Security analysis
176197
securityAnalysis: optional<ApiGatewaySecurity>
177-
RestApiGateway:
178-
extends: ApiGatewayBase
198+
# Main API Gateway structs
199+
ApiGatewayInstance:
179200
properties:
180-
# V1 (REST API) specific properties
181-
baseUrl: string
182-
apiKeySource: optional<string>
183-
stage: string
184-
paths: optional<list<Route>>
185-
apiKeys: optional<list<string>>
186-
usagePlans: optional<list<string>>
187-
clientCertificateId: optional<string>
188-
minimumCompressionSize: optional<integer>
189-
HttpApiGateway:
190-
extends: ApiGatewayBase
191-
properties:
192-
# V2 (HTTP API) specific properties
193-
apiEndpoint: string
194-
protocolType: string
195-
routes: optional<list<Route>>
196-
corsConfiguration: optional<CorsConfiguration>
197-
disableExecuteApiEndpoint: optional<boolean>
198-
mutualTlsAuthentication: optional<MutualTlsAuthentication>
199-
authorizers: optional<list<Authorizer>>
200-
ApiGateway:
201-
union:
202-
rest: RestApiGateway
203-
http: HttpApiGateway
204-
ApiGatewayResult:
201+
identification: ApiGatewayIdentificationInfo
202+
configuration: ApiGatewayConfigurationInfo
203+
resources: optional<ApiGatewayResourceInfo>
204+
ApiGatewayEnumerateResult:
205205
properties:
206-
apis: optional<list<ApiGateway>>
206+
apis: optional<list<ApiGatewayInstance>>
207207
# Report Struct
208208
ApiGatewayEnumerateReport:
209209
properties:
210+
result: ApiGatewayEnumerateResult
210211
config: ApiGatewayEnumerateConfig
211-
result: ApiGatewayResult
212212
errors: optional<list<string>>

fern/definition/cloudfront/enumerate.yml

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,42 @@ types:
1616
- VPC_ORIGIN
1717
- API_GATEWAY
1818
- UNKNOWN
19-
# Result Structs
20-
CloudFrontDistributionOrigin:
19+
# Origin High level Structs
20+
CloudFrontDistributionOriginIdentificationInfo:
2121
properties:
22-
# Core fields
2322
id: string
24-
# CloudFront Distribution Origin fields
25-
domainName: string
23+
domainName: optional<string>
24+
CloudFrontDistributionOriginConfigurationInfo:
25+
properties:
2626
resourceType: CloudFrontResourceType
2727
path: optional<string>
2828
customHeaders: optional<list<string>>
2929
connectionAttempts: optional<integer>
3030
connectionTimeout: optional<integer>
31-
CloudFrontDistribution:
31+
# Origin Main Struct
32+
CloudFrontDistributionOrigin:
33+
properties:
34+
identification: CloudFrontDistributionOriginIdentificationInfo
35+
configuration: CloudFrontDistributionOriginConfigurationInfo
36+
# CloudFront Distribution High level Structs
37+
CloudFrontDistributionIdentificationInfo:
3238
properties:
33-
# Core fields
3439
id: string
35-
# CloudFront Distribution fields
36-
domainName: optional<string>
37-
status: optional<CloudFrontDistributionStatus>
3840
arn: optional<string>
41+
domainName: optional<string>
42+
CloudFrontDistributionConfigurationInfo:
43+
properties:
44+
status: CloudFrontDistributionStatus
3945
comment: optional<string>
40-
# Linked primatives
46+
CloudFrontDistributionResourceInfo:
47+
properties:
4148
origins: optional<list<CloudFrontDistributionOrigin>>
49+
# Main CloudFront Distribution Structs
50+
CloudFrontDistribution:
51+
properties:
52+
identification: CloudFrontDistributionIdentificationInfo
53+
configuration: CloudFrontDistributionConfigurationInfo
54+
resources: optional<CloudFrontDistributionResourceInfo>
4255
CloudFrontEnumerateResult:
4356
properties:
4457
distributions: optional<list<CloudFrontDistribution>>

fern/definition/ec2/enumerate.yml

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json
22

33
types:
4+
# Config
5+
Ec2EnumerateConfig:
6+
properties:
7+
accountId: string
8+
regions: list<string>
9+
# Enums
410
InstanceState:
511
enum:
612
- PENDING
@@ -41,12 +47,7 @@ types:
4147
properties:
4248
key: optional<string>
4349
value: optional<string>
44-
# Config
45-
Ec2EnumerateConfig:
46-
properties:
47-
accountId: string
48-
regions: list<string>
49-
# Result Structs
50+
# Supporting Structs
5051
IamInstanceProfile:
5152
properties:
5253
id: optional<string>
@@ -66,27 +67,37 @@ types:
6667
properties:
6768
id: string
6869
subnetIds: optional<list<string>>
69-
InstanceNetworkInterface:
70+
# Network Interface High level Structs
71+
InstanceNetworkInterfaceIdentificationInfo:
7072
properties:
71-
# Core fields
7273
id: string
73-
# Instance Network Interface fields
74+
arn: optional<string>
75+
region: string
76+
InstanceNetworkInterfaceConfigurationInfo:
77+
properties:
7478
description: optional<string>
7579
ownerId: optional<string>
7680
status: optional<string>
7781
macAddress: optional<string>
7882
privateIpAddress: optional<string>
7983
privateDnsName: optional<string>
8084
sourceDestCheck: optional<boolean>
81-
# Linked primatives
85+
InstanceNetworkInterfaceResourceInfo:
86+
properties:
8287
vpc: VpcInstance
83-
Ec2Instance:
88+
# Main Network Interface Structs
89+
InstanceNetworkInterface:
90+
properties:
91+
identification: InstanceNetworkInterfaceIdentificationInfo
92+
configuration: InstanceNetworkInterfaceConfigurationInfo
93+
resources: optional<InstanceNetworkInterfaceResourceInfo>
94+
# EC2 Instance High level Structs
95+
Ec2InstanceIdentificationInfo:
8496
properties:
85-
# Core fields
8697
id: string
87-
arn: optional<string>
8898
region: string
89-
# EC2 Instance fields
99+
Ec2InstanceConfigurationInfo:
100+
properties:
90101
state: optional<InstanceState>
91102
imageId: optional<string>
92103
keyName: optional<string>
@@ -103,9 +114,16 @@ types:
103114
ebsOptimized: optional<boolean>
104115
name: optional<string>
105116
tags: optional<list<Tag>>
106-
# Linked primatives
117+
Ec2InstanceResourceInfo:
118+
properties:
107119
networkInterfaces: optional<list<InstanceNetworkInterface>>
108120
iamInstanceProfile: optional<IamInstanceProfile>
121+
# EC2 Main Structs
122+
Ec2Instance:
123+
properties:
124+
identification: Ec2InstanceIdentificationInfo
125+
configuration: Ec2InstanceConfigurationInfo
126+
resources: optional<Ec2InstanceResourceInfo>
109127
Ec2EnumerateResult:
110128
properties:
111129
instances: optional<list<Ec2Instance>>

0 commit comments

Comments
 (0)