Skip to content

Commit 6783d1d

Browse files
start building params dynamically
1 parent ba7f6d8 commit 6783d1d

33 files changed

Lines changed: 260 additions & 45 deletions

engine/schema/src/main/resources/nimble/resource-types/account.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ node_types:
2626
type: string
2727
description: The ID of the domain associated with the user's account.
2828
required: true
29+
metadata:
30+
api-parameter: domainid
2931
username:
3032
type: string
3133
description: The username that will be used to created the first user of the account.

engine/schema/src/main/resources/nimble/resource-types/affinity-group.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,14 @@ node_types:
4343
type: string
4444
description: The domain ID associated with the affinity group.
4545
required: false
46+
metadata:
47+
api-parameter: domainid
4648
project-id:
4749
type: string
4850
description: The project ID associated with the affinity group.
4951
required: false
52+
metadata:
53+
api-parameter: projectid
5054
attributes:
5155
id:
5256
type: string

engine/schema/src/main/resources/nimble/resource-types/auto-scaling-vm-profile.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,14 @@ node_types:
3838
type: string
3939
description: The ID of the availability zone.
4040
required: true
41+
metadata:
42+
api-parameter: zoneid
4143
service-offering-id:
4244
type: string
4345
description: Service offering ID for the VMs in the auto scaling VM profile.
4446
required: true
47+
metadata:
48+
api-parameter: serviceofferingid
4549
other-deploy-params:
4650
type: list
4751
entry_schema:
@@ -68,10 +72,14 @@ node_types:
6872
type: string
6973
description: The domain ID associated with the auto scaling VM profile.
7074
required: false
75+
metadata:
76+
api-parameter: domainid
7177
project-id:
7278
type: string
7379
description: The project ID associated with the auto scaling VM profile.
7480
required: false
81+
metadata:
82+
api-parameter: projectid
7583
auto-scale-user-id:
7684
type: string
7785
description: The ID of the user used to launch and destroy the VMs.
@@ -80,6 +88,8 @@ node_types:
8088
type: string
8189
description: The ID of the network in which the auto scaling VM profile will be launched.
8290
required: false
91+
metadata:
92+
api-parameter: kubernetesversionid
8393
counter-parameters:
8494
type: list
8595
entry_schema:

engine/schema/src/main/resources/nimble/resource-types/compute-offering.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,14 @@ node_types:
3434
type: string
3535
description: The ID of the availability zone. If not specified, the compute offering will be public.
3636
required: false
37+
metadata:
38+
api-parameter: zoneid
3739
domain-id:
3840
type: string
3941
description: The ID of the domain for which the compute offering will be available. If not specified, the compute offering will be public.
4042
required: false
43+
metadata:
44+
api-parameter: domainid
4145
storage-type:
4246
type: string
4347
description: "The type of storage used by the compute offering. Valid values are 'local' and 'shared'."

engine/schema/src/main/resources/nimble/resource-types/disk-offering.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,14 @@ node_types:
3434
type: string
3535
description: The ID of the availability zone. If not specified, the disk offering will be public.
3636
required: false
37+
metadata:
38+
api-parameter: zoneid
3739
domain-id:
3840
type: string
3941
description: The ID of the domain for which the disk offering will be available. If not specified, the disk offering will be public.
4042
required: false
43+
metadata:
44+
api-parameter: domainid
4145
storage-type:
4246
type: string
4347
description: "The type of storage used by the disk offering. Valid values are 'local' and 'shared'."

engine/schema/src/main/resources/nimble/resource-types/egress-firewall-rule.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ node_types:
2626
type: string
2727
description: The ID of the network this rule belongs to.
2828
required: true
29+
metadata:
30+
api-parameter: kubernetesversionid
2931
protocol:
3032
type: string
3133
description: The protocol of the egress rule.

engine/schema/src/main/resources/nimble/resource-types/instance-group.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ description: >
2121
2222
node_types:
2323
InstanceGroup:
24+
metadata:
25+
provisioning-api: createInstanceGroup
26+
rollback-api: deleteInstanceGroup
2427
properties:
2528
name:
2629
type: string
@@ -34,10 +37,14 @@ node_types:
3437
type: string
3538
description: The domain ID associated with the instance group.
3639
required: false
40+
metadata:
41+
api-parameter: domainid
3742
project-id:
3843
type: string
3944
description: The project ID associated with the instance group.
4045
required: false
46+
metadata:
47+
api-parameter: projectid
4148
attributes:
4249
id:
4350
type: string

engine/schema/src/main/resources/nimble/resource-types/ip-address.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@ node_types:
2626
type: string
2727
description: The ID of the zone from which an IP address will be acquired.
2828
required: true
29+
metadata:
30+
api-parameter: zoneid
2931
network-id:
3032
type: string
3133
description: "The ID of the network for which the IP address will be associated. Mutually exclusive with the 'vpc-id' property."
3234
required: false
35+
metadata:
36+
api-parameter: kubernetesversionid
3337
vpc-id:
3438
type: string
3539
description: "The ID of the VPC for which the IP address will associated. Mutually exclusive with the 'network-id' property."

