Module apiextensions/v1beta1

@pulumi/kubernetes > apiextensions > v1beta1

Index

types/input.ts types/output.ts

function isCustomResourceDefinition

isCustomResourceDefinition(o: any): boolean

function isCustomResourceDefinitionList

isCustomResourceDefinitionList(o: any): boolean

interface CustomResourceColumnDefinition

CustomResourceColumnDefinition specifies a column for server side printing.

property JSONPath

JSONPath: string;

JSONPath is a simple JSON path, i.e. with array notation.

property description

description: string;

description is a human readable description of this column.

property format

format: 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.

property name

name: string;

name is a human readable name for the column.

property priority

priority: number;

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.

property type

type: 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.

interface CustomResourceConversion

CustomResourceConversion describes how to convert different versions of a CR.

property strategy

strategy: string;

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.

property webhookClientConfig

webhookClientConfig: 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.

interface CustomResourceDefinition

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

property apiVersion

apiVersion: string;

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/api-conventions.md#resources

property kind

kind: string;

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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

property metadata

metadata: ObjectMeta;

property spec

spec: CustomResourceDefinitionSpec;

Spec describes how the user wants the resources to appear

property status

status: CustomResourceDefinitionStatus;

Status indicates the actual state of the CustomResourceDefinition

interface CustomResourceDefinitionCondition

CustomResourceDefinitionCondition contains details for the current condition of this pod.

property lastTransitionTime

lastTransitionTime: string;

Last time the condition transitioned from one status to another.

property message

message: string;

Human-readable message indicating details about last transition.

property reason

reason: string;

Unique, one-word, CamelCase reason for the condition’s last transition.

property status

status: string;

Status is the status of the condition. Can be True, False, Unknown.

property type

type: string;

Type is the type of the condition.

interface CustomResourceDefinitionList

CustomResourceDefinitionList is a list of CustomResourceDefinition objects.

property apiVersion

apiVersion: string;

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/api-conventions.md#resources

property items

items: CustomResourceDefinition[];

Items individual CustomResourceDefinitions

property kind

kind: string;

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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

property metadata

metadata: ListMeta;

interface CustomResourceDefinitionNames

CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition

property categories

categories: string[];

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

property kind

kind: string;

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

property listKind

listKind: string;

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

property plural

plural: 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.

property shortNames

shortNames: string[];

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

property singular

singular: string;

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

interface CustomResourceDefinitionSpec

CustomResourceDefinitionSpec describes how a user wants their resource to appear

property additionalPrinterColumns

additionalPrinterColumns: CustomResourceColumnDefinition[];

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.

property conversion

conversion: CustomResourceConversion;

conversion defines conversion settings for the CRD.

property group

group: string;

Group is the group this resource belongs in

property names

names: CustomResourceDefinitionNames;

Names are the names used to describe this custom resource

property scope

scope: string;

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

property subresources

subresources: CustomResourceSubresources;

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

property validation

validation: CustomResourceValidation;

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

property version

version: 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.

property versions

versions: CustomResourceDefinitionVersion[];

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.

interface CustomResourceDefinitionStatus

CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition

property acceptedNames

acceptedNames: CustomResourceDefinitionNames;

AcceptedNames are the names that are actually being used to serve discovery They may be different than the names in spec.

property conditions

conditions: CustomResourceDefinitionCondition[];

Conditions indicate state for particular aspects of a CustomResourceDefinition

property storedVersions

storedVersions: string[];

StoredVersions are all versions of CustomResources that were ever persisted. Tracking these versions allows a migration path for stored versions in etcd. The field is mutable so the migration controller can first finish a migration to another version (i.e. that no old objects are left in the storage), and then remove the rest of the versions from this list. None of the versions in this list can be removed from the spec.Versions field.

interface CustomResourceDefinitionVersion

CustomResourceDefinitionVersion describes a version for CRD.

property additionalPrinterColumns

additionalPrinterColumns: CustomResourceColumnDefinition[];

AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. Top-level and per-version columns are mutually exclusive. Per-version columns must not all be set to identical values (top-level columns should be used instead) This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. NOTE: CRDs created prior to 1.13 populated the top-level additionalPrinterColumns field by default. To apply an update that changes to per-version additionalPrinterColumns, the top-level additionalPrinterColumns field must be explicitly set to null

property name

name: string;

Name is the version name, e.g. “v1”, “v2beta1”, etc.

property schema

schema: CustomResourceValidation;

Schema describes the schema for CustomResource used in validation, pruning, and defaulting. Top-level and per-version schemas are mutually exclusive. Per-version schemas must not all be set to identical values (top-level validation schema should be used instead) This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature.

property served

served: boolean;

Served is a flag enabling/disabling this version from being served via REST APIs

property storage

storage: boolean;

Storage flags the version as storage version. There must be exactly one flagged as storage version.

property subresources

subresources: CustomResourceSubresources;

Subresources describes the subresources for CustomResource Top-level and per-version subresources are mutually exclusive. Per-version subresources must not all be set to identical values (top-level subresources should be used instead) This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature.

interface CustomResourceSubresourceScale

CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources.

property labelSelectorPath

labelSelectorPath: 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.

property specReplicasPath

specReplicasPath: 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.

property statusReplicasPath

statusReplicasPath: 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.

interface CustomResourceSubresources

CustomResourceSubresources defines the status and scale subresources for CustomResources.

property scale

scale: CustomResourceSubresourceScale;

Scale denotes the scale subresource for CustomResources

property status

status: any;

Status denotes the status subresource for CustomResources

interface CustomResourceValidation

CustomResourceValidation is a list of validation methods for CustomResources.

property openAPIV3Schema

openAPIV3Schema: JSONSchemaProps;

OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.

interface ExternalDocumentation

ExternalDocumentation allows referencing an external resource for extended documentation.

property description

description: string;

property url

url: string;

interface JSONSchemaProps

JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).

property $ref

$ref: string;

property $schema

$schema: string;

property additionalItems

additionalItems: JSONSchemaProps | boolean;

property additionalProperties

additionalProperties: JSONSchemaProps | boolean;

property allOf

allOf: JSONSchemaProps[];

property anyOf

anyOf: JSONSchemaProps[];

property default

default: any;

property definitions

definitions: object;

property dependencies

dependencies: object;

property description

description: string;

property enum

enum: any[];

property example

example: any;

property exclusiveMaximum

exclusiveMaximum: boolean;

property exclusiveMinimum

exclusiveMinimum: boolean;

property externalDocs

externalDocs: ExternalDocumentation;

property format

format: string;

property id

id: string;

property items

items: JSONSchemaProps | any[];

property maxItems

maxItems: number;

property maxLength

maxLength: number;

property maxProperties

maxProperties: number;

property maximum

maximum: number;

property minItems

minItems: number;

property minLength

minLength: number;

property minProperties

minProperties: number;

property minimum

minimum: number;

property multipleOf

multipleOf: number;

property not

not: JSONSchemaProps;

property oneOf

oneOf: JSONSchemaProps[];

property pattern

pattern: string;

property patternProperties

patternProperties: object;

property properties

properties: object;

property required

required: string[];

property title

title: string;

property type

type: string;

property uniqueItems

uniqueItems: boolean;

interface ServiceReference

ServiceReference holds a reference to Service.legacy.k8s.io

property name

name: string;

name is the name of the service. Required

property namespace

namespace: string;

namespace is the namespace of the service. Required

property path

path: string;

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

interface WebhookClientConfig

WebhookClientConfig contains the information to make a TLS connection with the webhook. It has the same field as admissionregistration.v1beta1.WebhookClientConfig.

property caBundle

caBundle: string;

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.

property service

service: ServiceReference;

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.

Port 443 will be used if it is open, otherwise it is an error.

property url

url: string;

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.