generated from crossplane/upjet-provider-template
-
Notifications
You must be signed in to change notification settings - Fork 8
/
zz_stackscript_types.go
executable file
·181 lines (139 loc) · 8.5 KB
/
zz_stackscript_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type StackscriptObservation struct {
// The date this StackScript was created.
// The date this StackScript was created.
Created *string `json:"created,omitempty" tf:"created,omitempty"`
// Count of currently active, deployed Linodes created from this StackScript.
// Count of currently active, deployed Linodes created from this StackScript.
DeploymentsActive *float64 `json:"deploymentsActive,omitempty" tf:"deployments_active,omitempty"`
// The total number of times this StackScript has been deployed.
// The total number of times this StackScript has been deployed.
DeploymentsTotal *float64 `json:"deploymentsTotal,omitempty" tf:"deployments_total,omitempty"`
// A description for the StackScript.
// A description for the StackScript.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// A set of Image IDs representing the Images that this StackScript is compatible for deploying with. any/all indicates that all available image distributions, including private images, are accepted. Currently private image IDs are not supported.
// An array of Image IDs representing the Images that this StackScript is compatible for deploying with.
Images []*string `json:"images,omitempty" tf:"images,omitempty"`
// This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. Changing
// This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.
IsPublic *bool `json:"isPublic,omitempty" tf:"is_public,omitempty"`
// The StackScript's label is for display purposes only.
// The StackScript's label is for display purposes only.
Label *string `json:"label,omitempty" tf:"label,omitempty"`
// This field allows you to add notes for the set of revisions made to this StackScript.
// This field allows you to add notes for the set of revisions made to this StackScript.
RevNote *string `json:"revNote,omitempty" tf:"rev_note,omitempty"`
// The script to execute when provisioning a new Linode with this StackScript.
// The script to execute when provisioning a new Linode with this StackScript.
Script *string `json:"script,omitempty" tf:"script,omitempty"`
// The date this StackScript was updated.
// The date this StackScript was updated.
Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`
// This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.
// This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.
UserDefinedFields []UserDefinedFieldsObservation `json:"userDefinedFields,omitempty" tf:"user_defined_fields,omitempty"`
// The Gravatar ID for the User who created the StackScript.
// The Gravatar ID for the User who created the StackScript.
UserGravatarID *string `json:"userGravatarId,omitempty" tf:"user_gravatar_id,omitempty"`
// The User who created the StackScript.
// The User who created the StackScript.
Username *string `json:"username,omitempty" tf:"username,omitempty"`
}
type StackscriptParameters struct {
// A description for the StackScript.
// A description for the StackScript.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// A set of Image IDs representing the Images that this StackScript is compatible for deploying with. any/all indicates that all available image distributions, including private images, are accepted. Currently private image IDs are not supported.
// An array of Image IDs representing the Images that this StackScript is compatible for deploying with.
// +kubebuilder:validation:Optional
Images []*string `json:"images,omitempty" tf:"images,omitempty"`
// This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. Changing
// This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.
// +kubebuilder:validation:Optional
IsPublic *bool `json:"isPublic,omitempty" tf:"is_public,omitempty"`
// The StackScript's label is for display purposes only.
// The StackScript's label is for display purposes only.
// +kubebuilder:validation:Optional
Label *string `json:"label,omitempty" tf:"label,omitempty"`
// This field allows you to add notes for the set of revisions made to this StackScript.
// This field allows you to add notes for the set of revisions made to this StackScript.
// +kubebuilder:validation:Optional
RevNote *string `json:"revNote,omitempty" tf:"rev_note,omitempty"`
// The script to execute when provisioning a new Linode with this StackScript.
// The script to execute when provisioning a new Linode with this StackScript.
// +kubebuilder:validation:Optional
Script *string `json:"script,omitempty" tf:"script,omitempty"`
}
type UserDefinedFieldsObservation struct {
// The default value. If not specified, this value will be used.
Default *string `json:"default,omitempty" tf:"default,omitempty"`
// An example value for the field.
Example *string `json:"example,omitempty" tf:"example,omitempty"`
// The StackScript's label is for display purposes only.
Label *string `json:"label,omitempty" tf:"label,omitempty"`
// A list of acceptable values for the field in any quantity, combination or order.
ManyOf *string `json:"manyOf,omitempty" tf:"many_of,omitempty"`
// The name of the field.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// A list of acceptable single values for the field.
OneOf *string `json:"oneOf,omitempty" tf:"one_of,omitempty"`
}
type UserDefinedFieldsParameters struct {
}
// StackscriptSpec defines the desired state of Stackscript
type StackscriptSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider StackscriptParameters `json:"forProvider"`
}
// StackscriptStatus defines the observed state of Stackscript.
type StackscriptStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider StackscriptObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Stackscript is the Schema for the Stackscripts API. Manages a Linode StackScript.
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,linode}
type Stackscript struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.description)",message="description is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.images)",message="images is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.label)",message="label is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.script)",message="script is a required parameter"
Spec StackscriptSpec `json:"spec"`
Status StackscriptStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// StackscriptList contains a list of Stackscripts
type StackscriptList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Stackscript `json:"items"`
}
// Repository type metadata.
var (
Stackscript_Kind = "Stackscript"
Stackscript_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Stackscript_Kind}.String()
Stackscript_KindAPIVersion = Stackscript_Kind + "." + CRDGroupVersion.String()
Stackscript_GroupVersionKind = CRDGroupVersion.WithKind(Stackscript_Kind)
)
func init() {
SchemeBuilder.Register(&Stackscript{}, &StackscriptList{})
}