...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 name: vpnconfigs.remoteaccess.edge.ncr.com
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7spec:
8 group: remoteaccess.edge.ncr.com
9 names:
10 kind: VPNConfig
11 listKind: VPNConfigList
12 plural: vpnconfigs
13 shortNames:
14 - vpncfg
15 - vpncfgs
16 - vpn
17 - vpns
18 singular: vpnconfig
19 scope: Namespaced
20 versions:
21 - name: v1
22 additionalPrinterColumns:
23 - name: IP Address
24 type: string
25 jsonPath: .status.ipAddress
26 - name: Enabled
27 type: string
28 jsonPath: .spec.enabled
29 - name: Ready
30 type: string
31 jsonPath: .status.conditions[?(@.type=="Ready")].status
32 - name: Reason
33 type: string
34 priority: 1
35 jsonPath: .status.conditions[?(@.type=="Ready")].reason
36 - name: Message
37 type: string
38 priority: 1
39 jsonPath: .status.conditions[?(@.type=="Ready")].message
40 schema:
41 openAPIV3Schema:
42 type: object
43 properties:
44 apiVersion:
45 type: string
46 description: |-
47 APIVersion defines the versioned schema of this representation of an object.
48 Servers should convert recognized schemas to the latest internal value, and
49 may reject unrecognized values.
50 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
51 kind:
52 type: string
53 description: |-
54 Kind is a string value representing the REST resource this object represents.
55 Servers may infer this from the endpoint the client submits requests to.
56 Cannot be updated.
57 In CamelCase.
58 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
59 metadata:
60 type: object
61 spec:
62 type: object
63 description: VPNConfig defines a store clusters VPN configuration
64 properties:
65 clusterId:
66 type: string
67 description: deprecated and replaced with cluster edge id.
68 enabled:
69 type: boolean
70 projectId:
71 type: string
72 description: deprecated field for gcp project id.
73 required:
74 - enabled
75 status:
76 type: object
77 default:
78 ipAddress: ""
79 description: VPNConfig status fields hold IP address information
80 properties:
81 conditions:
82 type: array
83 items:
84 type: object
85 description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}"
86 properties:
87 type:
88 type: string
89 description: |-
90 type of condition in CamelCase or in foo.example.com/CamelCase.
91 ---
92 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
93 useful (see .node.status.conditions), the ability to deconflict is important.
94 The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
95 maxLength: 316
96 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])$
97 status:
98 type: string
99 description: status of the condition, one of True, False, Unknown.
100 enum:
101 - "True"
102 - "False"
103 - Unknown
104 lastTransitionTime:
105 type: string
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
110 message:
111 type: string
112 description: |-
113 message is a human readable message indicating details about the transition.
114 This may be an empty string.
115 maxLength: 32768
116 observedGeneration:
117 type: integer
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 reason:
125 type: string
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_])?$
135 required:
136 - lastTransitionTime
137 - message
138 - reason
139 - status
140 - type
141 ipAddress:
142 type: string
143 description: IP address of the cluster, if unassigned wait for the VPN controller to allocate one
144 relayExternalIPAddress:
145 type: string
146 description: deprecated, relay external ip can be sourced from relay service.
147 required:
148 - ipAddress
149 served: true
150 storage: true
151 subresources:
152 status: {}
View as plain text