Rpc to get information about a CustomResourceDefinition.
get(name, x__xgafv=None)
Rpc to get information about a CustomResourceDefinition.
Args:
name: string, The name of the CustomResourceDefinition being retrieved. If needed,
replace {namespace_id} with the project ID. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # CustomResourceDefinition represents a resource that should be exposed on the
# API server. Its name MUST be in the format
# <.spec.name>.<.spec.group>.
"apiVersion": "A String", # The API version for this call such as "k8s.apiextensions.io/v1beta1".
"spec": { # CustomResourceDefinitionSpec describes how a user wants their resource to # Spec describes how the user wants the resources to appear
# appear
"validation": { # CustomResourceValidation is a list of validation methods for CustomResources. # Validation describes the validation methods for CustomResources
# +optional
"openAPIV3Schema": { # JSONSchemaProps is a JSON-Schema following Specification Draft 4 # OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
# +optional
# (http://json-schema.org/).
"description": "A String",
"example": { # JSON represents any valid JSON value.
# These types are supported: bool, int64, float64, string, []interface{},
# map[string]interface{} and nil.
"raw": "A String",
},
"default": { # JSON represents any valid JSON value.
# These types are supported: bool, int64, float64, string, []interface{},
# map[string]interface{} and nil.
"raw": "A String",
},
"allOf": [
# Object with schema name: JSONSchemaProps
],
"maxLength": "A String",
"maxProperties": "A String",
"multipleOf": 3.14,
"maximum": 3.14,
"items": { # JSONSchemaPropsOrArray represents a value that can either be a
# JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization
# purposes.
"jsonSchemas": [
# Object with schema name: JSONSchemaProps
],
"schema": # Object with schema name: JSONSchemaProps
},
"externalDocs": { # ExternalDocumentation allows referencing an external resource for extended
# documentation.
"description": "A String",
"url": "A String",
},
"schema": "A String",
"id": "A String",
"minimum": 3.14,
"properties": {
"a_key": # Object with schema name: JSONSchemaProps
},
"pattern": "A String",
"ref": "A String",
"format": "A String",
"minLength": "A String",
"type": "A String",
"dependencies": {
"a_key": { # JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array.
"schema": # Object with schema name: JSONSchemaProps
"property": [
"A String",
],
},
},
"not": # Object with schema name: JSONSchemaProps
"minProperties": "A String",
"exclusiveMaximum": True or False,
"patternProperties": {
"a_key": # Object with schema name: JSONSchemaProps
},
"additionalProperties": { # JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value.
# Defaults to true for the boolean property.
"allows": True or False,
"schema": # Object with schema name: JSONSchemaProps
},
"maxItems": "A String",
"exclusiveMinimum": True or False,
"additionalItems": { # JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value.
# Defaults to true for the boolean property.
"allows": True or False,
"schema": # Object with schema name: JSONSchemaProps
},
"oneOf": [
# Object with schema name: JSONSchemaProps
],
"required": [
"A String",
],
"minItems": "A String",
"title": "A String",
"definitions": {
"a_key": # Object with schema name: JSONSchemaProps
},
"enum": [
"A String",
],
"uniqueItems": True or False,
"anyOf": [
# Object with schema name: JSONSchemaProps
],
},
},
"group": "A String", # Group is the group this resource belongs in
"version": "A String", # Version is the version this resource belongs in
# Should be always first item in Versions field if provided.
# Optional, but at least one of Version or Versions must be set.
# Deprecated: Please use `Versions`.
# +optional
"names": { # CustomResourceDefinitionNames indicates the names to serve this # Names are the names used to describe this custom resource
# CustomResourceDefinition
"kind": "A String", # Kind is the serialized kind of the resource. It is normally CamelCase and
# singular.
"listKind": "A String", # ListKind is the serialized kind of the list for this resource. Defaults to
# <kind>List. +optional
"shortNames": [ # ShortNames are short names for the resource. It must be all lowercase.
# +optional
"A String",
],
"singular": "A String", # Singular is the singular name of the resource. It must be all lowercase
# Defaults to lowercased <kind> +optional
"plural": "A String", # Plural is the plural name of the resource to serve. It must match the name
# of the CustomResourceDefinition-registration too: plural.group and it must
# be all lowercase.
"categories": [ # Categories is a list of grouped resources custom resources belong to (e.g.
# 'all') +optional
"A String",
],
},
"subresources": { # CustomResourceSubresources defines the status and scale subresources for # Subresources describes the subresources for CustomResources
# +optional
# CustomResources.
"status": { # CustomResourceSubresourceStatus defines how to serve the status subresource # Status denotes the status subresource for CustomResources
# +optional
# for CustomResources. Status is represented by the `.status` JSON path inside
# of a CustomResource. When set,
# * exposes a /status subresource for the custom resource
# * PUT requests to the /status subresource take a custom resource object, and
# ignore changes to anything except the status stanza
# * PUT/POST/PATCH requests to the custom resource ignore changes to the status
# stanza
},
"scale": { # CustomResourceSubresourceScale defines how to serve the scale subresource for # Scale denotes the scale subresource for CustomResources
# +optional
# CustomResources.
"statusReplicasPath": "A String", # StatusReplicasPath defines the JSON path inside of a CustomResource that
# corresponds to Scale.Status.Replicas. Only JSON paths without the array
# notation are allowed. Must be a JSON Path under .status. If there is no
# value under the given path in the CustomResource, the status replica value
# in the /scale subresource will default to 0.
"labelSelectorPath": "A String", # LabelSelectorPath defines the JSON path inside of a CustomResource that
# corresponds to Scale.Status.Selector. Only JSON paths without the array
# notation are allowed. Must be a JSON Path under .status. Must be set to
# work with HPA. If there is no value under the given path in the
# CustomResource, the status label selector value in the /scale subresource
# will default to the empty string. +optional
"specReplicasPath": "A String", # SpecReplicasPath defines the JSON path inside of a CustomResource that
# corresponds to Scale.Spec.Replicas. Only JSON paths without the array
# notation are allowed. Must be a JSON Path under .spec. If there is no value
# under the given path in the CustomResource, the /scale subresource will
# return an error on GET.
},
},
"scope": "A String", # Scope indicates whether this resource is cluster or namespace scoped.
# Default is namespaced
"versions": [ # Versions is the list of all supported versions for this resource.
# If Version field is provided, this field is optional.
# Validation: All versions must use the same validation schema for now. i.e.,
# top level Validation field is applied to all of these versions. Order: The
# version name will be used to compute the order. If the version string is
# "kube-like", it will sort above non "kube-like" version strings, which are
# ordered lexicographically. "Kube-like" versions start with a "v", then are
# followed by a number (the major version), then optionally the string
# "alpha" or "beta" and another number (the minor version). These are sorted
# first by GA > beta > alpha (where GA is a version with no suffix such as
# beta or alpha), and then by comparing major version, then minor version. An
# example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1,
# v12alpha1, v11alpha2, foo1, foo10. +optional
{
"name": "A String", # Name is the version name, e.g. “v1”, “v2beta1”, etc.
"served": True or False, # Served is a flag enabling/disabling this version from being served via REST
# APIs
"storage": True or False, # Storage flags the version as storage version. There must be exactly one
# flagged as storage version.
},
],
"additionalPrinterColumns": [ # AdditionalPrinterColumns are additional columns shown e.g. in kubectl next
# to the name. Defaults to a created-at column. +optional
{ # CustomResourceColumnDefinition specifies a column for server side printing.
"jsonPath": "A String", # JSONPath is a simple JSON path, i.e. with array notation.
"priority": 42, # priority is an integer defining the relative importance of this column
# compared to others. Lower numbers are considered higher priority. Columns
# that may be omitted in limited space scenarios should be given a higher
# priority. +optional
"description": "A String", # description is a human readable description of this column.
# +optional
"name": "A String", # name is a human readable name for the column.
"format": "A String", # format is an optional OpenAPI type definition for this column. The 'name'
# format is applied to the primary identifier column to assist in clients
# identifying column is the resource name. See
# https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types
# for more. +optional
"type": "A String", # type is an OpenAPI type definition for this column.
# See
# https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types
# for more.
},
],
},
"kind": "A String", # The kind of resource, in this case always "CustomResourceDefinition".
"metadata": { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all # Metadata associated with this CustomResourceDefinition.
# persisted resources must have, which includes all objects users must create.
"generateName": "A String", # (Optional)
#
# Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# GenerateName is an optional prefix, used by the server, to generate a
# unique name ONLY IF the Name field has not been provided. If this field is
# used, the name returned to the client will be different than the name
# passed. This value will also be combined with a unique suffix. The provided
# value has the same validation rules as the Name field, and may be truncated
# by the length of the suffix required to make the value unique on the
# server.
#
# If this field is specified and the generated name exists, the server will
# NOT return a 409 - instead, it will either return 201 Created or 500 with
# Reason ServerTimeout indicating a unique name could not be found in the
# time allotted, and the client should retry (optionally after the time
# indicated in the Retry-After header).
#
# Applied only if Name is not specified.
# More info:
# https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
# string generateName = 2;
"name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
# Is required when creating
# resources, although some resources may allow a client to request the
# generation of an appropriate name automatically. Name is primarily intended
# for creation idempotence and configuration definition. Cannot be updated.
# More info: http://kubernetes.io/docs/user-guide/identifiers#names
# +optional
"deletionGracePeriodSeconds": 42, # (Optional)
#
# Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# Number of seconds allowed for this object to gracefully terminate before
# it will be removed from the system. Only set when deletionTimestamp is also
# set. May only be shortened. Read-only.
"clusterName": "A String", # (Optional)
#
# Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The name of the cluster which the object belongs to.
# This is used to distinguish resources with same name and namespace in
# different clusters. This field is not set anywhere right now and apiserver
# is going to ignore it if set in create or update request.
"finalizers": [ # (Optional)
#
# Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# Must be empty before the object is deleted from the registry. Each entry
# is an identifier for the responsible component that will remove the entry
# from the list. If the deletionTimestamp of the object is non-nil, entries
# in this list can only be removed.
# +patchStrategy=merge
"A String",
],
"deletionTimestamp": "A String", # (Optional)
#
# Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# DeletionTimestamp is RFC 3339 date and time at which this resource will be
# deleted. This field is set by the server when a graceful deletion is
# requested by the user, and is not directly settable by a client. The
# resource is expected to be deleted (no longer visible from resource lists,
# and not reachable by name) after the time in this field, once the
# finalizers list is empty. As long as the finalizers list contains items,
# deletion is blocked. Once the deletionTimestamp is set, this value may not
# be unset or be set further into the future, although it may be shortened or
# the resource may be deleted prior to this time. For example, a user may
# request that a pod is deleted in 30 seconds. The Kubelet will react by
# sending a graceful termination signal to the containers in the pod. After
# that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
# to the container and after cleanup, remove the pod from the API. In the
# presence of network partitions, this object may still exist after this
# timestamp, until an administrator or automated process can determine the
# resource is fully terminated.
# If not set, graceful deletion of the object has not been requested.
#
# Populated by the system when a graceful deletion is requested.
# Read-only.
# More info:
# https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
"ownerReferences": [ # (Optional)
#
# Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# List of objects that own this object. If ALL objects in the list have
# been deleted, this object will be garbage collected.
{ # OwnerReference contains enough information to let you identify an owning
# object. Currently, an owning object must be in the same namespace, so there
# is no namespace field.
"apiVersion": "A String", # API version of the referent.
"name": "A String", # Name of the referent.
# More info: http://kubernetes.io/docs/user-guide/identifiers#names
"uid": "A String", # UID of the referent.
# More info: http://kubernetes.io/docs/user-guide/identifiers#uids
"controller": True or False, # If true, this reference points to the managing controller.
# +optional
"kind": "A String", # Kind of the referent.
# More info:
# https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
"blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
# the owner cannot be deleted from the key-value store until this
# reference is removed.
# Defaults to false.
# To set this field, a user needs "delete" permission of the owner,
# otherwise 422 (Unprocessable Entity) will be returned.
# +optional
},
],
"creationTimestamp": "A String", # (Optional)
#
# CreationTimestamp is a timestamp representing the server time when this
# object was created. It is not guaranteed to be set in happens-before order
# across separate operations. Clients may not set this value. It is
# represented in RFC3339 form and is in UTC.
#
# Populated by the system.
# Read-only.
# Null for lists.
# More info:
# https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
"labels": { # (Optional)
#
# Map of string keys and values that can be used to organize and categorize
# (scope and select) objects. May match selectors of replication controllers
# and routes.
# More info: http://kubernetes.io/docs/user-guide/labels
"a_key": "A String",
},
"generation": 42, # (Optional)
#
# A sequence number representing a specific generation of the desired state.
# Populated by the system. Read-only.
"resourceVersion": "A String", # (Optional)
#
# An opaque value that represents the internal version of this object that
# can be used by clients to determine when objects have changed. May be used
# for optimistic concurrency, change detection, and the watch operation on a
# resource or set of resources. Clients must treat these values as opaque and
# passed unmodified back to the server. They may only be valid for a
# particular resource or set of resources.
#
# Populated by the system.
# Read-only.
# Value must be treated as opaque by clients and .
# More info:
# https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
"uid": "A String", # (Optional)
#
# UID is the unique in time and space value for this object. It is typically
# generated by the server on successful creation of a resource and is not
# allowed to change on PUT operations.
#
# Populated by the system.
# Read-only.
# More info: http://kubernetes.io/docs/user-guide/identifiers#uids
"selfLink": "A String", # (Optional)
#
# SelfLink is a URL representing this object.
# Populated by the system.
# Read-only.
# string selfLink = 4;
"namespace": "A String", # Namespace defines the space within each name must be unique, within a
# Cloud Run region. In Cloud Run the namespace must be equal to either the
# project ID or project number.
"annotations": { # (Optional)
#
# Annotations is an unstructured key value map stored with a resource that
# may be set by external tools to store and retrieve arbitrary metadata. They
# are not queryable and should be preserved when modifying objects. More
# info: http://kubernetes.io/docs/user-guide/annotations
"a_key": "A String",
},
},
}