...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 api-approved.openshift.io: https://github.com/openshift/api/pull/859
6 name: cloudprivateipconfigs.cloud.network.openshift.io
7spec:
8 group: cloud.network.openshift.io
9 names:
10 kind: CloudPrivateIPConfig
11 listKind: CloudPrivateIPConfigList
12 plural: cloudprivateipconfigs
13 singular: cloudprivateipconfig
14 scope: Cluster
15 versions:
16 - name: v1
17 schema:
18 openAPIV3Schema:
19 description: "CloudPrivateIPConfig performs an assignment of a private IP address to the primary NIC associated with cloud VMs. This is done by specifying the IP and Kubernetes node which the IP should be assigned to. This CRD is intended to be used by the network plugin which manages the cluster network. The spec side represents the desired state requested by the network plugin, and the status side represents the current state that this CRD's controller has executed. No users will have permission to modify it, and if a cluster-admin decides to edit it for some reason, their changes will be overwritten the next time the network plugin reconciles the object. Note: the CR's name must specify the requested private IP address (can be IPv4 or IPv6). \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
20 properties:
21 apiVersion:
22 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
23 type: string
24 kind:
25 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
26 type: string
27 metadata:
28 properties:
29 name:
30 anyOf:
31 - format: ipv4
32 - format: ipv6
33 type: string
34 type: object
35 spec:
36 description: spec is the definition of the desired private IP request.
37 properties:
38 node:
39 description: 'node is the node name, as specified by the Kubernetes field: node.metadata.name'
40 type: string
41 type: object
42 status:
43 description: status is the observed status of the desired private IP request. Read-only.
44 properties:
45 conditions:
46 description: condition is the assignment condition of the private IP and its status
47 items:
48 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
49 properties:
50 lastTransitionTime:
51 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
52 format: date-time
53 type: string
54 message:
55 description: message is a human readable message indicating details about the transition. This may be an empty string.
56 maxLength: 32768
57 type: string
58 observedGeneration:
59 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
60 format: int64
61 minimum: 0
62 type: integer
63 reason:
64 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
65 maxLength: 1024
66 minLength: 1
67 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
68 type: string
69 status:
70 description: status of the condition, one of True, False, Unknown.
71 enum:
72 - "True"
73 - "False"
74 - Unknown
75 type: string
76 type:
77 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
78 maxLength: 316
79 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])$
80 type: string
81 required:
82 - lastTransitionTime
83 - message
84 - reason
85 - status
86 - type
87 type: object
88 type: array
89 node:
90 description: 'node is the node name, as specified by the Kubernetes field: node.metadata.name'
91 type: string
92 required:
93 - conditions
94 type: object
95 required:
96 - spec
97 type: object
98 served: true
99 storage: true
100 subresources:
101 status: {}
102status:
103 acceptedNames:
104 kind: ""
105 plural: ""
106 conditions: []
107 storedVersions: []
View as plain text