<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="run_v1beta1.html">Cloud Run Admin API</a> . <a href="run_v1beta1.customresourcedefinitions.html">customresourcedefinitions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#list">list(parent=None, fieldSelector=None, resourceVersion=None, continue=None, limit=None, watch=None, includeUninitialized=None, labelSelector=None, x__xgafv=None)</a></code></p>
<p class="firstline">Rpc to list custom resource definitions.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent=None, fieldSelector=None, resourceVersion=None, continue=None, limit=None, watch=None, includeUninitialized=None, labelSelector=None, x__xgafv=None)</code>
  <pre>Rpc to list custom resource definitions.

Args:
  parent: string, The project ID or project number from which the storages should be listed.
  fieldSelector: string, Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. &#x27;metadata.name%3Dlorem&#x27;. Not currently used by Cloud Run.
  resourceVersion: string, The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.
  continue: string, Optional encoded string to continue paging.
  limit: integer, A parameter
  watch: boolean, Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.
  includeUninitialized: boolean, Not currently used by Cloud Run.
  labelSelector: string, Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    &quot;metadata&quot;: { # ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}. # Metadata associated with this CustomResourceDefinition list.
      &quot;resourceVersion&quot;: &quot;A String&quot;, # String that identifies the server&#x27;s internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
      &quot;continue&quot;: &quot;A String&quot;, # continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response.
      &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional
    },
    &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;CustomResourceDefinitionList&quot;.
    &quot;items&quot;: [ # List of CustomResourceDefinitions.
      { # CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format &lt;.spec.name&gt;.&lt;.spec.group&gt;.
        &quot;spec&quot;: { # CustomResourceDefinitionSpec describes how a user wants their resource to appear # Spec describes how the user wants the resources to appear
          &quot;validation&quot;: { # CustomResourceValidation is a list of validation methods for CustomResources. # Validation describes the validation methods for CustomResources +optional
            &quot;openAPIV3Schema&quot;: { # JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). # OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. +optional
              &quot;dependencies&quot;: {
                &quot;a_key&quot;: { # JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array.
                  &quot;property&quot;: [
                    &quot;A String&quot;,
                  ],
                  &quot;schema&quot;: # Object with schema name: JSONSchemaProps
                },
              },
              &quot;format&quot;: &quot;A String&quot;,
              &quot;description&quot;: &quot;A String&quot;,
              &quot;maxItems&quot;: &quot;A String&quot;,
              &quot;items&quot;: { # JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes.
                &quot;jsonSchemas&quot;: [
                  # Object with schema name: JSONSchemaProps
                ],
                &quot;schema&quot;: # Object with schema name: JSONSchemaProps
              },
              &quot;maximum&quot;: 3.14,
              &quot;exclusiveMaximum&quot;: True or False,
              &quot;not&quot;: # Object with schema name: JSONSchemaProps
              &quot;properties&quot;: {
                &quot;a_key&quot;: # Object with schema name: JSONSchemaProps
              },
              &quot;minimum&quot;: 3.14,
              &quot;example&quot;: { # JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.
                &quot;raw&quot;: &quot;A String&quot;,
              },
              &quot;minItems&quot;: &quot;A String&quot;,
              &quot;maxProperties&quot;: &quot;A String&quot;,
              &quot;enum&quot;: [
                &quot;A String&quot;,
              ],
              &quot;patternProperties&quot;: {
                &quot;a_key&quot;: # Object with schema name: JSONSchemaProps
              },
              &quot;ref&quot;: &quot;A String&quot;,
              &quot;title&quot;: &quot;A String&quot;,
              &quot;exclusiveMinimum&quot;: True or False,
              &quot;pattern&quot;: &quot;A String&quot;,
              &quot;schema&quot;: &quot;A String&quot;,
              &quot;allOf&quot;: [
                # Object with schema name: JSONSchemaProps
              ],
              &quot;minProperties&quot;: &quot;A String&quot;,
              &quot;type&quot;: &quot;A String&quot;,
              &quot;uniqueItems&quot;: True or False,
              &quot;minLength&quot;: &quot;A String&quot;,
              &quot;externalDocs&quot;: { # ExternalDocumentation allows referencing an external resource for extended documentation.
                &quot;url&quot;: &quot;A String&quot;,
                &quot;description&quot;: &quot;A String&quot;,
              },
              &quot;additionalProperties&quot;: { # JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. Defaults to true for the boolean property.
                &quot;schema&quot;: # Object with schema name: JSONSchemaProps
                &quot;allows&quot;: True or False,
              },
              &quot;anyOf&quot;: [
                # Object with schema name: JSONSchemaProps
              ],
              &quot;required&quot;: [
                &quot;A String&quot;,
              ],
              &quot;maxLength&quot;: &quot;A String&quot;,
              &quot;definitions&quot;: {
                &quot;a_key&quot;: # Object with schema name: JSONSchemaProps
              },
              &quot;multipleOf&quot;: 3.14,
              &quot;id&quot;: &quot;A String&quot;,
              &quot;additionalItems&quot;: { # JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. Defaults to true for the boolean property.
                &quot;schema&quot;: # Object with schema name: JSONSchemaProps
                &quot;allows&quot;: True or False,
              },
              &quot;oneOf&quot;: [
                # Object with schema name: JSONSchemaProps
              ],
              &quot;default&quot;: { # JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.
                &quot;raw&quot;: &quot;A String&quot;,
              },
            },
          },
          &quot;subresources&quot;: { # CustomResourceSubresources defines the status and scale subresources for CustomResources. # Subresources describes the subresources for CustomResources +optional
            &quot;status&quot;: { # CustomResourceSubresourceStatus defines how to serve the status subresource 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 # Status denotes the status subresource for CustomResources +optional
            },
            &quot;scale&quot;: { # CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources. # Scale denotes the scale subresource for CustomResources +optional
              &quot;specReplicasPath&quot;: &quot;A String&quot;, # 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.
              &quot;statusReplicasPath&quot;: &quot;A String&quot;, # 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.
              &quot;labelSelectorPath&quot;: &quot;A String&quot;, # 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
            },
          },
          &quot;additionalPrinterColumns&quot;: [ # 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.
              &quot;priority&quot;: 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
              &quot;name&quot;: &quot;A String&quot;, # name is a human readable name for the column.
              &quot;jsonPath&quot;: &quot;A String&quot;, # JSONPath is a simple JSON path, i.e. with array notation.
              &quot;format&quot;: &quot;A String&quot;, # format is an optional OpenAPI type definition for this column. The &#x27;name&#x27; 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
              &quot;type&quot;: &quot;A String&quot;, # 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.
              &quot;description&quot;: &quot;A String&quot;, # description is a human readable description of this column. +optional
            },
          ],
          &quot;names&quot;: { # CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition # Names are the names used to describe this custom resource
            &quot;plural&quot;: &quot;A String&quot;, # 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.
            &quot;categories&quot;: [ # Categories is a list of grouped resources custom resources belong to (e.g. &#x27;all&#x27;) +optional
              &quot;A String&quot;,
            ],
            &quot;singular&quot;: &quot;A String&quot;, # Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased +optional
            &quot;kind&quot;: &quot;A String&quot;, # Kind is the serialized kind of the resource. It is normally CamelCase and singular.
            &quot;shortNames&quot;: [ # ShortNames are short names for the resource. It must be all lowercase. +optional
              &quot;A String&quot;,
            ],
            &quot;listKind&quot;: &quot;A String&quot;, # ListKind is the serialized kind of the list for this resource. Defaults to List. +optional
          },
          &quot;group&quot;: &quot;A String&quot;, # Group is the group this resource belongs in
          &quot;scope&quot;: &quot;A String&quot;, # Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced
          &quot;version&quot;: &quot;A String&quot;, # 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
          &quot;versions&quot;: [ # 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 &quot;kube-like&quot;, it will sort above non &quot;kube-like&quot; version strings, which are ordered lexicographically. &quot;Kube-like&quot; versions start with a &quot;v&quot;, then are followed by a number (the major version), then optionally the string &quot;alpha&quot; or &quot;beta&quot; and another number (the minor version). These are sorted first by GA &gt; beta &gt; 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
            {
              &quot;storage&quot;: True or False, # Storage flags the version as storage version. There must be exactly one flagged as storage version.
              &quot;name&quot;: &quot;A String&quot;, # Name is the version name, e.g. “v1”, “v2beta1”, etc.
              &quot;served&quot;: True or False, # Served is a flag enabling/disabling this version from being served via REST APIs
            },
          ],
        },
        &quot;metadata&quot;: { # k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this CustomResourceDefinition.
          &quot;clusterName&quot;: &quot;A String&quot;, # (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.
          &quot;creationTimestamp&quot;: &quot;A String&quot;, # (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
          &quot;labels&quot;: { # (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
            &quot;a_key&quot;: &quot;A String&quot;,
          },
          &quot;namespace&quot;: &quot;A String&quot;, # 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.
          &quot;finalizers&quot;: [ # (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
            &quot;A String&quot;,
          ],
          &quot;ownerReferences&quot;: [ # (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.
              &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
              &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
              &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
              &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; 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 &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
              &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
            },
          ],
          &quot;annotations&quot;: { # (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
            &quot;a_key&quot;: &quot;A String&quot;,
          },
          &quot;generateName&quot;: &quot;A String&quot;, # (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;
          &quot;deletionGracePeriodSeconds&quot;: 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.
          &quot;uid&quot;: &quot;A String&quot;, # (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
          &quot;deletionTimestamp&quot;: &quot;A String&quot;, # (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
          &quot;name&quot;: &quot;A String&quot;, # 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
          &quot;selfLink&quot;: &quot;A String&quot;, # (Optional) SelfLink is a URL representing this object. Populated by the system. Read-only. string selfLink = 4;
          &quot;resourceVersion&quot;: &quot;A String&quot;, # (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. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
          &quot;generation&quot;: 42, # (Optional) A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
        },
        &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;k8s.apiextensions.io/v1beta1&quot;.
        &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;CustomResourceDefinition&quot;.
      },
    ],
    &quot;unreachable&quot;: [ # Locations that could not be reached.
      &quot;A String&quot;,
    ],
    &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;k8s.apiextensions.io/v1beta1&quot;.
  }</pre>
</div>

</body></html>