customResourceDefinition

CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format <.spec.name>.<.spec.group>.

Constuctors

Mixins
  • metadata


    Functions
    • mixinInstance

      mixinInstance(metadata)
      


    • withAnnotations

      withAnnotations(annotations)
      

      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


    • withAnnotationsMixin

      withAnnotationsMixin(annotations)
      

      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


    • withClusterName

      withClusterName(clusterName)
      

      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.


    • withFinalizers

      withFinalizers(finalizers)
      

      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.


    • withFinalizersMixin

      withFinalizersMixin(finalizers)
      

      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.


    • withGenerateName

      withGenerateName(generateName)
      

      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


    • withLabels

      withLabels(labels)
      

      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 services. More info: http://kubernetes.io/docs/user-guide/labels


    • withLabelsMixin

      withLabelsMixin(labels)
      

      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 services. More info: http://kubernetes.io/docs/user-guide/labels


    • withManagedFields

      withManagedFields(managedFields)
      

      ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn’t need to set or understand this field. A workflow can be the user’s name, a controller’s name, or the name of a specific apply path like “ci-cd”. The set of fields is always in the version that the workflow used when modifying the object.

      This field is alpha and can be changed or removed without notice.

      withManagedFields takes an array of type managedFieldsType. You can create an instance of managedFieldsType with hidden.meta.v1.managedFieldsEntry.new().

      see hidden.meta.v1.managedFieldsEntry


    • withManagedFieldsMixin

      withManagedFieldsMixin(managedFields)
      

      ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn’t need to set or understand this field. A workflow can be the user’s name, a controller’s name, or the name of a specific apply path like “ci-cd”. The set of fields is always in the version that the workflow used when modifying the object.

      This field is alpha and can be changed or removed without notice.

      withManagedFieldsMixin takes an array of type managedFieldsType. You can create an instance of managedFieldsType with hidden.meta.v1.managedFieldsEntry.new().

      see hidden.meta.v1.managedFieldsEntry


    • withName

      withName(name)
      

      Name must be unique within a namespace. 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


    • withNamespace

      withNamespace(namespace)
      

      Namespace defines the space within each name must be unique. An empty namespace is equivalent to the “default” namespace, but “default” is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

      Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces


    • withOwnerReferences

      withOwnerReferences(ownerReferences)
      

      List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.

      withOwnerReferences takes an array of type ownerReferencesType. You can create an instance of ownerReferencesType with hidden.meta.v1.ownerReference.new().

      see hidden.meta.v1.ownerReference


    • withOwnerReferencesMixin

      withOwnerReferencesMixin(ownerReferences)
      

      List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.

      withOwnerReferencesMixin takes an array of type ownerReferencesType. You can create an instance of ownerReferencesType with hidden.meta.v1.ownerReference.new().

      see hidden.meta.v1.ownerReference


    Mixins
    • initializers

      An initializer is a controller which enforces some system invariant at object creation time. This field is a list of initializers that have not yet acted on this object. If nil or empty, this object has been completely initialized. Otherwise, the object is considered uninitialized and is hidden (in list/watch and get calls) from clients that haven't explicitly asked to observe uninitialized objects.

      When an object is created, the system will populate this list with the current set of initializers. Only privileged users may set or modify this list. Once it is empty, it may not be modified further by any user.

      DEPRECATED - initializers are an alpha field and will be removed in v1.15.


      Functions
      • mixinInstance

        mixinInstance(initializers)
        


      • withPending

        withPending(pending)
        

        Pending is a list of initializers that must execute in order before this object is visible. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.

        withPending takes an array of type pendingType. You can create an instance of pendingType with hidden.meta.v1.initializer.new().

        see hidden.meta.v1.initializer


      • withPendingMixin

        withPendingMixin(pending)
        

        Pending is a list of initializers that must execute in order before this object is visible. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.

        withPendingMixin takes an array of type pendingType. You can create an instance of pendingType with hidden.meta.v1.initializer.new().

        see hidden.meta.v1.initializer


  • spec

    Spec describes how the user wants the resources to appear


    Functions
    • mixinInstance

      mixinInstance(spec)
      


    • withAdditionalPrinterColumns

      withAdditionalPrinterColumns(additionalPrinterColumns)
      

      AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. Optional, the global columns for all versions. Top-level and per-version columns are mutually exclusive.

      withAdditionalPrinterColumns takes an array of type additionalPrinterColumnsType. You can create an instance of additionalPrinterColumnsType with hidden.apiextensions.v1beta1.customResourceColumnDefinition.new().

      see hidden.apiextensions.v1beta1.customResourceColumnDefinition


    • withAdditionalPrinterColumnsMixin

      withAdditionalPrinterColumnsMixin(additionalPrinterColumns)
      

      AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. Optional, the global columns for all versions. Top-level and per-version columns are mutually exclusive.

      withAdditionalPrinterColumnsMixin takes an array of type additionalPrinterColumnsType. You can create an instance of additionalPrinterColumnsType with hidden.apiextensions.v1beta1.customResourceColumnDefinition.new().

      see hidden.apiextensions.v1beta1.customResourceColumnDefinition


    • withGroup

      withGroup(group)
      

      Group is the group this resource belongs in


    • withPreserveUnknownFields

      withPreserveUnknownFields(preserveUnknownFields)
      

      preserveUnknownFields disables pruning of object fields which are not specified in the OpenAPI schema. apiVersion, kind, metadata and known fields inside metadata are always preserved. Defaults to true in v1beta and will default to false in v1.


    • withScope

      withScope(scope)
      

      Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced


    • withVersion

      withVersion(version)
      

      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.


    • withVersions

      withVersions(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.

      withVersions takes an array of type versionsType. You can create an instance of versionsType with hidden.apiextensions.v1beta1.customResourceDefinitionVersion.new().

      see hidden.apiextensions.v1beta1.customResourceDefinitionVersion


    • withVersionsMixin

      withVersionsMixin(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.

      withVersionsMixin takes an array of type versionsType. You can create an instance of versionsType with hidden.apiextensions.v1beta1.customResourceDefinitionVersion.new().

      see hidden.apiextensions.v1beta1.customResourceDefinitionVersion


    Mixins
    • conversion

      `conversion` defines conversion settings for the CRD.


      Functions
      • mixinInstance

        mixinInstance(conversion)
        


      • withConversionReviewVersions

        withConversionReviewVersions(conversionReviewVersions)
        

        ConversionReviewVersions is an ordered list of preferred ConversionReview versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, conversion will fail for this object. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail. Default to ['v1beta1'].


      • withConversionReviewVersionsMixin

        withConversionReviewVersionsMixin(conversionReviewVersions)
        

        ConversionReviewVersions is an ordered list of preferred ConversionReview versions the Webhook expects. API server will try to use first version in the list which it supports. If none of the versions specified in this list supported by API server, conversion will fail for this object. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail. Default to ['v1beta1'].


      • withStrategy

        withStrategy(strategy)
        

        strategy specifies the conversion strategy. Allowed values are: - None: The converter only change the apiVersion and would not touch any other field in the CR. - Webhook: API Server will call to an external webhook to do the conversion. Additional information

        is needed for this option. This requires spec.preserveUnknownFields to be false.


      Mixins
      • webhookClientConfig

        `webhookClientConfig` is the instructions for how to call the webhook if strategy is `Webhook`. This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature.


        Functions
        • mixinInstance

          mixinInstance(webhookClientConfig)
          


        • withCaBundle

          withCaBundle(caBundle)
          

          caBundle is a PEM encoded CA bundle which will be used to validate the webhook’s server certificate. If unspecified, system trust roots on the apiserver are used.


        • withUrl

          withUrl(url)
          

          url gives the location of the webhook, in standard URL form (scheme://host:port/path). Exactly one of url or service must be specified.

          The host should not refer to a service running in the cluster; use the service field instead. The host might be resolved via external DNS in some apiservers (e.g., kube-apiserver cannot resolve in-cluster DNS as that would be a layering violation). host may also be an IP address.

          Please note that using localhost or 127.0.0.1 as a host is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.

          The scheme must be “https”; the URL must begin with “https://“.

          A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.

          Attempting to use a user or basic auth e.g. “user:password@” is not allowed. Fragments (“#…”) and query parameters (“?…”) are not allowed, either.


        Mixins
        • service

          `service` is a reference to the service for this webhook. Either `service` or `url` must be specified.

          If the webhook is running within the cluster, then you should use `service`.


          Functions
          • mixinInstance

            mixinInstance(service)
            


          • withName

            withName(name)
            

            name is the name of the service. Required


          • withNamespace

            withNamespace(namespace)
            

            namespace is the namespace of the service. Required


          • withPath

            withPath(path)
            

            path is an optional URL path which will be sent in any request to this service.


          • withPort

            withPort(port)
            

            If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. port should be a valid port number (1-65535, inclusive).


    • names

      Names are the names used to describe this custom resource


      Functions
      • mixinInstance

        mixinInstance(names)
        


      • withCategories

        withCategories(categories)
        

        Categories is a list of grouped resources custom resources belong to (e.g. ‘all’)


      • withCategoriesMixin

        withCategoriesMixin(categories)
        

        Categories is a list of grouped resources custom resources belong to (e.g. ‘all’)


      • withKind

        withKind(kind)
        

        Kind is the serialized kind of the resource. It is normally CamelCase and singular.


      • withListKind

        withListKind(listKind)
        

        ListKind is the serialized kind of the list for this resource. Defaults to List.


      • withPlural

        withPlural(plural)
        

        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.


      • withShortNames

        withShortNames(shortNames)
        

        ShortNames are short names for the resource. It must be all lowercase.


      • withShortNamesMixin

        withShortNamesMixin(shortNames)
        

        ShortNames are short names for the resource. It must be all lowercase.


      • withSingular

        withSingular(singular)
        

        Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased


    • subresources

      Subresources describes the subresources for CustomResource Optional, the global subresources for all versions. Top-level and per-version subresources are mutually exclusive.


      Functions
      Mixins
      • scale

        Scale denotes the scale subresource for CustomResources


        Functions
        • mixinInstance

          mixinInstance(scale)
          


        • withLabelSelectorPath

          withLabelSelectorPath(labelSelectorPath)
          

          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 or .spec. Must be set to work with HPA. The field pointed by this JSON path must be a string field (not a complex selector struct) which contains a serialized label selector in string form. More info: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource 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.


        • withSpecReplicasPath

          withSpecReplicasPath(specReplicasPath)
          

          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.


        • withStatusReplicasPath

          withStatusReplicasPath(statusReplicasPath)
          

          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.


    • validation

      Validation describes the validation methods for CustomResources Optional, the global validation schema for all versions. Top-level and per-version schemas are mutually exclusive.


      Functions