Generate openapi and proto files

This commit is contained in:
Joe Betz 2021-03-10 21:07:09 -08:00 committed by Jefftree
parent 2e18314918
commit 5d86cff7c0
14 changed files with 108 additions and 22 deletions

View File

@ -2833,7 +2833,8 @@
"kind",
"name"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler": {
"description": "configuration of a horizontal pod autoscaler.",
@ -5738,7 +5739,8 @@
"required": [
"key"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.ConfigMapList": {
"description": "ConfigMapList is a resource containing a list of ConfigMap objects.",
@ -6275,7 +6277,8 @@
"required": [
"ip"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.EndpointPort": {
"description": "EndpointPort is a tuple that describes a single port.",
@ -6301,7 +6304,8 @@
"required": [
"port"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.EndpointSubset": {
"description": "EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:\n {\n Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n }\nThe resulting set of endpoints can be viewed as:\n a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],\n b: [ 10.10.1.1:309, 10.10.2.2:309 ]",
@ -7429,7 +7433,8 @@
"type": "string"
}
},
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.LocalVolumeSource": {
"description": "Local represents directly-attached storage with node affinity (Beta feature)",
@ -7790,7 +7795,8 @@
"required": [
"nodeSelectorTerms"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.NodeSelectorRequirement": {
"description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
@ -7835,7 +7841,8 @@
"type": "array"
}
},
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.NodeSpec": {
"description": "NodeSpec describes the attributes that a node is created with.",
@ -8026,7 +8033,8 @@
"required": [
"fieldPath"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.ObjectReference": {
"description": "ObjectReference contains enough information to let you inspect or modify the referred object.",
@ -8060,7 +8068,8 @@
"type": "string"
}
},
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.PersistentVolume": {
"description": "PersistentVolume (PV) is a storage resource provisioned by an administrator. It is analogous to a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes",
@ -9591,7 +9600,8 @@
"required": [
"resource"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.ResourceQuota": {
"description": "ResourceQuota sets aggregate quota restrictions enforced per namespace",
@ -9860,7 +9870,8 @@
"type": "array"
}
},
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.ScopedResourceSelectorRequirement": {
"description": "A scoped-resource selector requirement is a selector that contains values, a scope name, and an operator that relates the scope name and values.",
@ -9993,7 +10004,8 @@
"required": [
"key"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.SecretList": {
"description": "SecretList is a list of Secret.",
@ -10063,7 +10075,8 @@
"type": "string"
}
},
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.SecretVolumeSource": {
"description": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.",
@ -10670,7 +10683,8 @@
"type": "array"
}
},
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.TopologySpreadConstraint": {
"description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
@ -10720,7 +10734,8 @@
"kind",
"name"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.core.v1.Volume": {
"description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.",
@ -11098,7 +11113,8 @@
"type": "string"
}
},
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.discovery.v1.EndpointSlice": {
"description": "EndpointSlice represents a subset of the endpoints that implement a service. For a given service there may be multiple EndpointSlice objects, selected by labels, which must be joined to produce the full set of endpoints.",
@ -14647,7 +14663,8 @@
"kind",
"name"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.rbac.v1.Subject": {
"description": "Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.",
@ -14673,7 +14690,8 @@
"kind",
"name"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.api.rbac.v1alpha1.AggregationRule": {
"description": "AggregationRule describes how to locate ClusterRoles to aggregate into the ClusterRole",
@ -15934,7 +15952,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.TopologySelectorTerm"
},
"type": "array"
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"apiVersion": {
"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",
@ -16751,7 +16770,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.TopologySelectorTerm"
},
"type": "array"
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"apiVersion": {
"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",
@ -19076,7 +19096,8 @@
"name",
"uid"
],
"type": "object"
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"io.k8s.apimachinery.pkg.apis.meta.v1.Patch": {
"description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.",

View File

@ -85,6 +85,7 @@ message ContainerResourceMetricStatus {
}
// CrossVersionObjectReference contains enough information to let you identify the referred resource.
// +structType=atomic
message CrossVersionObjectReference {
// Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
optional string kind = 1;

View File

@ -498,6 +498,7 @@ message ConfigMapEnvSource {
}
// Selects a key from a ConfigMap.
// +structType=atomic
message ConfigMapKeySelector {
// The ConfigMap to select from.
optional LocalObjectReference localObjectReference = 1;
@ -1010,6 +1011,7 @@ message EmptyDirVolumeSource {
}
// EndpointAddress is a tuple that describes single IP address.
// +structType=atomic
message EndpointAddress {
// The IP of this endpoint.
// May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16),
@ -1033,6 +1035,7 @@ message EndpointAddress {
}
// EndpointPort is a tuple that describes a single port.
// +structType=atomic
message EndpointPort {
// The name of this port. This must match the 'name' field in the
// corresponding ServicePort.
@ -2049,6 +2052,7 @@ message LoadBalancerStatus {
// LocalObjectReference contains enough information to let you locate the
// referenced object inside the same namespace.
// +structType=atomic
message LocalObjectReference {
// Name of the referent.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
@ -2330,6 +2334,7 @@ message NodeResources {
// A node selector represents the union of the results of one or more label queries
// over a set of nodes; that is, it represents the OR of the selectors represented
// by the node selector terms.
// +structType=atomic
message NodeSelector {
// Required. A list of node selector terms. The terms are ORed.
repeated NodeSelectorTerm nodeSelectorTerms = 1;
@ -2357,6 +2362,7 @@ message NodeSelectorRequirement {
// A null or empty node selector term matches no objects. The requirements of
// them are ANDed.
// The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
// +structType=atomic
message NodeSelectorTerm {
// A list of node selector requirements by node's labels.
// +optional
@ -2504,6 +2510,7 @@ message NodeSystemInfo {
}
// ObjectFieldSelector selects an APIVersioned field of an object.
// +structType=atomic
message ObjectFieldSelector {
// Version of the schema the FieldPath is written in terms of, defaults to "v1".
// +optional
@ -2529,6 +2536,7 @@ message ObjectFieldSelector {
// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +structType=atomic
message ObjectReference {
// Kind of the referent.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@ -4178,6 +4186,7 @@ message ReplicationControllerStatus {
}
// ResourceFieldSelector represents container resources (cpu, memory) and their output format
// +structType=atomic
message ResourceFieldSelector {
// Container name: required for volumes, optional for env vars
// +optional
@ -4380,6 +4389,7 @@ message ScaleIOVolumeSource {
// A scope selector represents the AND of the selectors represented
// by the scoped-resource selector requirements.
// +structType=atomic
message ScopeSelector {
// A list of scope selector requirements by scope of the resources.
// +optional
@ -4475,6 +4485,7 @@ message SecretEnvSource {
}
// SecretKeySelector selects a key of a Secret.
// +structType=atomic
message SecretKeySelector {
// The name of the secret in the pod's namespace to select from.
optional LocalObjectReference localObjectReference = 1;
@ -4525,6 +4536,7 @@ message SecretProjection {
// SecretReference represents a Secret Reference. It has enough information to retrieve secret
// in any namespace
// +structType=atomic
message SecretReference {
// Name is unique within a namespace to reference a secret resource.
// +optional
@ -5246,6 +5258,7 @@ message TopologySelectorLabelRequirement {
// The requirements of them are ANDed.
// It provides a subset of functionality as NodeSelectorTerm.
// This is an alpha feature and may change in the future.
// +structType=atomic
message TopologySelectorTerm {
// A list of topology selector requirements by labels.
// +optional
@ -5312,6 +5325,7 @@ message TopologySpreadConstraint {
// TypedLocalObjectReference contains enough information to let you locate the
// typed referenced object inside the same namespace.
// +structType=atomic
message TypedLocalObjectReference {
// APIGroup is the group for the resource being referenced.
// If APIGroup is not specified, the specified Kind must be in the core API group.

View File

@ -2675,7 +2675,7 @@ const (
// The requirements of them are ANDed.
// It provides a subset of functionality as NodeSelectorTerm.
// This is an alpha feature and may change in the future.
// +structType=atomic.
// +structType=atomic
type TopologySelectorTerm struct {
// Usage: Fields of type []TopologySelectorTerm must be listType=atomic.

View File

@ -115,6 +115,7 @@ message EndpointHints {
}
// EndpointPort represents a Port used by an EndpointSlice
// +structType=atomic
message EndpointPort {
// The name of this port. All ports in an EndpointSlice must have a unique
// name. If the EndpointSlice is dervied from a Kubernetes service, this

View File

@ -164,6 +164,7 @@ message RoleList {
}
// RoleRef contains information that points to the role being used
// +structType=atomic
message RoleRef {
// APIGroup is the group for the resource being referenced
optional string apiGroup = 1;
@ -177,6 +178,7 @@ message RoleRef {
// Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference,
// or a value for non-objects such as user and group names.
// +structType=atomic
message Subject {
// Kind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount".
// If the Authorizer does not recognized the kind value, the Authorizer should report an error.

View File

@ -319,6 +319,7 @@ message StorageClass {
// An empty TopologySelectorTerm list means there is no topology restriction.
// This field is only honored by servers that enable the VolumeScheduling feature.
// +optional
// +listType=atomic
repeated k8s.io.api.core.v1.TopologySelectorTerm allowedTopologies = 8;
}

View File

@ -412,6 +412,7 @@ message StorageClass {
// An empty TopologySelectorTerm list means there is no topology restriction.
// This field is only honored by servers that enable the VolumeScheduling feature.
// +optional
// +listType=atomic
repeated k8s.io.api.core.v1.TopologySelectorTerm allowedTopologies = 8;
}

View File

@ -230,6 +230,11 @@ func schema_k8sio_api_autoscaling_v1_CrossVersionObjectReference(ref common.Refe
},
Required: []string{"kind", "name"},
},
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-map-type": "atomic",
},
},
},
}
}
@ -2460,6 +2465,11 @@ func schema_pkg_apis_meta_v1_OwnerReference(ref common.ReferenceCallback) common
},
Required: []string{"apiVersion", "kind", "name", "uid"},
},
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-map-type": "atomic",
},
},
},
}
}

View File

@ -788,6 +788,7 @@ message ObjectMeta {
// OwnerReference contains enough information to let you identify an owning
// object. An owning object must be in the same namespace as the dependent, or
// be cluster-scoped, so there is no namespace field.
// +structType=atomic
message OwnerReference {
// API version of the referent.
optional string apiVersion = 5;

View File

@ -1759,6 +1759,7 @@ var schemaYAML = typed.YAMLObject(`types:
type:
scalar: string
default: ""
elementRelationship: atomic
- name: io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler
map:
fields:
@ -3335,6 +3336,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: optional
type:
scalar: boolean
elementRelationship: atomic
- name: io.k8s.api.core.v1.ConfigMapNodeConfigSource
map:
fields:
@ -3683,6 +3685,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: targetRef
type:
namedType: io.k8s.api.core.v1.ObjectReference
elementRelationship: atomic
- name: io.k8s.api.core.v1.EndpointPort
map:
fields:
@ -3699,6 +3702,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: protocol
type:
scalar: string
elementRelationship: atomic
- name: io.k8s.api.core.v1.EndpointSubset
map:
fields:
@ -4373,6 +4377,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: name
type:
scalar: string
elementRelationship: atomic
- name: io.k8s.api.core.v1.LocalVolumeSource
map:
fields:
@ -4568,6 +4573,7 @@ var schemaYAML = typed.YAMLObject(`types:
elementType:
namedType: io.k8s.api.core.v1.NodeSelectorTerm
elementRelationship: atomic
elementRelationship: atomic
- name: io.k8s.api.core.v1.NodeSelectorRequirement
map:
fields:
@ -4600,6 +4606,7 @@ var schemaYAML = typed.YAMLObject(`types:
elementType:
namedType: io.k8s.api.core.v1.NodeSelectorRequirement
elementRelationship: atomic
elementRelationship: atomic
- name: io.k8s.api.core.v1.NodeSpec
map:
fields:
@ -4744,6 +4751,7 @@ var schemaYAML = typed.YAMLObject(`types:
type:
scalar: string
default: ""
elementRelationship: atomic
- name: io.k8s.api.core.v1.ObjectReference
map:
fields:
@ -4768,6 +4776,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: uid
type:
scalar: string
elementRelationship: atomic
- name: io.k8s.api.core.v1.PersistentVolume
map:
fields:
@ -5717,6 +5726,7 @@ var schemaYAML = typed.YAMLObject(`types:
type:
scalar: string
default: ""
elementRelationship: atomic
- name: io.k8s.api.core.v1.ResourceQuota
map:
fields:
@ -5875,6 +5885,7 @@ var schemaYAML = typed.YAMLObject(`types:
elementType:
namedType: io.k8s.api.core.v1.ScopedResourceSelectorRequirement
elementRelationship: atomic
elementRelationship: atomic
- name: io.k8s.api.core.v1.ScopedResourceSelectorRequirement
map:
fields:
@ -5958,6 +5969,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: optional
type:
scalar: boolean
elementRelationship: atomic
- name: io.k8s.api.core.v1.SecretProjection
map:
fields:
@ -5982,6 +5994,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: namespace
type:
scalar: string
elementRelationship: atomic
- name: io.k8s.api.core.v1.SecretVolumeSource
map:
fields:
@ -6345,6 +6358,7 @@ var schemaYAML = typed.YAMLObject(`types:
elementType:
namedType: io.k8s.api.core.v1.TopologySelectorLabelRequirement
elementRelationship: atomic
elementRelationship: atomic
- name: io.k8s.api.core.v1.TopologySpreadConstraint
map:
fields:
@ -6377,6 +6391,7 @@ var schemaYAML = typed.YAMLObject(`types:
type:
scalar: string
default: ""
elementRelationship: atomic
- name: io.k8s.api.core.v1.Volume
map:
fields:
@ -6634,6 +6649,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: protocol
type:
scalar: string
elementRelationship: atomic
- name: io.k8s.api.discovery.v1.EndpointSlice
map:
fields:
@ -9504,6 +9520,7 @@ var schemaYAML = typed.YAMLObject(`types:
type:
scalar: string
default: ""
elementRelationship: atomic
- name: io.k8s.api.rbac.v1.Subject
map:
fields:
@ -9521,6 +9538,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: namespace
type:
scalar: string
elementRelationship: atomic
- name: io.k8s.api.rbac.v1alpha1.AggregationRule
map:
fields:
@ -10714,6 +10732,7 @@ var schemaYAML = typed.YAMLObject(`types:
type:
scalar: string
default: ""
elementRelationship: atomic
- name: io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions
map:
fields:

View File

@ -1528,6 +1528,11 @@ func schema_pkg_apis_meta_v1_OwnerReference(ref common.ReferenceCallback) common
},
Required: []string{"apiVersion", "kind", "name", "uid"},
},
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-map-type": "atomic",
},
},
},
}
}

View File

@ -1531,6 +1531,11 @@ func schema_pkg_apis_meta_v1_OwnerReference(ref common.ReferenceCallback) common
},
Required: []string{"apiVersion", "kind", "name", "uid"},
},
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-map-type": "atomic",
},
},
},
}
}

View File

@ -1529,6 +1529,11 @@ func schema_pkg_apis_meta_v1_OwnerReference(ref common.ReferenceCallback) common
},
Required: []string{"apiVersion", "kind", "name", "uid"},
},
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-map-type": "atomic",
},
},
},
}
}