|
2 | 2 | apiVersion: apiextensions.k8s.io/v1
|
3 | 3 | kind: CustomResourceDefinition
|
4 | 4 | metadata:
|
5 |
| - annotations: |
6 |
| - controller-gen.kubebuilder.io/version: v0.15.0 |
7 | 5 | name: provisioningrequests.o2ims.provisioning.oran.org
|
8 | 6 | spec:
|
9 | 7 | group: o2ims.provisioning.oran.org
|
10 | 8 | names:
|
11 | 9 | kind: ProvisioningRequest
|
12 | 10 | listKind: ProvisioningRequestList
|
13 | 11 | plural: provisioningrequests
|
14 |
| - shortNames: |
15 |
| - - oranpr |
16 | 12 | singular: provisioningrequest
|
17 | 13 | scope: Cluster
|
18 | 14 | versions:
|
19 |
| - - additionalPrinterColumns: |
20 |
| - - jsonPath: .metadata.creationTimestamp |
21 |
| - name: Age |
22 |
| - type: date |
23 |
| - - jsonPath: .status.provisioningStatus.provisioningState |
24 |
| - name: ProvisionState |
25 |
| - type: string |
26 |
| - - jsonPath: .status.provisioningStatus.provisioningDetails |
27 |
| - name: ProvisionDetails |
28 |
| - type: string |
29 |
| - name: v1alpha1 |
30 |
| - schema: |
31 |
| - openAPIV3Schema: |
32 |
| - description: ProvisioningRequest is the Schema for the provisioningrequests |
33 |
| - API |
34 |
| - properties: |
35 |
| - apiVersion: |
36 |
| - description: |- |
37 |
| - APIVersion defines the versioned schema of this representation of an object. |
38 |
| - Servers should convert recognized schemas to the latest internal value, and |
39 |
| - may reject unrecognized values. |
40 |
| - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
41 |
| - type: string |
42 |
| - kind: |
43 |
| - description: |- |
44 |
| - Kind is a string value representing the REST resource this object represents. |
45 |
| - Servers may infer this from the endpoint the client submits requests to. |
46 |
| - Cannot be updated. |
47 |
| - In CamelCase. |
48 |
| - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
49 |
| - type: string |
50 |
| - metadata: |
51 |
| - type: object |
52 |
| - spec: |
53 |
| - description: ProvisioningRequestSpec defines the desired state of ProvisioningRequest |
54 |
| - properties: |
55 |
| - description: |
56 |
| - description: Description specifies a brief description of this provisioning |
57 |
| - request, providing additional context or details. |
58 |
| - type: string |
59 |
| - extensions: |
60 |
| - description: Extensions holds additional custom key-value pairs that |
61 |
| - can be used to extend the cluster's configuration. |
62 |
| - type: object |
63 |
| - x-kubernetes-preserve-unknown-fields: true |
64 |
| - name: |
65 |
| - description: Name specifies a human-readable name for this provisioning |
66 |
| - request, intended for identification and descriptive purposes. |
67 |
| - type: string |
68 |
| - templateName: |
69 |
| - description: |- |
70 |
| - TemplateName defines the base name of the referenced ClusterTemplate. |
71 |
| - The full name of the ClusterTemplate is constructed as <TemplateName.TemplateVersion>. |
72 |
| - type: string |
73 |
| - templateParameters: |
74 |
| - description: TemplateParameters provides the input data that conforms |
75 |
| - to the OpenAPI v3 schema defined in the referenced ClusterTemplate's |
76 |
| - spec.templateParameterSchema. |
77 |
| - type: object |
78 |
| - x-kubernetes-preserve-unknown-fields: true |
79 |
| - templateVersion: |
80 |
| - description: |- |
81 |
| - TemplateVersion defines the version of the referenced ClusterTemplate. |
82 |
| - The full name of the ClusterTemplate is constructed as <TemplateName.TemplateVersion>. |
83 |
| - type: string |
84 |
| - required: |
85 |
| - - templateName |
86 |
| - - templateParameters |
87 |
| - - templateVersion |
88 |
| - type: object |
89 |
| - status: |
90 |
| - description: ProvisioningRequestStatus defines the observed state of ProvisioningRequest |
91 |
| - properties: |
92 |
| - conditions: |
93 |
| - items: |
94 |
| - description: "Condition contains details for one aspect of the current |
95 |
| - state of this API Resource.\n---\nThis struct is intended for |
96 |
| - direct use as an array at the field path .status.conditions. For |
97 |
| - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the |
98 |
| - observations of a foo's current state.\n\t // Known .status.conditions.type |
99 |
| - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // |
100 |
| - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t |
101 |
| - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" |
102 |
| - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t |
103 |
| - \ // other fields\n\t}" |
| 15 | + - name: v1alpha1 |
| 16 | + served: true |
| 17 | + storage: true |
| 18 | + schema: |
| 19 | + openAPIV3Schema: |
| 20 | + type: object |
| 21 | + properties: |
| 22 | + apiVersion: |
| 23 | + type: string |
| 24 | + description: |- |
| 25 | + APIVersion defines the versioned schema of this representation of an object. |
| 26 | + Servers should convert recognized schemas to the latest internal value, and |
| 27 | + may reject unrecognized values. |
| 28 | + The current apiVersion of this api is v1alpha1 |
| 29 | + kind: |
| 30 | + type: string |
| 31 | + description: |- |
| 32 | + Kind is a string value representing the REST resource this object represents. |
| 33 | + Servers may infer this from the endpoint the client submits requests to. |
| 34 | + Cannot be updated. |
| 35 | + In CamelCase. |
| 36 | + The kind value for this api is ProvisioningRequest |
| 37 | + metadata: |
| 38 | + type: object |
| 39 | + properties: |
| 40 | + name: |
| 41 | + type: string |
| 42 | + description: | |
| 43 | + The name of the ProvisioningRequest custom resource instance contains the provisioningItemId. |
| 44 | + The provisioningItemId is the unique SMO provided identifier that the SMO will use to |
| 45 | + identify all resources provisioned by this provisioning request in interactions |
| 46 | + with the O-Cloud. |
| 47 | + spec: |
| 48 | + type: object |
| 49 | + properties: |
| 50 | + name: |
| 51 | + type: string |
| 52 | + description: | |
| 53 | + the name in this spec section is a human readable name intended for descriptive |
| 54 | + purposes, this name is not required to be unique and does not identify a provisioning |
| 55 | + request or any provisioned resources. |
| 56 | + description: |
| 57 | + type: string |
| 58 | + description: | |
| 59 | + A description of this provisioning request. |
| 60 | + templateName: |
| 61 | + type: string |
| 62 | + description: | |
| 63 | + templateName is the name of the template that the SMO wants to use to provision |
| 64 | + resources |
| 65 | + templateVersion: |
| 66 | + type: string |
| 67 | + description: | |
| 68 | + templateVersion is the version of the template that the SMO wants to use to provision |
| 69 | + resources. templateName and templateVersion together uniquely identify the template |
| 70 | + instance that the SMO wants to use in the provisioning request. |
| 71 | + templateParameters: |
| 72 | + type: object |
| 73 | + x-kubernetes-preserve-unknown-fields: true |
| 74 | + description: | |
| 75 | + templateParams carries the parameters required to provision resources using this template. |
| 76 | + The type is object as actual parameters are defined by the template. |
| 77 | + The template parameter schema itself is not defined here as it is template specific. |
| 78 | + The themplate parameter schema must be published by the template provider so that FOCOM can |
| 79 | + learn about required parameters and validate the same. |
| 80 | + The template parameter schema language must be standardized by O-RAN. |
| 81 | + required: |
| 82 | + - templateName |
| 83 | + - templateVersion |
| 84 | + - templateParameters |
| 85 | + status: |
| 86 | + type: object |
| 87 | + description: ProvisioningRequestStatus defines the observed state of ProvisioningRequest |
| 88 | + properties: |
| 89 | + provisionedResources: |
| 90 | + description: | |
| 91 | + The resources that have been successfully provisioned as part of the provisioning process. |
104 | 92 | properties:
|
105 |
| - lastTransitionTime: |
106 |
| - description: |- |
107 |
| - lastTransitionTime is the last time the condition transitioned from one status to another. |
108 |
| - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. |
109 |
| - format: date-time |
| 93 | + oCloudNodeClusterId: |
| 94 | + description: | |
| 95 | + The identifier of the provisioned oCloud NodeCluster. |
110 | 96 | type: string
|
111 |
| - message: |
112 |
| - description: |- |
113 |
| - message is a human readable message indicating details about the transition. |
114 |
| - This may be an empty string. |
115 |
| - maxLength: 32768 |
| 97 | + oCloudInfrastructureResourceIds: |
| 98 | + description: | |
| 99 | + The list of provisioned infrastructure resource ids. |
| 100 | + type: array |
| 101 | + items: |
| 102 | + type: string |
| 103 | + description: | |
| 104 | + The provisioned infrastructure resource id. |
| 105 | + type: object |
| 106 | + provisioningStatus: |
| 107 | + properties: |
| 108 | + provisioningUpdateTime: |
| 109 | + description: | |
| 110 | + The last update time of the provisioning status. |
| 111 | + format: date-time |
116 | 112 | type: string
|
117 |
| - observedGeneration: |
118 |
| - description: |- |
119 |
| - observedGeneration represents the .metadata.generation that the condition was set based upon. |
120 |
| - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date |
121 |
| - with respect to the current state of the instance. |
122 |
| - format: int64 |
123 |
| - minimum: 0 |
124 |
| - type: integer |
125 |
| - reason: |
126 |
| - description: |- |
127 |
| - reason contains a programmatic identifier indicating the reason for the condition's last transition. |
128 |
| - Producers of specific condition types may define expected values and meanings for this field, |
129 |
| - and whether the values are considered a guaranteed API. |
130 |
| - The value should be a CamelCase string. |
131 |
| - This field may not be empty. |
132 |
| - maxLength: 1024 |
133 |
| - minLength: 1 |
134 |
| - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ |
| 113 | + provisioningMessage: |
| 114 | + description: | |
| 115 | + The details about the current state of the provisioning process. |
135 | 116 | type: string
|
136 |
| - status: |
137 |
| - description: status of the condition, one of True, False, Unknown. |
| 117 | + provisioningState: |
| 118 | + description: The current state of the provisioning process. |
138 | 119 | enum:
|
139 |
| - - "True" |
140 |
| - - "False" |
141 |
| - - Unknown |
142 |
| - type: string |
143 |
| - type: |
144 |
| - description: |- |
145 |
| - type of condition in CamelCase or in foo.example.com/CamelCase. |
146 |
| - --- |
147 |
| - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be |
148 |
| - useful (see .node.status.conditions), the ability to deconflict is important. |
149 |
| - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) |
150 |
| - maxLength: 316 |
151 |
| - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ |
| 120 | + - progressing |
| 121 | + - fulfilled |
| 122 | + - failed |
| 123 | + - deleting |
152 | 124 | type: string
|
153 |
| - required: |
154 |
| - - lastTransitionTime |
155 |
| - - message |
156 |
| - - reason |
157 |
| - - status |
158 |
| - - type |
159 | 125 | type: object
|
160 |
| - type: array |
161 |
| - extensions: |
162 |
| - description: |- |
163 |
| - Extensions contain extra details about the resources and the configuration used for/by |
164 |
| - the ProvisioningRequest. |
165 |
| - type: object |
166 |
| - provisioningStatus: |
167 |
| - properties: |
168 |
| - provisionedResources: |
169 |
| - description: The resources that have been successfully provisioned |
170 |
| - as part of the provisioning process. |
171 |
| - properties: |
172 |
| - oCloudNodeClusterId: |
173 |
| - description: The identifier of the provisioned oCloud Node |
174 |
| - Cluster. |
175 |
| - type: string |
176 |
| - type: object |
177 |
| - provisioningDetails: |
178 |
| - description: The details about the current state of the provisioning |
179 |
| - process. |
180 |
| - type: string |
181 |
| - provisioningState: |
182 |
| - description: The current state of the provisioning process. |
183 |
| - enum: |
184 |
| - - progressing |
185 |
| - - fulfilled |
186 |
| - - failed |
187 |
| - - deleting |
188 |
| - type: string |
189 |
| - type: object |
190 |
| - type: object |
191 |
| - type: object |
192 |
| - served: true |
193 |
| - storage: true |
194 |
| - subresources: |
195 |
| - status: {} |
| 126 | + extensions: |
| 127 | + description: |- |
| 128 | + Extensions contain extra details about the resources and the configuration used for/by |
| 129 | + the ProvisioningRequest. |
| 130 | + type: object |
| 131 | + x-kubernetes-preserve-unknown-fields: true |
| 132 | + subresources: |
| 133 | + status: {} |
0 commit comments