diff --git a/api/swagger-spec/v1beta1.json b/api/swagger-spec/v1beta1.json index 9c9f4774ab7..be2ddfa57c7 100644 --- a/api/swagger-spec/v1beta1.json +++ b/api/swagger-spec/v1beta1.json @@ -2479,6 +2479,548 @@ } ] }, + { + "path": "/apis/extensions/v1beta1/podsecuritypolicies", + "description": "API at /apis/extensions/v1beta1", + "operations": [ + { + "type": "v1beta1.PodSecurityPolicyList", + "method": "GET", + "summary": "list or watch objects of kind PodSecurityPolicy", + "nickname": "listNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.PodSecurityPolicyList" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.PodSecurityPolicy", + "method": "POST", + "summary": "create a PodSecurityPolicy", + "nickname": "createNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1beta1.PodSecurityPolicy", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.PodSecurityPolicy" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "unversioned.Status", + "method": "DELETE", + "summary": "delete collection of PodSecurityPolicy", + "nickname": "deletecollectionNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "unversioned.Status" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/extensions/v1beta1/watch/podsecuritypolicies", + "description": "API at /apis/extensions/v1beta1", + "operations": [ + { + "type": "json.WatchEvent", + "method": "GET", + "summary": "watch individual changes to a list of PodSecurityPolicy", + "nickname": "watchNamespacedPodSecurityPolicyList", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "json.WatchEvent" + } + ], + "produces": [ + "application/json" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/extensions/v1beta1/podsecuritypolicies/{name}", + "description": "API at /apis/extensions/v1beta1", + "operations": [ + { + "type": "v1beta1.PodSecurityPolicy", + "method": "GET", + "summary": "read the specified PodSecurityPolicy", + "nickname": "readNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "export", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "exact", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodSecurityPolicy", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.PodSecurityPolicy" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.PodSecurityPolicy", + "method": "PUT", + "summary": "replace the specified PodSecurityPolicy", + "nickname": "replaceNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1beta1.PodSecurityPolicy", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodSecurityPolicy", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.PodSecurityPolicy" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "consumes": [ + "*/*" + ] + }, + { + "type": "v1beta1.PodSecurityPolicy", + "method": "PATCH", + "summary": "partially update the specified PodSecurityPolicy", + "nickname": "patchNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "unversioned.Patch", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodSecurityPolicy", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "v1beta1.PodSecurityPolicy" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json" + ] + }, + { + "type": "unversioned.Status", + "method": "DELETE", + "summary": "delete a PodSecurityPolicy", + "nickname": "deleteNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "v1.DeleteOptions", + "paramType": "body", + "name": "body", + "description": "", + "required": true, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodSecurityPolicy", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "unversioned.Status" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "consumes": [ + "*/*" + ] + } + ] + }, + { + "path": "/apis/extensions/v1beta1/watch/podsecuritypolicies/{name}", + "description": "API at /apis/extensions/v1beta1", + "operations": [ + { + "type": "json.WatchEvent", + "method": "GET", + "summary": "watch changes to an object of kind PodSecurityPolicy", + "nickname": "watchNamespacedPodSecurityPolicy", + "parameters": [ + { + "type": "string", + "paramType": "query", + "name": "pretty", + "description": "If 'true', then the output is pretty printed.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "labelSelector", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "fieldSelector", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "required": false, + "allowMultiple": false + }, + { + "type": "boolean", + "paramType": "query", + "name": "watch", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "query", + "name": "resourceVersion", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "required": false, + "allowMultiple": false + }, + { + "type": "integer", + "paramType": "query", + "name": "timeoutSeconds", + "description": "Timeout for the list/watch call.", + "required": false, + "allowMultiple": false + }, + { + "type": "string", + "paramType": "path", + "name": "name", + "description": "name of the PodSecurityPolicy", + "required": true, + "allowMultiple": false + } + ], + "responseMessages": [ + { + "code": 200, + "message": "OK", + "responseModel": "json.WatchEvent" + } + ], + "produces": [ + "application/json" + ], + "consumes": [ + "*/*" + ] + } + ] + }, { "path": "/apis/extensions/v1beta1/namespaces/{namespace}/replicationcontrollers/{name}/scale", "description": "API at /apis/extensions/v1beta1", @@ -4470,6 +5012,188 @@ } } }, + "v1beta1.PodSecurityPolicyList": { + "id": "v1beta1.PodSecurityPolicyList", + "description": "Pod Security Policy List is a list of PodSecurityPolicy objects.", + "required": [ + "items" + ], + "properties": { + "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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "unversioned.ListMeta", + "description": "Standard list metadata. More info: http://docs.k8s.io/api-conventions.md#metadata" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1beta1.PodSecurityPolicy" + }, + "description": "Items is a list of schema objects." + } + } + }, + "v1beta1.PodSecurityPolicy": { + "id": "v1beta1.PodSecurityPolicy", + "description": "Pod Security Policy governs the ability to make requests that affect the Security Context that will be applied to a pod and container.", + "properties": { + "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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds" + }, + "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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources" + }, + "metadata": { + "$ref": "v1.ObjectMeta", + "description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata" + }, + "spec": { + "$ref": "v1beta1.PodSecurityPolicySpec", + "description": "Spec defines the policy enforced." + } + } + }, + "v1beta1.PodSecurityPolicySpec": { + "id": "v1beta1.PodSecurityPolicySpec", + "description": "Pod Security Policy Spec defines the policy enforced.", + "properties": { + "privileged": { + "type": "boolean", + "description": "privileged determines if a pod can request to be run as privileged." + }, + "capabilities": { + "type": "array", + "items": { + "$ref": "v1.Capability" + }, + "description": "capabilities is a list of capabilities that can be added." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "v1beta1.FSType" + }, + "description": "volumes is a white list of allowed volume plugins. Empty indicates that all plugins may be used." + }, + "hostNetwork": { + "type": "boolean", + "description": "hostNetwork determines if the policy allows the use of HostNetwork in the pod spec." + }, + "hostPorts": { + "type": "array", + "items": { + "$ref": "v1beta1.HostPortRange" + }, + "description": "hostPorts determines which host port ranges are allowed to be exposed." + }, + "hostPID": { + "type": "boolean", + "description": "hostPID determines if the policy allows the use of HostPID in the pod spec." + }, + "hostIPC": { + "type": "boolean", + "description": "hostIPC determines if the policy allows the use of HostIPC in the pod spec." + }, + "seLinuxContext": { + "$ref": "v1beta1.SELinuxContextStrategyOptions", + "description": "seLinuxContext is the strategy that will dictate the allowable labels that may be set." + }, + "runAsUser": { + "$ref": "v1beta1.RunAsUserStrategyOptions", + "description": "runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set." + } + } + }, + "v1beta1.FSType": { + "id": "v1beta1.FSType", + "properties": {} + }, + "v1beta1.HostPortRange": { + "id": "v1beta1.HostPortRange", + "description": "Host Port Range defines a range of host ports that will be enabled by a policy for pods to use. It requires both the start and end to be defined.", + "required": [ + "min", + "max" + ], + "properties": { + "min": { + "type": "integer", + "format": "int32", + "description": "min is the start of the range, inclusive." + }, + "max": { + "type": "integer", + "format": "int32", + "description": "max is the end of the range, inclusive." + } + } + }, + "v1beta1.SELinuxContextStrategyOptions": { + "id": "v1beta1.SELinuxContextStrategyOptions", + "description": "SELinux Context Strategy Options defines the strategy type and any options used to create the strategy.", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "type is the strategy that will dictate the allowable labels that may be set." + }, + "seLinuxOptions": { + "$ref": "v1.SELinuxOptions", + "description": "seLinuxOptions required to run as; required for MustRunAs More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context" + } + } + }, + "v1beta1.RunAsUserStrategyOptions": { + "id": "v1beta1.RunAsUserStrategyOptions", + "description": "Run A sUser Strategy Options defines the strategy type and any options used to create the strategy.", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "type is the strategy that will dictate the allowable RunAsUser values that may be set." + }, + "ranges": { + "type": "array", + "items": { + "$ref": "v1beta1.IDRange" + }, + "description": "Ranges are the allowed ranges of uids that may be used." + } + } + }, + "v1beta1.IDRange": { + "id": "v1beta1.IDRange", + "description": "ID Range provides a min/max of an allowed range of IDs.", + "required": [ + "min", + "max" + ], + "properties": { + "min": { + "type": "integer", + "format": "int64", + "description": "Min is the start of the range, inclusive." + }, + "max": { + "type": "integer", + "format": "int64", + "description": "Max is the end of the range, inclusive." + } + } + }, "v1beta1.Scale": { "id": "v1beta1.Scale", "description": "represents a scaling request for a resource.", diff --git a/contrib/completions/bash/kubectl b/contrib/completions/bash/kubectl index 69a4e98ca16..7a6b0c810e0 100644 --- a/contrib/completions/bash/kubectl +++ b/contrib/completions/bash/kubectl @@ -330,6 +330,7 @@ _kubectl_get() must_have_one_noun+=("persistentvolume") must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") + must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("replicationcontroller") must_have_one_noun+=("resourcequota") @@ -827,6 +828,7 @@ _kubectl_delete() must_have_one_noun+=("persistentvolume") must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") + must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("replicationcontroller") must_have_one_noun+=("resourcequota") @@ -1964,6 +1966,7 @@ _kubectl_label() must_have_one_noun+=("persistentvolume") must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") + must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("replicationcontroller") must_have_one_noun+=("resourcequota") diff --git a/docs/api-reference/extensions/v1beta1/definitions.html b/docs/api-reference/extensions/v1beta1/definitions.html index 4ac994c8d15..ec432190ec8 100755 --- a/docs/api-reference/extensions/v1beta1/definitions.html +++ b/docs/api-reference/extensions/v1beta1/definitions.html @@ -458,6 +458,10 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
SELinux Context Strategy Options defines the strategy type and any options used to create the strategy.
+Name | +Description | +Required | +Schema | +Default | +
---|---|---|---|---|
type |
+type is the strategy that will dictate the allowable labels that may be set. |
+true |
+string |
++ |
seLinuxOptions |
+seLinuxOptions required to run as; required for MustRunAs More info: http://releases.k8s.io/HEAD/docs/design/security_context.md#security-context |
+false |
++ | + |
Pod Security Policy List is a list of PodSecurityPolicy objects.
+Name | +Description | +Required | +Schema | +Default | +
---|---|---|---|---|
kind |
+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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds |
+false |
+string |
++ |
apiVersion |
+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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources |
+false |
+string |
++ |
metadata |
+Standard list metadata. More info: http://docs.k8s.io/api-conventions.md#metadata |
+false |
++ | + |
items |
+Items is a list of schema objects. |
+true |
++ | + |
Host Port Range defines a range of host ports that will be enabled by a policy for pods to use. It requires both the start and end to be defined.
+Name | +Description | +Required | +Schema | +Default | +
---|---|---|---|---|
min |
+min is the start of the range, inclusive. |
+true |
+integer (int32) |
++ |
max |
+max is the end of the range, inclusive. |
+true |
+integer (int32) |
++ |
Run A sUser Strategy Options defines the strategy type and any options used to create the strategy.
+Name | +Description | +Required | +Schema | +Default | +
---|---|---|---|---|
type |
+type is the strategy that will dictate the allowable RunAsUser values that may be set. |
+true |
+string |
++ |
ranges |
+Ranges are the allowed ranges of uids that may be used. |
+false |
+v1beta1.IDRange array |
++ |
Pod Security Policy Spec defines the policy enforced.
+Name | +Description | +Required | +Schema | +Default | +
---|---|---|---|---|
privileged |
+privileged determines if a pod can request to be run as privileged. |
+false |
+boolean |
+false |
+
capabilities |
+capabilities is a list of capabilities that can be added. |
+false |
+v1.Capability array |
++ |
volumes |
+volumes is a white list of allowed volume plugins. Empty indicates that all plugins may be used. |
+false |
+v1beta1.FSType array |
++ |
hostNetwork |
+hostNetwork determines if the policy allows the use of HostNetwork in the pod spec. |
+false |
+boolean |
+false |
+
hostPorts |
+hostPorts determines which host port ranges are allowed to be exposed. |
+false |
+v1beta1.HostPortRange array |
++ |
hostPID |
+hostPID determines if the policy allows the use of HostPID in the pod spec. |
+false |
+boolean |
+false |
+
hostIPC |
+hostIPC determines if the policy allows the use of HostIPC in the pod spec. |
+false |
+boolean |
+false |
+
seLinuxContext |
+seLinuxContext is the strategy that will dictate the allowable labels that may be set. |
+false |
++ | + |
runAsUser |
+runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set. |
+false |
++ | + |
Pod Security Policy governs the ability to make requests that affect the Security Context that will be applied to a pod and container.
+Name | +Description | +Required | +Schema | +Default | +
---|---|---|---|---|
kind |
+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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds |
+false |
+string |
++ |
apiVersion |
+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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources |
+false |
+string |
++ |
metadata |
+Standard object’s metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata |
+false |
++ | + |
spec |
+Spec defines the policy enforced. |
+false |
++ | + |
ID Range provides a min/max of an allowed range of IDs.
+Name | +Description | +Required | +Schema | +Default | +
---|---|---|---|---|
min |
+Min is the start of the range, inclusive. |
+true |
+integer (int64) |
++ |
max |
+Max is the end of the range, inclusive. |
+true |
+integer (int64) |
++ |