apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: vpnconfigs.remoteaccess.edge.ncr.com annotations: controller-gen.kubebuilder.io/version: (unknown) spec: group: remoteaccess.edge.ncr.com names: kind: VPNConfig listKind: VPNConfigList plural: vpnconfigs shortNames: - vpncfg - vpncfgs - vpn - vpns singular: vpnconfig scope: Namespaced versions: - name: v1 additionalPrinterColumns: - name: IP Address type: string jsonPath: .status.ipAddress - name: Enabled type: string jsonPath: .spec.enabled - name: Ready type: string jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Reason type: string priority: 1 jsonPath: .status.conditions[?(@.type=="Ready")].reason - name: Message type: string priority: 1 jsonPath: .status.conditions[?(@.type=="Ready")].message schema: openAPIV3Schema: type: object properties: apiVersion: type: string 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 kind: type: string 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 metadata: type: object spec: type: object description: VPNConfig defines a store clusters VPN configuration properties: clusterId: type: string description: deprecated and replaced with cluster edge id. enabled: type: boolean projectId: type: string description: deprecated field for gcp project id. required: - enabled status: type: object default: ipAddress: "" description: VPNConfig status fields hold IP address information properties: conditions: type: array items: type: object 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}" properties: type: type: string 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) maxLength: 316 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])$ status: type: string description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown lastTransitionTime: type: string 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. format: date-time message: type: string description: |- message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 observedGeneration: type: integer 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. format: int64 minimum: 0 reason: type: string 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. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ required: - lastTransitionTime - message - reason - status - type ipAddress: type: string description: IP address of the cluster, if unassigned wait for the VPN controller to allocate one relayExternalIPAddress: type: string description: deprecated, relay external ip can be sourced from relay service. required: - ipAddress served: true storage: true subresources: status: {}