engine/schema/src/main/resources/nimble/resource-types/kubernetes-cluster.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,16 @@ data_types:
4343

4444
node_types:
4545
KubernetesCluster:
46+
metadata:
47+
provisioning-api: createKubernetesCluster
48+
rollback-api: deleteKubernetesCluster
4649
properties:
4750
zone-id:
4851
type: string
4952
description: The ID of the availability zone.
5053
required: true
54+
metadata:
55+
api-parameter: zoneid
5156
name:
5257
type: string
5358
description: The name of the Kubernetes cluster.
@@ -64,26 +69,38 @@ node_types:
6469
type: string
6570
description: The domain ID associated with the cluster.
6671
required: false
72+
metadata:
73+
api-parameter: domainid
6774
project-id:
6875
type: string
6976
description: The project ID associated with the cluster.
7077
required: false
78+
metadata:
79+
api-parameter: projectid
7180
kubernetes-version-id:
7281
type: string
7382
description: Kubernetes version ID used to launch the cluster.
7483
required: false
84+
metadata:
85+
api-parameter: kubernetesversionid
7586
network-id:
7687
type: string
7788
description: The ID of the network in which the cluster will be launched.
7889
required: false
90+
metadata:
91+
api-parameter: kubernetesversionid
7992
node-root-disk-size:
8093
type: integer
8194
description: Root disk size (GB) for each node.
8295
required: false
96+
metadata:
97+
api-parameter: noderootdisksize
8398
service-offering-id:
8499
type: string
85100
description: Service offering ID for the VMs in the cluster.
86101
required: false
102+
metadata:
103+
api-parameter: serviceofferingid
87104
size:
88105
type: integer
89106
description: Number of worker nodes in the cluster.
@@ -92,31 +109,45 @@ node_types:
92109
type: integer
93110
description: Number of control nodes in the cluster.
94111
required: false
112+
metadata:
113+
api-parameter: controlnodes
95114
ssh-key-pair:
96115
type: string
97116
description: The name of the SSH key pair for logging into the VMs.
98117
required: false
118+
metadata:
119+
api-parameter: keypair
99120
cluster-type:
100121
type: string
101122
description: Kubernetes cluster type (CloudManaged or ExternalManaged).
102123
required: false
103124
validation: { $valid_values: [ $value, [ CloudManaged, ExternalManaged ] ] }
125+
metadata:
126+
api-parameter: clustertype
104127
docker-registry-password:
105128
type: string
106129
description: Password for the Docker image private registry.
107130
required: false
131+
metadata:
132+
api-parameter: dockerregistrypassword
108133
docker-registry-url:
109134
type: string
110135
description: URL for the Docker image private registry.
111136
required: false
137+
metadata:
138+
api-parameter: dockerregistryurl
112139
docker-registry-username:
113140
type: string
114141
description: Username for the Docker image private registry.
115142
required: false
143+
metadata:
144+
api-parameter: dockerregistryusername
116145
external-load-balancer-ip-address:
117146
type: string
118147
description: External load balancer IP address for HA clusters.
119148
required: false
149+
metadata:
150+
api-parameter: externalloadbalanceripaddress
120151
hypervisor:
121152
type: string
122153
description: Hypervisor on which the cluster VMs will be launched.
@@ -125,18 +156,24 @@ node_types:
125156
type: integer
126157
description: Number of etcd nodes in the cluster.
127158
required: false
159+
metadata:
160+
api-parameter: etcdnodes
128161
node-offerings:
129162
type: list
130163
entry_schema:
131164
type: NodeOffering
132165
description: "Compute offerings for each node type. If used, overrides the 'service-offering-id' property."
133166
required: false
167+
metadata:
168+
api-parameter: nodeofferings
134169
node-templates:
135170
type: list
136171
entry_schema:
137172
type: NodeTemplate
138173
description: Templates for each node type. If not specified, the system VM templates will be used.
139174
required: false
175+
metadata:
176+
api-parameter: nodetemplates
140177
attributes:
141178
id:
142179
type: string

engine/schema/src/main/resources/nimble/resource-types/load-balancer.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ node_types:
4343
type: string
4444
description: The network for which the load balancer will be created for.
4545
required: false
46+
metadata:
47+
api-parameter: kubernetesversionid
4648
ip-address-id:
4749
type: string
4850
required: false
@@ -66,6 +68,8 @@ node_types:
6668
type: string
6769
description: The domain ID associated with the load balancer.
6870
required: false
71+
metadata:
72+
api-parameter: domainid
6973
attributes:
7074
id:
7175
type: string

0 commit comments

Comments
 (0)