Skip to content

Commit 4baed2c

Browse files
authored
Implement get and list functions (#3)
* Process operations that return array type as list functions in the Pulumi schema. Regenerate the schema and the SDKs. Schema is not yet correct * Enable PR workflow * Working on discriminated types for list functions * Extract generating property specs from allOf schema into a separate method * Delete the top-level types after processing allOf * Regen SDKs * Fix property type for list invokes * Regen SDKs, schema. Implement Invoke. * Generate getters * Regen SDKs * Fix issue with type names * Cleanup * update comment * comments * Regen SDKs * Fix lint errors
1 parent 76b3e84 commit 4baed2c

File tree

142 files changed

+10012
-3154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+10012
-3154
lines changed

.github/workflows/push.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ on:
33
branches:
44
- main
55

6+
pull_request:
7+
branches:
8+
- main
9+
610
env:
711
GOPRIVATE: "github.com/cloudy-sky-software/pulumi-render"
812
PROVIDER: "render"

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ SHELL = /bin/bash
55
PACK := render
66
PACKDIR := sdk
77
PROJECT := github.com/cloudy-sky-software/pulumi-render
8-
NODE_MODULE_NAME := @css/render
9-
NUGET_PKG_NAME := CloudySkySoftware.Pulumi.Render
8+
NODE_MODULE_NAME := @cloudyskysoftware/pulumi-render
9+
NUGET_PKG_NAME := Pulumi.Render
1010

1111
PROVIDER := pulumi-resource-${PACK}
1212
CODEGEN := pulumi-gen-${PACK}

provider/cmd/pulumi-gen-render/openapi.yml

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ components:
4343
owner:
4444
type: object
4545
$ref: "#/components/schemas/owner"
46+
listOwners:
47+
type: array
48+
items:
49+
$ref: "#/components/schemas/listOwnersResponse"
4650
serviceHeader:
4751
description: "A service header object"
4852
type: object
@@ -366,7 +370,7 @@ components:
366370
oneOf:
367371
- $ref: "#/components/schemas/staticSite"
368372
- $ref: "#/components/schemas/webService"
369-
listService:
373+
listServices:
370374
type: array
371375
items:
372376
$ref: "#/components/schemas/listServiceResponse"
@@ -569,9 +573,7 @@ paths:
569573
content:
570574
application/json:
571575
schema:
572-
type: array
573-
items:
574-
$ref: "#/components/schemas/listOwnersResponse"
576+
$ref: "#/components/schemas/listOwners"
575577
example:
576578
- owner:
577579
id: tempor labore voluptate velit dolore
@@ -897,7 +899,7 @@ paths:
897899
content:
898900
application/json:
899901
schema:
900-
$ref: "#/components/schemas/listService"
902+
$ref: "#/components/schemas/listServices"
901903
example:
902904
- service:
903905
id: irure occaecat aute reprehenderit
@@ -1034,9 +1036,9 @@ paths:
10341036
mapping:
10351037
"static_site": "#/components/schemas/staticSite"
10361038
"web_service": "#/components/schemas/webService"
1037-
oneOf:
1038-
- $ref: "#/components/schemas/staticSite"
1039-
- $ref: "#/components/schemas/webService"
1039+
oneOf:
1040+
- $ref: "#/components/schemas/staticSite"
1041+
- $ref: "#/components/schemas/webService"
10401042
example:
10411043
type: web_service
10421044
name: cillum ipsum
@@ -1269,9 +1271,9 @@ paths:
12691271
mapping:
12701272
"static_site": "#/components/schemas/staticSite"
12711273
"web_service": "#/components/schemas/webService"
1272-
oneOf:
1273-
- $ref: "#/components/schemas/staticSite"
1274-
- $ref: "#/components/schemas/webService"
1274+
oneOf:
1275+
- $ref: "#/components/schemas/staticSite"
1276+
- $ref: "#/components/schemas/webService"
12751277
example:
12761278
id: in deserunt laboris dolore
12771279
autoDeploy: "yes"
@@ -1656,9 +1658,9 @@ paths:
16561658
mapping:
16571659
"static_site": "#/components/schemas/staticSite"
16581660
"web_service": "#/components/schemas/webService"
1659-
oneOf:
1660-
- $ref: "#/components/schemas/staticSite"
1661-
- $ref: "#/components/schemas/webService"
1661+
oneOf:
1662+
- $ref: "#/components/schemas/staticSite"
1663+
- $ref: "#/components/schemas/webService"
16621664
parameters:
16631665
- name: Accept
16641666
in: header
@@ -1797,7 +1799,7 @@ paths:
17971799
example:
17981800
id: dolor
17991801
message: sunt Excepteur deserunt dolor
1800-
/services/{id}/env-vars:
1802+
/services/{serviceId}/env-vars:
18011803
get:
18021804
tags:
18031805
- Services
@@ -1822,7 +1824,7 @@ paths:
18221824
type: integer
18231825
description: Max number of items that can be returned
18241826
example: "20"
1825-
- name: id
1827+
- name: serviceId
18261828
in: path
18271829
schema:
18281830
type: string
@@ -2143,7 +2145,7 @@ paths:
21432145
example:
21442146
id: dolor
21452147
message: sunt Excepteur deserunt dolor
2146-
/services/{id}/headers:
2148+
/services/{serviceId}/headers:
21472149
get:
21482150
tags:
21492151
- Services
@@ -2186,7 +2188,7 @@ paths:
21862188
type: integer
21872189
description: Max number of items that can be returned
21882190
example: "20"
2189-
- name: id
2191+
- name: serviceId
21902192
in: path
21912193
schema:
21922194
type: string
@@ -2328,7 +2330,7 @@ paths:
23282330
example:
23292331
id: dolor
23302332
message: sunt Excepteur deserunt dolor
2331-
/services/{id}/routes:
2333+
/services/{serviceId}/routes:
23322334
get:
23332335
tags:
23342336
- Services
@@ -2371,7 +2373,7 @@ paths:
23712373
type: integer
23722374
description: Max number of items that can be returned
23732375
example: "20"
2374-
- name: id
2376+
- name: serviceId
23752377
in: path
23762378
schema:
23772379
type: string
@@ -2513,7 +2515,7 @@ paths:
25132515
example:
25142516
id: dolor
25152517
message: sunt Excepteur deserunt dolor
2516-
/services/{id}/suspend:
2518+
/services/{serviceId}/suspend:
25172519
post:
25182520
tags:
25192521
- Services
@@ -2531,7 +2533,7 @@ paths:
25312533
schema:
25322534
type: string
25332535
example: application/json
2534-
- name: id
2536+
- name: serviceId
25352537
in: path
25362538
schema:
25372539
type: string
@@ -2677,7 +2679,7 @@ paths:
26772679
example:
26782680
id: dolor
26792681
message: sunt Excepteur deserunt dolor
2680-
/services/{id}/resume:
2682+
/services/{serviceId}/resume:
26812683
post:
26822684
tags:
26832685
- Services
@@ -2692,7 +2694,7 @@ paths:
26922694
schema:
26932695
type: string
26942696
example: application/json
2695-
- name: id
2697+
- name: serviceId
26962698
in: path
26972699
schema:
26982700
type: string
@@ -2838,7 +2840,7 @@ paths:
28382840
example:
28392841
id: dolor
28402842
message: sunt Excepteur deserunt dolor
2841-
/services/{id}/scale:
2843+
/services/{serviceId}/scale:
28422844
post:
28432845
tags:
28442846
- Services
@@ -2868,7 +2870,7 @@ paths:
28682870
schema:
28692871
type: string
28702872
example: application/json
2871-
- name: id
2873+
- name: serviceId
28722874
in: path
28732875
schema:
28742876
type: string
@@ -3023,7 +3025,7 @@ paths:
30233025
example:
30243026
id: dolor
30253027
message: sunt Excepteur deserunt dolor
3026-
/services/{id}/deploys:
3028+
/services/{serviceId}/deploys:
30273029
get:
30283030
tags:
30293031
- Deploys
@@ -3060,7 +3062,7 @@ paths:
30603062
type: integer
30613063
description: Max number of items that can be returned
30623064
example: "20"
3063-
- name: id
3065+
- name: serviceId
30643066
in: path
30653067
schema:
30663068
type: string
@@ -3554,7 +3556,7 @@ paths:
35543556
example:
35553557
id: dolor
35563558
message: sunt Excepteur deserunt dolor
3557-
/services/{id}/custom-domains:
3559+
/services/{serviceId}/custom-domains:
35583560
get:
35593561
tags:
35603562
- Custom Domains
@@ -3613,7 +3615,7 @@ paths:
36133615
Filter for custom domains created after a certain time (specified as
36143616
an ISO 8601 timestamp)
36153617
example: "2021-02-17T08:15:30Z"
3616-
- name: id
3618+
- name: serviceId
36173619
in: path
36183620
schema:
36193621
type: string
@@ -4517,7 +4519,7 @@ paths:
45174519
example:
45184520
id: dolor
45194521
message: sunt Excepteur deserunt dolor
4520-
/services/{id}/jobs:
4522+
/services/{serviceId}/jobs:
45214523
get:
45224524
tags:
45234525
- Jobs
@@ -4598,7 +4600,7 @@ paths:
45984600
Filter for jobs finished after a certain time (specified as an ISO
45994601
8601 timestamp)
46004602
example: "2021-02-17T08:15:30Z"
4601-
- name: id
4603+
- name: serviceId
46024604
in: path
46034605
schema:
46044606
type: string
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"crudMap":{"render:owners:Owner":{"r":"/owners/{id}"},"render:services:CustomDomain":{"c":"/services/{id}/custom-domains","r":"/services/{serviceId}/custom-domains/{id}","d":"/services/{serviceId}/custom-domains/{id}"},"render:services:Deploy":{"c":"/services/{id}/deploys","r":"/services/{serviceId}/deploys/{id}"},"render:services:EnvVar":{"p":"/services/{id}/env-vars"},"render:services:Scale":{"c":"/services/{id}/scale"},"render:services:StaticSite":{"c":"/services","r":"/services/{id}","u":"/services/{id}","d":"/services/{id}"},"render:services:Suspend":{"c":"/services/{id}/suspend"},"render:services:WebService":{"c":"/services","r":"/services/{id}","u":"/services/{id}","d":"/services/{id}"}}}
1+
{"crudMap":{"render:owners:Owner":{"r":"/owners/{id}"},"render:owners:getOwner":{"r":"/owners/{id}"},"render:owners:listOwners":{"r":"/owners"},"render:services:CustomDomain":{"c":"/services/{serviceId}/custom-domains","r":"/services/{serviceId}/custom-domains/{id}","d":"/services/{serviceId}/custom-domains/{id}"},"render:services:Deploy":{"c":"/services/{serviceId}/deploys","r":"/services/{serviceId}/deploys/{id}"},"render:services:EnvVar":{"p":"/services/{serviceId}/env-vars"},"render:services:Scale":{"c":"/services/{serviceId}/scale"},"render:services:StaticSite":{"c":"/services","r":"/services/{id}","u":"/services/{id}","d":"/services/{id}"},"render:services:Suspend":{"c":"/services/{serviceId}/suspend"},"render:services:WebService":{"c":"/services","r":"/services/{id}","u":"/services/{id}","d":"/services/{id}"},"render:services:getCustomDomain":{"r":"/services/{serviceId}/custom-domains/{id}"},"render:services:getDeploy":{"r":"/services/{serviceId}/deploys/{id}"},"render:services:getStaticSite":{"r":"/services/{id}"},"render:services:getWebService":{"r":"/services/{id}"},"render:services:listCustomDomains":{"r":"/services/{serviceId}/custom-domains"},"render:services:listDeploys":{"r":"/services/{serviceId}/deploys"},"render:services:listEnvVars":{"r":"/services/{serviceId}/env-vars"},"render:services:listServiceHeaders":{"r":"/services/{serviceId}/headers"},"render:services:listServices":{"r":"/services"},"render:services:listStaticSiteRoutes":{"r":"/services/{serviceId}/routes"}}}

0 commit comments

Comments
 (0)