Updated on 2026-02-25 GMT+08:00

Replacing a Deployment

Function

This API is used to replace a Deployment in a namespace.

The following fields can be updated:

  • metadata.labels

  • metadata.generateName

  • metadata.annotations

  • spec.template

  • spec.replicas

Calling Method

For details, see Calling APIs.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, no identity policy-based permission required for calling this API.

URI

PUT /apis/cci/v2/namespaces/{namespace}/deployments/{name}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

name

Yes

String

name of the Deployment

namespace

Yes

String

object name and auth scope, such as for teams and projects

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Requests for calling an API can be authenticated using either a token or an AK/SK pair. If token authentication is used, this parameter is mandatory and must be set to a user token. For details, see Authentication.

Content-Type

Yes

String

Message body type (format). The default value is application/json.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

apiVersion

No

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

kind

No

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/sig-architecture/api-conventions.md#types-kinds

metadata

No

io.k8s.apimachinery.pkg.apis.meta.v1.BaseObjectMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

No

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentSpec object

Specification of the desired behavior of the Deployment.

Table 4 io.k8s.apimachinery.pkg.apis.meta.v1.BaseObjectMeta

Parameter

Mandatory

Type

Description

annotations

No

Map<String,String>

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: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations

generateName

No

String

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 return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

No

Map<String,String>

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: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels

name

No

String

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: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

namespace

No

String

Namespace defines the space within which 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces

Table 5 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentSpec

Parameter

Mandatory

Type

Description

replicas

No

Integer

Number of desired pods. This is a pointer to distinguish between

explicit zero and not specified. Defaults to 1.

selector

Yes

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

Label selector for pods. Existing ReplicaSets whose pods are

selected by this will be the ones affected by this deployment. It must match

the pod template's labels.

strategy

No

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStrategy object

The deployment strategy to use to replace existing pods with

new ones.

template

Yes

io.cci.api.pkg.apis.versioned.cci.v2.PodTemplateSpec object

Template describes the pods that will be created.

Table 6 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStrategy

Parameter

Mandatory

Type

Description

rollingUpdate

No

io.cci.api.pkg.apis.versioned.cci.v2.RollingUpdateDeployment object

Rolling update config params. Present only if DeploymentStrategyType

= RollingUpdate.

type

No

String

Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.

Possible enum values:

  • "Recreate" Kill all existing pods before creating new ones.

  • "RollingUpdate" Replace the old ReplicaSets by new one using rolling update i.e gradually scale down the old ReplicaSets and scale up the new one.

Table 7 io.cci.api.pkg.apis.versioned.cci.v2.RollingUpdateDeployment

Parameter

Mandatory

Type

Description

maxSurge

No

String

The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods.

maxUnavailable

No

String

The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.

Table 8 io.cci.api.pkg.apis.versioned.cci.v2.PodTemplateSpec

Parameter

Mandatory

Type

Description

metadata

No

io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

No

io.cci.api.pkg.apis.versioned.cci.v2.PodSpec object

Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

Table 9 io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta

Parameter

Mandatory

Type

Description

annotations

No

Map<String,String>

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

creationTimestamp

No

String

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/sig-architecture/api-conventions.md#metadata

deletionGracePeriodSeconds

No

Long

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.

deletionTimestamp

No

String

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/sig-architecture/api-conventions.md#metadata

finalizers

No

Array of strings

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. Finalizers may be processed and

removed in any order. Order is NOT enforced because it introduces significant

risk of stuck finalizers. finalizers is a shared field, any actor with permission

can reorder it. If the finalizer list is processed in order, then this can

lead to a situation in which the component responsible for the first finalizer

in the list is waiting for a signal (field value, external system, or other)

produced by a component responsible for a finalizer later in the list, resulting

in a deadlock. Without enforced ordering finalizers are free to order amongst

themselves and are not vulnerable to ordering changes in the list.

generateName

No

String

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 return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

generation

No

Long

A sequence number representing a specific generation of the desired

state. Populated by the system. Read-only.

labels

No

Map<String,String>

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

name

No

String

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

namespace

No

String

Namespace defines the space within which 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

ownerReferences

No

Array of io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference objects

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.

resourceVersion

No

String

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/sig-architecture/api-conventions.md#concurrency-control-and-consistency

selfLink

No

String

Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.

uid

No

String

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

Table 10 io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

Parameter

Mandatory

Type

Description

apiVersion

Yes

String

API version of the referent.

blockOwnerDeletion

No

Boolean

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. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion

for how the garbage collector interacts with this field and enforces the

foreground deletion. Defaults to false. To set this field, a user needs

"delete" permission of the owner, otherwise 422 (Unprocessable Entity) will

be returned.

controller

No

Boolean

If true, this reference points to the managing controller.

kind

Yes

String

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

Yes

String

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

uid

Yes

String

UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

Table 11 io.cci.api.pkg.apis.versioned.cci.v2.PodSpec

Parameter

Mandatory

Type

Description

activeDeadlineSeconds

No

Long

Optional duration in seconds the pod may be active on the node

relative to StartTime before the system will actively try to mark it failed

and kill associated containers. Value must be a positive integer.

affinity

No

io.cci.api.pkg.apis.versioned.cci.v2.Affinity object

If specified, the pod's scheduling constraints

containers

Yes

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of containers belonging to the pod. Containers cannot currently

be added or removed. There must be at least one container in a Pod. Cannot

be updated.

dnsConfig

No

io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig object

Specifies the DNS parameters of a pod. Parameters specified here

will be merged to the generated DNS configuration based on DNSPolicy. When

DNSPolicy is 'None', DNSConfig must be provided.

dnsPolicy

No

String

Set DNS policy for the pod. Valid values are 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. Possible enum values:

  • "Default" indicates that the pod should use the default (as determined by kubelet) DNS settings.

  • "None" indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.

extraEphemeralStorage

No

io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage object

By default, pods receive a minimum of 30GiB of ephemeral storage.

The total amount of ephemeral storage can be increased. User can do this

by specifying the extra ephemeralStorage parameter.

hostAliases

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.HostAlias objects

HostAliases is an optional list of hosts and IPs that will be

injected into the pod's hosts file if specified. This is only valid for

non-hostNetwork pods.

hostname

No

String

Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. Generally, the DNS_LABLE definition in RFC 1123 must be met. In burst scenarios, the DNS_SUBDOMAIN definition with a maximum length of 63 characters must be met. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

imagePullSecrets

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference objects

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

initContainers

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

restartPolicy

No

String

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

Possible enum values:

  • "Always"

  • "Never"

  • "OnFailure"

setHostnameAsFQDN

No

Boolean

If true the pod's hostname will be configured as the pod's FQDN,

rather than the leaf name (the default). In Linux containers, this means

setting the FQDN in the hostname field of the kernel (the nodename field

of struct utsname). In Windows containers, this means setting the registry

value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

shareProcessNamespace

No

Boolean

Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

terminationGracePeriodSeconds

No

Long

Optional duration in seconds the pod needs to terminate gracefully.

May be decreased in delete request. Value must be non-negative integer.

The value zero indicates stop immediately via the kill signal (no opportunity

to shut down). If this value is nil, the default grace period will be used

instead. The grace period is the duration in seconds after the processes

running in the pod are sent a termination signal and the time when the processes

are forcibly halted with a kill signal. Set this value longer than the expected

cleanup time for your process. Defaults to 30 seconds.

volumes

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.Volume objects

List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

Table 12 io.cci.api.pkg.apis.versioned.cci.v2.Affinity

Parameter

Mandatory

Type

Description

nodeAffinity

No

io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity object

Describes node affinity scheduling rules for the pod.

podAntiAffinity

No

io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity object

Describes pod anti-affinity scheduling rules (e.g. avoid putting

this pod in the same zone, etc. as some other pod(s)).

Table 13 io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity

Parameter

Mandatory

Type

Description

requiredDuringSchedulingIgnoredDuringExecution

No

io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector object

If the affinity requirements specified by this field are not

met at scheduling time, the pod will not be scheduled onto the node. If

the affinity requirements specified by this field cease to be met at some

point during pod execution (e.g. due to an update), the system may or may

not try to eventually evict the pod from its node.

Table 14 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector

Parameter

Mandatory

Type

Description

nodeSelectorTerms

Yes

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm objects

Required. A list of node selector terms. The terms are ORed.

Table 15 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm

Parameter

Mandatory

Type

Description

matchExpressions

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement objects

A list of node selector requirements by node's labels.

Table 16 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement

Parameter

Mandatory

Type

Description

key

Yes

String

The label key that the selector applies to. Only 'topology.kubernetes.io/zone',

'topology.kubernetes.io/region', 'failure-domain.beta.kubernetes.io/zone'

and 'failure-domain.beta.kubernetes.io/region' are supported. If other keys

are used, the affinity will be left empty

operator

Yes

String

Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Possible enum values:

  • "DoesNotExist"

  • "Exists"

  • "Gt"

  • "In"

  • "Lt"

  • "NotIn"

values

No

Array of strings

An array of string values. If the operator is In or NotIn, the

values array must be non-empty. If the operator is Exists or DoesNotExist,

the values array must be empty. If the operator is Gt or Lt, the values

array must have a single element, which will be interpreted as an integer.

This array is replaced during a strategic merge patch.

Table 17 io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity

Parameter

Mandatory

Type

Description

preferredDuringSchedulingIgnoredDuringExecution

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm objects

The scheduler will prefer to schedule pods to nodes that satisfy

the anti-affinity expressions specified by this field, but it may choose

a node that violates one or more of the expressions. The node that is most

preferred is the one with the greatest sum of weights, i.e. for each node

that meets all of the scheduling requirements (resource request, requiredDuringScheduling

anti-affinity expressions, etc.), compute a sum by iterating through the

elements of this field and adding "weight" to the sum if the node has pods

which matches the corresponding podAffinityTerm; the node(s) with the highest

sum are the most preferred.

requiredDuringSchedulingIgnoredDuringExecution

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm objects

If the anti-affinity requirements specified by this field are

not met at scheduling time, the pod will not be scheduled onto the node.

If the anti-affinity requirements specified by this field cease to be met

at some point during pod execution (e.g. due to a pod label update), the

system may or may not try to eventually evict the pod from its node. When

there are multiple elements, the lists of nodes corresponding to each podAffinityTerm

are intersected, i.e. all terms must be satisfied.

Table 18 io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm

Parameter

Mandatory

Type

Description

podAffinityTerm

Yes

io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm object

Required. A pod affinity term, associated with the corresponding

weight.

weight

Yes

Integer

weight associated with matching the corresponding podAffinityTerm,

in the range 1-100.

Table 19 io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm

Parameter

Mandatory

Type

Description

labelSelector

No

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

A label query over a set of resources, in this case pods.

namespaces

No

Array of strings

namespaces specifies a static list of namespace names that the

term applies to. The term is applied to the union of the namespaces listed

in this field and the ones selected by namespaceSelector. null or empty

namespaces list and null namespaceSelector means "this pod's namespace".

topologyKey

Yes

String

This pod should be co-located (affinity) or not co-located (anti-affinity)

with the pods matching the labelSelector in the specified namespaces, where

co-located is defined as running on a node whose value of the label with

key topologyKey matches that of any node on which any of the selected pods

is running. Empty topologyKey is not allowed.

Table 20 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector

Parameter

Mandatory

Type

Description

matchExpressions

No

Array of io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement objects

matchExpressions is a list of label selector requirements. The

requirements are ANDed.

matchLabels

No

Map<String,String>

matchLabels is a map of {key,value} pairs. A single {key,value}

in the matchLabels map is equivalent to an element of matchExpressions,

whose key field is "key", the operator is "In", and the values array contains

only "value". The requirements are ANDed.

Table 21 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement

Parameter

Mandatory

Type

Description

key

Yes

String

key is the label key that the selector applies to.

operator

Yes

String

operator represents a key's relationship to a set of values.

Valid operators are In, NotIn, Exists and DoesNotExist.

values

No

Array of strings

values is an array of string values. If the operator is In or

NotIn, the values array must be non-empty. If the operator is Exists or

DoesNotExist, the values array must be empty. This array is replaced during

a strategic merge patch.

Table 22 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig

Parameter

Mandatory

Type

Description

nameservers

No

Array of strings

A list of DNS name server IP addresses and the max length of

the list is 3. This will be appended to the base nameservers generated from

DNSPolicy. Duplicated nameservers will be removed and total number of nameservers

cannot exceed three, if exceeds, the extra part will be discarded and an

event alarm will be reported.

options

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption objects

A list of DNS resolver options. This will be merged with the

base options generated from DNSPolicy. Duplicated entries will be removed.

Resolution options given in Options will override those that appear in the

base DNSPolicy.

searches

No

Array of strings

A list of DNS search domains for host-name lookup. The max length

of the list is 3. Unless ExpandDNSConfig is enabled, the max length is 32.

This will be appended to the base search paths generated from DNSPolicy.

Duplicated search paths will be removed.

Table 23 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption

Parameter

Mandatory

Type

Description

name

Yes

String

Name is this DNS resolver option's name. Required.

value

No

String

Value is this DNS resolver option's value.

Table 24 io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage

Parameter

Mandatory

Type

Description

sizeInGiB

No

Integer

The size of the ephemeralStorage volume in gibibytes (GiB).

Table 25 io.cci.api.pkg.apis.versioned.cci.v2.HostAlias

Parameter

Mandatory

Type

Description

hostnames

No

Array of strings

Hostnames for the above IP address.

ip

Yes

String

IP address of the host file entry.

Table 26 io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference

Parameter

Mandatory

Type

Description

name

No

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

Table 27 io.cci.api.pkg.apis.versioned.cci.v2.Container

Parameter

Mandatory

Type

Description

args

No

Array of strings

Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

No

Array of strings

Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvVar objects

List of environment variables to set in the container. Cannot

be updated.

envFrom

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource objects

List of sources to populate environment variables in the container.

One source can only selected configMapRef or secretRef. The keys defined

within a source must be a C_IDENTIFIER. All invalid keys will be reported

as an event when the container is starting. When a key exists in multiple

sources, the value associated with the last source will take precedence.

Values defined by an Env with a duplicate key will take precedence. Cannot

be updated.

image

No

String

Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

lifecycle

No

io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle object

Actions that the management system should take in response to

container lifecycle events. Cannot be updated.

livenessProbe

No

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

Yes

String

Name of the container specified as a DNS_LABEL. Each container

in a pod must have a unique name (DNS_LABEL). Cannot be updated.

ports

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort objects

List of ports to expose from the container. Not specifying a

port here DOES NOT prevent that port from being exposed. Any port which

is listening on the default "0.0.0.0" address inside a container will be

accessible from the network. Modifying this array with strategic merge patch

may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.

Cannot be updated.

readinessProbe

No

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resources

No

io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements object

Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

startupProbe

No

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

No

Boolean

Whether this container should allocate a buffer for stdin in

the container runtime. If this is not set, reads from stdin in the container

will always result in EOF. Default is false.

terminationMessagePath

No

String

Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.

terminationMessagePolicy

No

String

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.

Possible enum values:

  • "FallbackToLogsOnError" will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.

  • "File" is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.

tty

No

Boolean

Whether this container should allocate a TTY for itself, also

requires 'stdin' to be true. Default is false.

volumeMounts

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount objects

Pod volumes to mount into the container's filesystem. Cannot

be updated.

workingDir

No

String

Container's working directory. If not specified, the container

runtime's default will be used, which might be configured in the container

image. Cannot be updated. Only absolute paths are supported

Table 28 io.cci.api.pkg.apis.versioned.cci.v2.EnvVar

Parameter

Mandatory

Type

Description

name

Yes

String

Name of the environment variable. Must be a C_IDENTIFIER. If

the name is duplicated, the later value will overwrite the earlier value.

A valid environment variable name must consist of alphabetic characters,

digits, '_', '-', or '.', and must not start with a digit

value

No

String

Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

valueFrom

No

io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource object

Source for the environment variable's value. Select one from

configMapKeyRef, secretKeyRef, fieldRef and resourceFieldRef. The env value

may be rounded. Cannot be used if value is not empty.

Table 29 io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource

Parameter

Mandatory

Type

Description

configMapKeyRef

No

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector object

Selects a key of a ConfigMap.

fieldRef

No

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

No

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu, requests.memory) are currently supported.

secretKeyRef

No

io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector object

Selects a key of a secret in the pod's namespace

Table 30 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector

Parameter

Mandatory

Type

Description

key

Yes

String

The key to select. A valid config key must consist of alphanumeric

characters, '-', '_' or '.', and length cannot exceed 253

name

No

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

No

Boolean

Specify whether the ConfigMap or its key must be defined

Table 31 io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector

Parameter

Mandatory

Type

Description

key

Yes

String

The key of the secret to select from. Must be a valid secret

key which consist of alphanumeric characters, '-', '_' or '.', and length

cannot exceed 253

name

No

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

No

Boolean

Specify whether the Secret or its key must be defined

Table 32 io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource

Parameter

Mandatory

Type

Description

configMapRef

No

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource object

The ConfigMap to select from

prefix

No

String

An optional identifier to prepend to each key in the ConfigMap

or Secret. Must be a C_IDENTIFIER. A valid environment variable name must

consist of alphabetic characters, digits, '_', '-', or '.', and must not

start with a digit

secretRef

No

io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource object

The Secret to select from

Table 33 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource

Parameter

Mandatory

Type

Description

name

Yes

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

No

Boolean

Specify whether the ConfigMap must be defined

Table 34 io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource

Parameter

Mandatory

Type

Description

name

Yes

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

No

Boolean

Specify whether the Secret must be defined

Table 35 io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle

Parameter

Mandatory

Type

Description

postStart

No

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

No

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

Table 36 io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler

Parameter

Mandatory

Type

Description

exec

No

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

httpGet

No

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

Table 37 io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort

Parameter

Mandatory

Type

Description

containerPort

Yes

Integer

Number of port to expose on the pod's IP address. This must be

a valid port number, 0 < x < 65536.

name

No

String

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. Complies with RFC 6335 standards. More info: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/identifiers.md

protocol

No

String

Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".

Possible enum values:

  • "SCTP" is the SCTP protocol.

  • "TCP" is the TCP protocol.

  • "UDP" is the UDP protocol.

Table 38 io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements

Parameter

Mandatory

Type

Description

limits

No

Map<String,String>

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

No

Map<String,String>

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

Table 39 io.cci.api.pkg.apis.versioned.cci.v2.Probe

Parameter

Mandatory

Type

Description

exec

No

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

failureThreshold

No

Integer

Minimum consecutive failures for the probe to be considered failed

after having succeeded. Defaults to 3. Minimum value is 1.

httpGet

No

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

initialDelaySeconds

No

Integer

Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

No

Integer

How often (in seconds) to perform the probe. Default to 10 seconds.

Minimum value is 1.

successThreshold

No

Integer

Minimum consecutive successes for the probe to be considered

successful after having failed. Defaults to 1. Must be 1 for liveness and

startup. Minimum value is 1.

tcpSocket

No

io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction object

TCPSocket specifies an action involving a TCP port.

timeoutSeconds

No

Integer

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

Table 40 io.cci.api.pkg.apis.versioned.cci.v2.ExecAction

Parameter

Mandatory

Type

Description

command

No

Array of strings

Command is the command line to execute inside the container,

the working directory for the command is root ('/') in the container's

filesystem. The command is simply exec'd, it is not run inside a shell,

so traditional shell instructions ('|', etc) won't work. To use a shell,

you need to explicitly call out to that shell. Exit status of 0 is treated

as live/healthy and non-zero is unhealthy.

Table 41 io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction

Parameter

Mandatory

Type

Description

host

No

String

Host name to connect to, defaults to the pod IP. You probably

want to set "Host" in httpHeaders instead.

httpHeaders

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader objects

Custom headers to set in the request. HTTP allows repeated headers.

path

No

String

Path to access on the HTTP server.

port

Yes

String

Name or number of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

scheme

No

String

Scheme to use for connecting to the host. Defaults to HTTP.

Possible enum values:

  • "HTTP" means that the scheme used will be http://

  • "HTTPS" means that the scheme used will be https://

Table 42 io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader

Parameter

Mandatory

Type

Description

name

Yes

String

The header field name

value

No

String

The header field value

Table 43 io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction

Parameter

Mandatory

Type

Description

host

No

String

Optional: Host name to connect to, defaults to the pod IP.

port

Yes

String

Number or name of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

Table 44 io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount

Parameter

Mandatory

Type

Description

extendPathMode

No

String

Extend the volume path by appending the pod metadata to the path

according to specified pattern. which provide a way of directory isolation

and help prevent the writing conflict between different pods.

mountPath

Yes

String

Path within the container at which the volume should be mounted.

name

Yes

String

This must match the Name of a Volume.

readOnly

No

Boolean

Mounted read-only if true, read-write otherwise (false or unspecified).

Defaults to false.

subPath

No

String

Path within the volume from which the container's volume should

be mounted. Defaults to "" (volume's root). Absolute paths cannot be used.

subPathExpr

No

String

Expanded path within the volume from which the container's volume

should be mounted. Behaves similarly to SubPath but environment variable

references $(VAR_NAME) are expanded using the container's environment. Defaults

to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.

Table 45 io.cci.api.pkg.apis.versioned.cci.v2.Volume

Parameter

Mandatory

Type

Description

configMap

No

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource object

configMap represents a configMap that should populate this volume

downwardAPI

No

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource object

downwardAPI represents downward API about the pod that should

populate this volume

emptyDir

No

io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource object

emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

name

Yes

String

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim

No

io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource object

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

projected

No

io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource object

projected items for all in one resources secrets, configmaps,

and downward API

secret

No

io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource object

secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

Table 46 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource

Parameter

Mandatory

Type

Description

defaultMode

No

Integer

defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be covered. Paths must be relative and may not contain

the '..' path or start with '..'.

name

Yes

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

No

Boolean

optional specify whether the ConfigMap or its keys must be defined

Table 47 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource

Parameter

Mandatory

Type

Description

defaultMode

No

Integer

Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of downward API volume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be covered.

Table 48 io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource

Parameter

Mandatory

Type

Description

medium

No

String

medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

No

String

sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. It takes effect only when medium is memory. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

Table 49 io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource

Parameter

Mandatory

Type

Description

claimName

Yes

String

claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

No

Boolean

readOnly Will force the ReadOnly setting in VolumeMounts. Default

false.

Table 50 io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource

Parameter

Mandatory

Type

Description

defaultMode

No

Integer

defaultMode are the mode bits used to set permissions on created

files by default. Must be an octal value between 0000 and 0777 or a decimal

value between 0 and 511. YAML accepts both octal and decimal values, JSON

requires decimal values for mode bits. Directories within the path are not

affected by this setting. This might be in conflict with other options that

affect the file mode, like fsGroup, and the result can be other mode bits

set.

sources

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection objects

sources is the list of volume projections

Table 51 io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection

Parameter

Mandatory

Type

Description

configMap

No

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection object

configMap information about the configMap data to project

downwardAPI

No

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection object

downwardAPI information about the downwardAPI data to project

secret

No

io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection object

secret information about the secret data to project

Table 52 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection

Parameter

Mandatory

Type

Description

items

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be rejected. Paths must be relative and may not contain

the '..' path or start with '..'.

name

Yes

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

No

Boolean

optional specify whether the ConfigMap or its keys must be defined

Table 53 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection

Parameter

Mandatory

Type

Description

items

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of DownwardAPIVolume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be rejected.

Table 54 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile

Parameter

Mandatory

Type

Description

fieldRef

No

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Required: Selects a field of the pod: only annotations, labels, uid, name and namespace are supported.

mode

No

Integer

Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

Yes

String

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'

resourceFieldRef

No

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

Table 55 io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector

Parameter

Mandatory

Type

Description

apiVersion

No

String

Version of the schema the FieldPath is written in terms of, defaults

to "v1". Only "v1" is supported currently

fieldPath

Yes

String

Path of the field to select in the specified API version. Only

annotations, labels, uid, name and namespace are supported.

Table 56 io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector

Parameter

Mandatory

Type

Description

containerName

No

String

Container name: required for volumes, optional for env vars

divisor

No

String

Specifies the output format of the exposed resources, defaults to "1". If divisor is set to zero or is not set, the configuration is displayed as zero, but actually still use the default "1". More info: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/#Quantity

resource

Yes

String

Required: resource to select, only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

Table 57 io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection

Parameter

Mandatory

Type

Description

items

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be rejected. Paths must be relative and may not contain the

'..' path or start with '..'.

name

Yes

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

No

Boolean

optional field specify whether the Secret or its key must be

defined

Table 58 io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource

Parameter

Mandatory

Type

Description

defaultMode

No

Integer

defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

No

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items If unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be covered. Paths must be relative and may not contain the

'..' path or start with '..'.

optional

No

Boolean

optional field specify whether the Secret or its keys must be

defined

secretName

Yes

String

secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

Table 59 io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath

Parameter

Mandatory

Type

Description

key

Yes

String

key is the key to project.

mode

No

Integer

mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

Yes

String

path is the relative path of the file to map the key to. May

not be an absolute path. May not contain the path element '..'. May not

start with the string '..'.

Response Parameters

Status code: 200

Table 60 Response body parameters

Parameter

Type

Description

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

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/sig-architecture/api-conventions.md#types-kinds

metadata

io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentSpec object

Specification of the desired behavior of the Deployment.

status

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStatus object

Most recently observed status of the Deployment.

Table 61 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentSpec

Parameter

Type

Description

replicas

Integer

Number of desired pods. This is a pointer to distinguish between

explicit zero and not specified. Defaults to 1.

selector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

Label selector for pods. Existing ReplicaSets whose pods are

selected by this will be the ones affected by this deployment. It must match

the pod template's labels.

strategy

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStrategy object

The deployment strategy to use to replace existing pods with

new ones.

template

io.cci.api.pkg.apis.versioned.cci.v2.PodTemplateSpec object

Template describes the pods that will be created.

Table 62 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStrategy

Parameter

Type

Description

rollingUpdate

io.cci.api.pkg.apis.versioned.cci.v2.RollingUpdateDeployment object

Rolling update config params. Present only if DeploymentStrategyType

= RollingUpdate.

type

String

Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.

Possible enum values:

  • "Recreate" Kill all existing pods before creating new ones.

  • "RollingUpdate" Replace the old ReplicaSets by new one using rolling update i.e gradually scale down the old ReplicaSets and scale up the new one.

Table 63 io.cci.api.pkg.apis.versioned.cci.v2.RollingUpdateDeployment

Parameter

Type

Description

maxSurge

String

The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods.

maxUnavailable

String

The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.

Table 64 io.cci.api.pkg.apis.versioned.cci.v2.PodTemplateSpec

Parameter

Type

Description

metadata

io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.PodSpec object

Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

Table 65 io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta

Parameter

Type

Description

annotations

Map<String,String>

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

creationTimestamp

String

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/sig-architecture/api-conventions.md#metadata

deletionGracePeriodSeconds

Long

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.

deletionTimestamp

String

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/sig-architecture/api-conventions.md#metadata

finalizers

Array of strings

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. Finalizers may be processed and

removed in any order. Order is NOT enforced because it introduces significant

risk of stuck finalizers. finalizers is a shared field, any actor with permission

can reorder it. If the finalizer list is processed in order, then this can

lead to a situation in which the component responsible for the first finalizer

in the list is waiting for a signal (field value, external system, or other)

produced by a component responsible for a finalizer later in the list, resulting

in a deadlock. Without enforced ordering finalizers are free to order amongst

themselves and are not vulnerable to ordering changes in the list.

generateName

String

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 return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

generation

Long

A sequence number representing a specific generation of the desired

state. Populated by the system. Read-only.

labels

Map<String,String>

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

name

String

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

namespace

String

Namespace defines the space within which 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

ownerReferences

Array of io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference objects

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.

resourceVersion

String

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/sig-architecture/api-conventions.md#concurrency-control-and-consistency

selfLink

String

Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.

uid

String

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

Table 66 io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

Parameter

Type

Description

apiVersion

String

API version of the referent.

blockOwnerDeletion

Boolean

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. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion

for how the garbage collector interacts with this field and enforces the

foreground deletion. Defaults to false. To set this field, a user needs

"delete" permission of the owner, otherwise 422 (Unprocessable Entity) will

be returned.

controller

Boolean

If true, this reference points to the managing controller.

kind

String

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

String

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

uid

String

UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

Table 67 io.cci.api.pkg.apis.versioned.cci.v2.PodSpec

Parameter

Type

Description

activeDeadlineSeconds

Long

Optional duration in seconds the pod may be active on the node

relative to StartTime before the system will actively try to mark it failed

and kill associated containers. Value must be a positive integer.

affinity

io.cci.api.pkg.apis.versioned.cci.v2.Affinity object

If specified, the pod's scheduling constraints

containers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of containers belonging to the pod. Containers cannot currently

be added or removed. There must be at least one container in a Pod. Cannot

be updated.

dnsConfig

io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig object

Specifies the DNS parameters of a pod. Parameters specified here

will be merged to the generated DNS configuration based on DNSPolicy. When

DNSPolicy is 'None', DNSConfig must be provided.

dnsPolicy

String

Set DNS policy for the pod. Valid values are 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. Possible enum values:

  • "Default" indicates that the pod should use the default (as determined by kubelet) DNS settings.

  • "None" indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.

extraEphemeralStorage

io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage object

By default, pods receive a minimum of 30GiB of ephemeral storage.

The total amount of ephemeral storage can be increased. User can do this

by specifying the extra ephemeralStorage parameter.

hostAliases

Array of io.cci.api.pkg.apis.versioned.cci.v2.HostAlias objects

HostAliases is an optional list of hosts and IPs that will be

injected into the pod's hosts file if specified. This is only valid for

non-hostNetwork pods.

hostname

String

Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. Generally, the DNS_LABLE definition in RFC 1123 must be met. In burst scenarios, the DNS_SUBDOMAIN definition with a maximum length of 63 characters must be met. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

imagePullSecrets

Array of io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference objects

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

initContainers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

restartPolicy

String

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

Possible enum values:

  • "Always"

  • "Never"

  • "OnFailure"

setHostnameAsFQDN

Boolean

If true the pod's hostname will be configured as the pod's FQDN,

rather than the leaf name (the default). In Linux containers, this means

setting the FQDN in the hostname field of the kernel (the nodename field

of struct utsname). In Windows containers, this means setting the registry

value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

shareProcessNamespace

Boolean

Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

terminationGracePeriodSeconds

Long

Optional duration in seconds the pod needs to terminate gracefully.

May be decreased in delete request. Value must be non-negative integer.

The value zero indicates stop immediately via the kill signal (no opportunity

to shut down). If this value is nil, the default grace period will be used

instead. The grace period is the duration in seconds after the processes

running in the pod are sent a termination signal and the time when the processes

are forcibly halted with a kill signal. Set this value longer than the expected

cleanup time for your process. Defaults to 30 seconds.

volumes

Array of io.cci.api.pkg.apis.versioned.cci.v2.Volume objects

List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

Table 68 io.cci.api.pkg.apis.versioned.cci.v2.Affinity

Parameter

Type

Description

nodeAffinity

io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity object

Describes node affinity scheduling rules for the pod.

podAntiAffinity

io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity object

Describes pod anti-affinity scheduling rules (e.g. avoid putting

this pod in the same zone, etc. as some other pod(s)).

Table 69 io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity

Parameter

Type

Description

requiredDuringSchedulingIgnoredDuringExecution

io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector object

If the affinity requirements specified by this field are not

met at scheduling time, the pod will not be scheduled onto the node. If

the affinity requirements specified by this field cease to be met at some

point during pod execution (e.g. due to an update), the system may or may

not try to eventually evict the pod from its node.

Table 70 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector

Parameter

Type

Description

nodeSelectorTerms

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm objects

Required. A list of node selector terms. The terms are ORed.

Table 71 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm

Parameter

Type

Description

matchExpressions

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement objects

A list of node selector requirements by node's labels.

Table 72 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement

Parameter

Type

Description

key

String

The label key that the selector applies to. Only 'topology.kubernetes.io/zone',

'topology.kubernetes.io/region', 'failure-domain.beta.kubernetes.io/zone'

and 'failure-domain.beta.kubernetes.io/region' are supported. If other keys

are used, the affinity will be left empty

operator

String

Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Possible enum values:

  • "DoesNotExist"

  • "Exists"

  • "Gt"

  • "In"

  • "Lt"

  • "NotIn"

values

Array of strings

An array of string values. If the operator is In or NotIn, the

values array must be non-empty. If the operator is Exists or DoesNotExist,

the values array must be empty. If the operator is Gt or Lt, the values

array must have a single element, which will be interpreted as an integer.

This array is replaced during a strategic merge patch.

Table 73 io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity

Parameter

Type

Description

preferredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm objects

The scheduler will prefer to schedule pods to nodes that satisfy

the anti-affinity expressions specified by this field, but it may choose

a node that violates one or more of the expressions. The node that is most

preferred is the one with the greatest sum of weights, i.e. for each node

that meets all of the scheduling requirements (resource request, requiredDuringScheduling

anti-affinity expressions, etc.), compute a sum by iterating through the

elements of this field and adding "weight" to the sum if the node has pods

which matches the corresponding podAffinityTerm; the node(s) with the highest

sum are the most preferred.

requiredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm objects

If the anti-affinity requirements specified by this field are

not met at scheduling time, the pod will not be scheduled onto the node.

If the anti-affinity requirements specified by this field cease to be met

at some point during pod execution (e.g. due to a pod label update), the

system may or may not try to eventually evict the pod from its node. When

there are multiple elements, the lists of nodes corresponding to each podAffinityTerm

are intersected, i.e. all terms must be satisfied.

Table 74 io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm

Parameter

Type

Description

podAffinityTerm

io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm object

Required. A pod affinity term, associated with the corresponding

weight.

weight

Integer

weight associated with matching the corresponding podAffinityTerm,

in the range 1-100.

Table 75 io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm

Parameter

Type

Description

labelSelector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

A label query over a set of resources, in this case pods.

namespaces

Array of strings

namespaces specifies a static list of namespace names that the

term applies to. The term is applied to the union of the namespaces listed

in this field and the ones selected by namespaceSelector. null or empty

namespaces list and null namespaceSelector means "this pod's namespace".

topologyKey

String

This pod should be co-located (affinity) or not co-located (anti-affinity)

with the pods matching the labelSelector in the specified namespaces, where

co-located is defined as running on a node whose value of the label with

key topologyKey matches that of any node on which any of the selected pods

is running. Empty topologyKey is not allowed.

Table 76 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector

Parameter

Type

Description

matchExpressions

Array of io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement objects

matchExpressions is a list of label selector requirements. The

requirements are ANDed.

matchLabels

Map<String,String>

matchLabels is a map of {key,value} pairs. A single {key,value}

in the matchLabels map is equivalent to an element of matchExpressions,

whose key field is "key", the operator is "In", and the values array contains

only "value". The requirements are ANDed.

Table 77 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement

Parameter

Type

Description

key

String

key is the label key that the selector applies to.

operator

String

operator represents a key's relationship to a set of values.

Valid operators are In, NotIn, Exists and DoesNotExist.

values

Array of strings

values is an array of string values. If the operator is In or

NotIn, the values array must be non-empty. If the operator is Exists or

DoesNotExist, the values array must be empty. This array is replaced during

a strategic merge patch.

Table 78 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig

Parameter

Type

Description

nameservers

Array of strings

A list of DNS name server IP addresses and the max length of

the list is 3. This will be appended to the base nameservers generated from

DNSPolicy. Duplicated nameservers will be removed and total number of nameservers

cannot exceed three, if exceeds, the extra part will be discarded and an

event alarm will be reported.

options

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption objects

A list of DNS resolver options. This will be merged with the

base options generated from DNSPolicy. Duplicated entries will be removed.

Resolution options given in Options will override those that appear in the

base DNSPolicy.

searches

Array of strings

A list of DNS search domains for host-name lookup. The max length

of the list is 3. Unless ExpandDNSConfig is enabled, the max length is 32.

This will be appended to the base search paths generated from DNSPolicy.

Duplicated search paths will be removed.

Table 79 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption

Parameter

Type

Description

name

String

Name is this DNS resolver option's name. Required.

value

String

Value is this DNS resolver option's value.

Table 80 io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage

Parameter

Type

Description

sizeInGiB

Integer

The size of the ephemeralStorage volume in gibibytes (GiB).

Table 81 io.cci.api.pkg.apis.versioned.cci.v2.HostAlias

Parameter

Type

Description

hostnames

Array of strings

Hostnames for the above IP address.

ip

String

IP address of the host file entry.

Table 82 io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference

Parameter

Type

Description

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

Table 83 io.cci.api.pkg.apis.versioned.cci.v2.Container

Parameter

Type

Description

args

Array of strings

Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

Array of strings

Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvVar objects

List of environment variables to set in the container. Cannot

be updated.

envFrom

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource objects

List of sources to populate environment variables in the container.

One source can only selected configMapRef or secretRef. The keys defined

within a source must be a C_IDENTIFIER. All invalid keys will be reported

as an event when the container is starting. When a key exists in multiple

sources, the value associated with the last source will take precedence.

Values defined by an Env with a duplicate key will take precedence. Cannot

be updated.

image

String

Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

lifecycle

io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle object

Actions that the management system should take in response to

container lifecycle events. Cannot be updated.

livenessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

String

Name of the container specified as a DNS_LABEL. Each container

in a pod must have a unique name (DNS_LABEL). Cannot be updated.

ports

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort objects

List of ports to expose from the container. Not specifying a

port here DOES NOT prevent that port from being exposed. Any port which

is listening on the default "0.0.0.0" address inside a container will be

accessible from the network. Modifying this array with strategic merge patch

may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.

Cannot be updated.

readinessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resources

io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements object

Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

startupProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

Boolean

Whether this container should allocate a buffer for stdin in

the container runtime. If this is not set, reads from stdin in the container

will always result in EOF. Default is false.

terminationMessagePath

String

Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.

terminationMessagePolicy

String

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.

Possible enum values:

  • "FallbackToLogsOnError" will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.

  • "File" is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.

tty

Boolean

Whether this container should allocate a TTY for itself, also

requires 'stdin' to be true. Default is false.

volumeMounts

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount objects

Pod volumes to mount into the container's filesystem. Cannot

be updated.

workingDir

String

Container's working directory. If not specified, the container

runtime's default will be used, which might be configured in the container

image. Cannot be updated. Only absolute paths are supported

Table 84 io.cci.api.pkg.apis.versioned.cci.v2.EnvVar

Parameter

Type

Description

name

String

Name of the environment variable. Must be a C_IDENTIFIER. If

the name is duplicated, the later value will overwrite the earlier value.

A valid environment variable name must consist of alphabetic characters,

digits, '_', '-', or '.', and must not start with a digit

value

String

Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

valueFrom

io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource object

Source for the environment variable's value. Select one from

configMapKeyRef, secretKeyRef, fieldRef and resourceFieldRef. The env value

may be rounded. Cannot be used if value is not empty.

Table 85 io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource

Parameter

Type

Description

configMapKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector object

Selects a key of a ConfigMap.

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu, requests.memory) are currently supported.

secretKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector object

Selects a key of a secret in the pod's namespace

Table 86 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector

Parameter

Type

Description

key

String

The key to select. A valid config key must consist of alphanumeric

characters, '-', '_' or '.', and length cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap or its key must be defined

Table 87 io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector

Parameter

Type

Description

key

String

The key of the secret to select from. Must be a valid secret

key which consist of alphanumeric characters, '-', '_' or '.', and length

cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret or its key must be defined

Table 88 io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource

Parameter

Type

Description

configMapRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource object

The ConfigMap to select from

prefix

String

An optional identifier to prepend to each key in the ConfigMap

or Secret. Must be a C_IDENTIFIER. A valid environment variable name must

consist of alphabetic characters, digits, '_', '-', or '.', and must not

start with a digit

secretRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource object

The Secret to select from

Table 89 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource

Parameter

Type

Description

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap must be defined

Table 90 io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource

Parameter

Type

Description

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret must be defined

Table 91 io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle

Parameter

Type

Description

postStart

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

Table 92 io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler

Parameter

Type

Description

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

Table 93 io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort

Parameter

Type

Description

containerPort

Integer

Number of port to expose on the pod's IP address. This must be

a valid port number, 0 < x < 65536.

name

String

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. Complies with RFC 6335 standards. More info: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/identifiers.md

protocol

String

Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".

Possible enum values:

  • "SCTP" is the SCTP protocol.

  • "TCP" is the TCP protocol.

  • "UDP" is the UDP protocol.

Table 94 io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements

Parameter

Type

Description

limits

Map<String,String>

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

Map<String,String>

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

Table 95 io.cci.api.pkg.apis.versioned.cci.v2.Probe

Parameter

Type

Description

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

failureThreshold

Integer

Minimum consecutive failures for the probe to be considered failed

after having succeeded. Defaults to 3. Minimum value is 1.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

initialDelaySeconds

Integer

Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

Integer

How often (in seconds) to perform the probe. Default to 10 seconds.

Minimum value is 1.

successThreshold

Integer

Minimum consecutive successes for the probe to be considered

successful after having failed. Defaults to 1. Must be 1 for liveness and

startup. Minimum value is 1.

tcpSocket

io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction object

TCPSocket specifies an action involving a TCP port.

timeoutSeconds

Integer

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

Table 96 io.cci.api.pkg.apis.versioned.cci.v2.ExecAction

Parameter

Type

Description

command

Array of strings

Command is the command line to execute inside the container,

the working directory for the command is root ('/') in the container's

filesystem. The command is simply exec'd, it is not run inside a shell,

so traditional shell instructions ('|', etc) won't work. To use a shell,

you need to explicitly call out to that shell. Exit status of 0 is treated

as live/healthy and non-zero is unhealthy.

Table 97 io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction

Parameter

Type

Description

host

String

Host name to connect to, defaults to the pod IP. You probably

want to set "Host" in httpHeaders instead.

httpHeaders

Array of io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader objects

Custom headers to set in the request. HTTP allows repeated headers.

path

String

Path to access on the HTTP server.

port

String

Name or number of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

scheme

String

Scheme to use for connecting to the host. Defaults to HTTP.

Possible enum values:

  • "HTTP" means that the scheme used will be http://

  • "HTTPS" means that the scheme used will be https://

Table 98 io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader

Parameter

Type

Description

name

String

The header field name

value

String

The header field value

Table 99 io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction

Parameter

Type

Description

host

String

Optional: Host name to connect to, defaults to the pod IP.

port

String

Number or name of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

Table 100 io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount

Parameter

Type

Description

extendPathMode

String

Extend the volume path by appending the pod metadata to the path

according to specified pattern. which provide a way of directory isolation

and help prevent the writing conflict between different pods.

mountPath

String

Path within the container at which the volume should be mounted.

name

String

This must match the Name of a Volume.

readOnly

Boolean

Mounted read-only if true, read-write otherwise (false or unspecified).

Defaults to false.

subPath

String

Path within the volume from which the container's volume should

be mounted. Defaults to "" (volume's root). Absolute paths cannot be used.

subPathExpr

String

Expanded path within the volume from which the container's volume

should be mounted. Behaves similarly to SubPath but environment variable

references $(VAR_NAME) are expanded using the container's environment. Defaults

to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.

Table 101 io.cci.api.pkg.apis.versioned.cci.v2.Volume

Parameter

Type

Description

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource object

configMap represents a configMap that should populate this volume

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource object

downwardAPI represents downward API about the pod that should

populate this volume

emptyDir

io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource object

emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

name

String

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim

io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource object

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

projected

io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource object

projected items for all in one resources secrets, configmaps,

and downward API

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource object

secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

Table 102 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource

Parameter

Type

Description

defaultMode

Integer

defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be covered. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

Table 103 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource

Parameter

Type

Description

defaultMode

Integer

Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of downward API volume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be covered.

Table 104 io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource

Parameter

Type

Description

medium

String

medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

String

sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. It takes effect only when medium is memory. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

Table 105 io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource

Parameter

Type

Description

claimName

String

claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

Boolean

readOnly Will force the ReadOnly setting in VolumeMounts. Default

false.

Table 106 io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource

Parameter

Type

Description

defaultMode

Integer

defaultMode are the mode bits used to set permissions on created

files by default. Must be an octal value between 0000 and 0777 or a decimal

value between 0 and 511. YAML accepts both octal and decimal values, JSON

requires decimal values for mode bits. Directories within the path are not

affected by this setting. This might be in conflict with other options that

affect the file mode, like fsGroup, and the result can be other mode bits

set.

sources

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection objects

sources is the list of volume projections

Table 107 io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection

Parameter

Type

Description

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection object

configMap information about the configMap data to project

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection object

downwardAPI information about the downwardAPI data to project

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection object

secret information about the secret data to project

Table 108 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection

Parameter

Type

Description

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be rejected. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

Table 109 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection

Parameter

Type

Description

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of DownwardAPIVolume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be rejected.

Table 110 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile

Parameter

Type

Description

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Required: Selects a field of the pod: only annotations, labels, uid, name and namespace are supported.

mode

Integer

Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

Table 111 io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector

Parameter

Type

Description

apiVersion

String

Version of the schema the FieldPath is written in terms of, defaults

to "v1". Only "v1" is supported currently

fieldPath

String

Path of the field to select in the specified API version. Only

annotations, labels, uid, name and namespace are supported.

Table 112 io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector

Parameter

Type

Description

containerName

String

Container name: required for volumes, optional for env vars

divisor

String

Specifies the output format of the exposed resources, defaults to "1". If divisor is set to zero or is not set, the configuration is displayed as zero, but actually still use the default "1". More info: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/#Quantity

resource

String

Required: resource to select, only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

Table 113 io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection

Parameter

Type

Description

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be rejected. Paths must be relative and may not contain the

'..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional field specify whether the Secret or its key must be

defined

Table 114 io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource

Parameter

Type

Description

defaultMode

Integer

defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items If unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be covered. Paths must be relative and may not contain the

'..' path or start with '..'.

optional

Boolean

optional field specify whether the Secret or its keys must be

defined

secretName

String

secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

Table 115 io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath

Parameter

Type

Description

key

String

key is the key to project.

mode

Integer

mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

path is the relative path of the file to map the key to. May

not be an absolute path. May not contain the path element '..'. May not

start with the string '..'.

Table 116 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStatus

Parameter

Type

Description

availableReplicas

Integer

Total number of available pods (ready for at least minReadySeconds)

targeted by this deployment.

collisionCount

Integer

Count of hash collisions for the Deployment. The Deployment controller

uses this field as a collision avoidance mechanism when it needs to create

the name for the newest ReplicaSet.

conditions

Array of io.cci.api.pkg.apis.versioned.cci.v2.DeploymentCondition objects

Represents the latest available observations of a deployment's

current state.

observedGeneration

Long

The generation observed by the deployment controller.

readyReplicas

Integer

readyReplicas is the number of pods targeted by this Deployment

with a Ready Condition.

replicas

Integer

Total number of non-terminated pods targeted by this deployment

(their labels match the selector).

unavailableReplicas

Integer

Total number of unavailable pods targeted by this deployment.

This is the total number of pods that are still required for the deployment

to have 100% available capacity. They may either be pods that are running

but not yet available or pods that still have not been created.

updatedReplicas

Integer

Total number of non-terminated pods targeted by this deployment

that have the desired template spec.

Table 117 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentCondition

Parameter

Type

Description

lastTransitionTime

String

Last time the condition transitioned from one status to another.

lastUpdateTime

String

The last time this condition was updated.

message

String

A human readable message indicating details about the transition.

reason

String

The reason for the condition's last transition.

status

String

Status of the condition, one of True, False, Unknown.

type

String

Type of deployment condition.

Status code: 201

Table 118 Response body parameters

Parameter

Type

Description

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

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/sig-architecture/api-conventions.md#types-kinds

metadata

io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentSpec object

Specification of the desired behavior of the Deployment.

status

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStatus object

Most recently observed status of the Deployment.

Table 119 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentSpec

Parameter

Type

Description

replicas

Integer

Number of desired pods. This is a pointer to distinguish between

explicit zero and not specified. Defaults to 1.

selector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

Label selector for pods. Existing ReplicaSets whose pods are

selected by this will be the ones affected by this deployment. It must match

the pod template's labels.

strategy

io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStrategy object

The deployment strategy to use to replace existing pods with

new ones.

template

io.cci.api.pkg.apis.versioned.cci.v2.PodTemplateSpec object

Template describes the pods that will be created.

Table 120 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStrategy

Parameter

Type

Description

rollingUpdate

io.cci.api.pkg.apis.versioned.cci.v2.RollingUpdateDeployment object

Rolling update config params. Present only if DeploymentStrategyType

= RollingUpdate.

type

String

Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.

Possible enum values:

  • "Recreate" Kill all existing pods before creating new ones.

  • "RollingUpdate" Replace the old ReplicaSets by new one using rolling update i.e gradually scale down the old ReplicaSets and scale up the new one.

Table 121 io.cci.api.pkg.apis.versioned.cci.v2.RollingUpdateDeployment

Parameter

Type

Description

maxSurge

String

The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods.

maxUnavailable

String

The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.

Table 122 io.cci.api.pkg.apis.versioned.cci.v2.PodTemplateSpec

Parameter

Type

Description

metadata

io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.PodSpec object

Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

Table 123 io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta

Parameter

Type

Description

annotations

Map<String,String>

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

creationTimestamp

String

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/sig-architecture/api-conventions.md#metadata

deletionGracePeriodSeconds

Long

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.

deletionTimestamp

String

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/sig-architecture/api-conventions.md#metadata

finalizers

Array of strings

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. Finalizers may be processed and

removed in any order. Order is NOT enforced because it introduces significant

risk of stuck finalizers. finalizers is a shared field, any actor with permission

can reorder it. If the finalizer list is processed in order, then this can

lead to a situation in which the component responsible for the first finalizer

in the list is waiting for a signal (field value, external system, or other)

produced by a component responsible for a finalizer later in the list, resulting

in a deadlock. Without enforced ordering finalizers are free to order amongst

themselves and are not vulnerable to ordering changes in the list.

generateName

String

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 return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

generation

Long

A sequence number representing a specific generation of the desired

state. Populated by the system. Read-only.

labels

Map<String,String>

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

name

String

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

namespace

String

Namespace defines the space within which 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

ownerReferences

Array of io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference objects

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.

resourceVersion

String

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/sig-architecture/api-conventions.md#concurrency-control-and-consistency

selfLink

String

Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.

uid

String

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

Table 124 io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

Parameter

Type

Description

apiVersion

String

API version of the referent.

blockOwnerDeletion

Boolean

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. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion

for how the garbage collector interacts with this field and enforces the

foreground deletion. Defaults to false. To set this field, a user needs

"delete" permission of the owner, otherwise 422 (Unprocessable Entity) will

be returned.

controller

Boolean

If true, this reference points to the managing controller.

kind

String

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

String

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

uid

String

UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

Table 125 io.cci.api.pkg.apis.versioned.cci.v2.PodSpec

Parameter

Type

Description

activeDeadlineSeconds

Long

Optional duration in seconds the pod may be active on the node

relative to StartTime before the system will actively try to mark it failed

and kill associated containers. Value must be a positive integer.

affinity

io.cci.api.pkg.apis.versioned.cci.v2.Affinity object

If specified, the pod's scheduling constraints

containers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of containers belonging to the pod. Containers cannot currently

be added or removed. There must be at least one container in a Pod. Cannot

be updated.

dnsConfig

io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig object

Specifies the DNS parameters of a pod. Parameters specified here

will be merged to the generated DNS configuration based on DNSPolicy. When

DNSPolicy is 'None', DNSConfig must be provided.

dnsPolicy

String

Set DNS policy for the pod. Valid values are 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. Possible enum values:

  • "Default" indicates that the pod should use the default (as determined by kubelet) DNS settings.

  • "None" indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.

extraEphemeralStorage

io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage object

By default, pods receive a minimum of 30GiB of ephemeral storage.

The total amount of ephemeral storage can be increased. User can do this

by specifying the extra ephemeralStorage parameter.

hostAliases

Array of io.cci.api.pkg.apis.versioned.cci.v2.HostAlias objects

HostAliases is an optional list of hosts and IPs that will be

injected into the pod's hosts file if specified. This is only valid for

non-hostNetwork pods.

hostname

String

Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. Generally, the DNS_LABLE definition in RFC 1123 must be met. In burst scenarios, the DNS_SUBDOMAIN definition with a maximum length of 63 characters must be met. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

imagePullSecrets

Array of io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference objects

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

initContainers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

restartPolicy

String

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

Possible enum values:

  • "Always"

  • "Never"

  • "OnFailure"

setHostnameAsFQDN

Boolean

If true the pod's hostname will be configured as the pod's FQDN,

rather than the leaf name (the default). In Linux containers, this means

setting the FQDN in the hostname field of the kernel (the nodename field

of struct utsname). In Windows containers, this means setting the registry

value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

shareProcessNamespace

Boolean

Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

terminationGracePeriodSeconds

Long

Optional duration in seconds the pod needs to terminate gracefully.

May be decreased in delete request. Value must be non-negative integer.

The value zero indicates stop immediately via the kill signal (no opportunity

to shut down). If this value is nil, the default grace period will be used

instead. The grace period is the duration in seconds after the processes

running in the pod are sent a termination signal and the time when the processes

are forcibly halted with a kill signal. Set this value longer than the expected

cleanup time for your process. Defaults to 30 seconds.

volumes

Array of io.cci.api.pkg.apis.versioned.cci.v2.Volume objects

List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

Table 126 io.cci.api.pkg.apis.versioned.cci.v2.Affinity

Parameter

Type

Description

nodeAffinity

io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity object

Describes node affinity scheduling rules for the pod.

podAntiAffinity

io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity object

Describes pod anti-affinity scheduling rules (e.g. avoid putting

this pod in the same zone, etc. as some other pod(s)).

Table 127 io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity

Parameter

Type

Description

requiredDuringSchedulingIgnoredDuringExecution

io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector object

If the affinity requirements specified by this field are not

met at scheduling time, the pod will not be scheduled onto the node. If

the affinity requirements specified by this field cease to be met at some

point during pod execution (e.g. due to an update), the system may or may

not try to eventually evict the pod from its node.

Table 128 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector

Parameter

Type

Description

nodeSelectorTerms

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm objects

Required. A list of node selector terms. The terms are ORed.

Table 129 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm

Parameter

Type

Description

matchExpressions

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement objects

A list of node selector requirements by node's labels.

Table 130 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement

Parameter

Type

Description

key

String

The label key that the selector applies to. Only 'topology.kubernetes.io/zone',

'topology.kubernetes.io/region', 'failure-domain.beta.kubernetes.io/zone'

and 'failure-domain.beta.kubernetes.io/region' are supported. If other keys

are used, the affinity will be left empty

operator

String

Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Possible enum values:

  • "DoesNotExist"

  • "Exists"

  • "Gt"

  • "In"

  • "Lt"

  • "NotIn"

values

Array of strings

An array of string values. If the operator is In or NotIn, the

values array must be non-empty. If the operator is Exists or DoesNotExist,

the values array must be empty. If the operator is Gt or Lt, the values

array must have a single element, which will be interpreted as an integer.

This array is replaced during a strategic merge patch.

Table 131 io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity

Parameter

Type

Description

preferredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm objects

The scheduler will prefer to schedule pods to nodes that satisfy

the anti-affinity expressions specified by this field, but it may choose

a node that violates one or more of the expressions. The node that is most

preferred is the one with the greatest sum of weights, i.e. for each node

that meets all of the scheduling requirements (resource request, requiredDuringScheduling

anti-affinity expressions, etc.), compute a sum by iterating through the

elements of this field and adding "weight" to the sum if the node has pods

which matches the corresponding podAffinityTerm; the node(s) with the highest

sum are the most preferred.

requiredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm objects

If the anti-affinity requirements specified by this field are

not met at scheduling time, the pod will not be scheduled onto the node.

If the anti-affinity requirements specified by this field cease to be met

at some point during pod execution (e.g. due to a pod label update), the

system may or may not try to eventually evict the pod from its node. When

there are multiple elements, the lists of nodes corresponding to each podAffinityTerm

are intersected, i.e. all terms must be satisfied.

Table 132 io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm

Parameter

Type

Description

podAffinityTerm

io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm object

Required. A pod affinity term, associated with the corresponding

weight.

weight

Integer

weight associated with matching the corresponding podAffinityTerm,

in the range 1-100.

Table 133 io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm

Parameter

Type

Description

labelSelector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

A label query over a set of resources, in this case pods.

namespaces

Array of strings

namespaces specifies a static list of namespace names that the

term applies to. The term is applied to the union of the namespaces listed

in this field and the ones selected by namespaceSelector. null or empty

namespaces list and null namespaceSelector means "this pod's namespace".

topologyKey

String

This pod should be co-located (affinity) or not co-located (anti-affinity)

with the pods matching the labelSelector in the specified namespaces, where

co-located is defined as running on a node whose value of the label with

key topologyKey matches that of any node on which any of the selected pods

is running. Empty topologyKey is not allowed.

Table 134 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector

Parameter

Type

Description

matchExpressions

Array of io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement objects

matchExpressions is a list of label selector requirements. The

requirements are ANDed.

matchLabels

Map<String,String>

matchLabels is a map of {key,value} pairs. A single {key,value}

in the matchLabels map is equivalent to an element of matchExpressions,

whose key field is "key", the operator is "In", and the values array contains

only "value". The requirements are ANDed.

Table 135 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement

Parameter

Type

Description

key

String

key is the label key that the selector applies to.

operator

String

operator represents a key's relationship to a set of values.

Valid operators are In, NotIn, Exists and DoesNotExist.

values

Array of strings

values is an array of string values. If the operator is In or

NotIn, the values array must be non-empty. If the operator is Exists or

DoesNotExist, the values array must be empty. This array is replaced during

a strategic merge patch.

Table 136 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig

Parameter

Type

Description

nameservers

Array of strings

A list of DNS name server IP addresses and the max length of

the list is 3. This will be appended to the base nameservers generated from

DNSPolicy. Duplicated nameservers will be removed and total number of nameservers

cannot exceed three, if exceeds, the extra part will be discarded and an

event alarm will be reported.

options

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption objects

A list of DNS resolver options. This will be merged with the

base options generated from DNSPolicy. Duplicated entries will be removed.

Resolution options given in Options will override those that appear in the

base DNSPolicy.

searches

Array of strings

A list of DNS search domains for host-name lookup. The max length

of the list is 3. Unless ExpandDNSConfig is enabled, the max length is 32.

This will be appended to the base search paths generated from DNSPolicy.

Duplicated search paths will be removed.

Table 137 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption

Parameter

Type

Description

name

String

Name is this DNS resolver option's name. Required.

value

String

Value is this DNS resolver option's value.

Table 138 io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage

Parameter

Type

Description

sizeInGiB

Integer

The size of the ephemeralStorage volume in gibibytes (GiB).

Table 139 io.cci.api.pkg.apis.versioned.cci.v2.HostAlias

Parameter

Type

Description

hostnames

Array of strings

Hostnames for the above IP address.

ip

String

IP address of the host file entry.

Table 140 io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference

Parameter

Type

Description

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

Table 141 io.cci.api.pkg.apis.versioned.cci.v2.Container

Parameter

Type

Description

args

Array of strings

Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

Array of strings

Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvVar objects

List of environment variables to set in the container. Cannot

be updated.

envFrom

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource objects

List of sources to populate environment variables in the container.

One source can only selected configMapRef or secretRef. The keys defined

within a source must be a C_IDENTIFIER. All invalid keys will be reported

as an event when the container is starting. When a key exists in multiple

sources, the value associated with the last source will take precedence.

Values defined by an Env with a duplicate key will take precedence. Cannot

be updated.

image

String

Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

lifecycle

io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle object

Actions that the management system should take in response to

container lifecycle events. Cannot be updated.

livenessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

String

Name of the container specified as a DNS_LABEL. Each container

in a pod must have a unique name (DNS_LABEL). Cannot be updated.

ports

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort objects

List of ports to expose from the container. Not specifying a

port here DOES NOT prevent that port from being exposed. Any port which

is listening on the default "0.0.0.0" address inside a container will be

accessible from the network. Modifying this array with strategic merge patch

may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.

Cannot be updated.

readinessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resources

io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements object

Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

startupProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

Boolean

Whether this container should allocate a buffer for stdin in

the container runtime. If this is not set, reads from stdin in the container

will always result in EOF. Default is false.

terminationMessagePath

String

Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.

terminationMessagePolicy

String

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.

Possible enum values:

  • "FallbackToLogsOnError" will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.

  • "File" is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.

tty

Boolean

Whether this container should allocate a TTY for itself, also

requires 'stdin' to be true. Default is false.

volumeMounts

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount objects

Pod volumes to mount into the container's filesystem. Cannot

be updated.

workingDir

String

Container's working directory. If not specified, the container

runtime's default will be used, which might be configured in the container

image. Cannot be updated. Only absolute paths are supported

Table 142 io.cci.api.pkg.apis.versioned.cci.v2.EnvVar

Parameter

Type

Description

name

String

Name of the environment variable. Must be a C_IDENTIFIER. If

the name is duplicated, the later value will overwrite the earlier value.

A valid environment variable name must consist of alphabetic characters,

digits, '_', '-', or '.', and must not start with a digit

value

String

Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

valueFrom

io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource object

Source for the environment variable's value. Select one from

configMapKeyRef, secretKeyRef, fieldRef and resourceFieldRef. The env value

may be rounded. Cannot be used if value is not empty.

Table 143 io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource

Parameter

Type

Description

configMapKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector object

Selects a key of a ConfigMap.

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu, requests.memory) are currently supported.

secretKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector object

Selects a key of a secret in the pod's namespace

Table 144 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector

Parameter

Type

Description

key

String

The key to select. A valid config key must consist of alphanumeric

characters, '-', '_' or '.', and length cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap or its key must be defined

Table 145 io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector

Parameter

Type

Description

key

String

The key of the secret to select from. Must be a valid secret

key which consist of alphanumeric characters, '-', '_' or '.', and length

cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret or its key must be defined

Table 146 io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource

Parameter

Type

Description

configMapRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource object

The ConfigMap to select from

prefix

String

An optional identifier to prepend to each key in the ConfigMap

or Secret. Must be a C_IDENTIFIER. A valid environment variable name must

consist of alphabetic characters, digits, '_', '-', or '.', and must not

start with a digit

secretRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource object

The Secret to select from

Table 147 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource

Parameter

Type

Description

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap must be defined

Table 148 io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource

Parameter

Type

Description

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret must be defined

Table 149 io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle

Parameter

Type

Description

postStart

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

Table 150 io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler

Parameter

Type

Description

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

Table 151 io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort

Parameter

Type

Description

containerPort

Integer

Number of port to expose on the pod's IP address. This must be

a valid port number, 0 < x < 65536.

name

String

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. Complies with RFC 6335 standards. More info: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/identifiers.md

protocol

String

Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".

Possible enum values:

  • "SCTP" is the SCTP protocol.

  • "TCP" is the TCP protocol.

  • "UDP" is the UDP protocol.

Table 152 io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements

Parameter

Type

Description

limits

Map<String,String>

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

Map<String,String>

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

Table 153 io.cci.api.pkg.apis.versioned.cci.v2.Probe

Parameter

Type

Description

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

failureThreshold

Integer

Minimum consecutive failures for the probe to be considered failed

after having succeeded. Defaults to 3. Minimum value is 1.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

initialDelaySeconds

Integer

Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

Integer

How often (in seconds) to perform the probe. Default to 10 seconds.

Minimum value is 1.

successThreshold

Integer

Minimum consecutive successes for the probe to be considered

successful after having failed. Defaults to 1. Must be 1 for liveness and

startup. Minimum value is 1.

tcpSocket

io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction object

TCPSocket specifies an action involving a TCP port.

timeoutSeconds

Integer

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

Table 154 io.cci.api.pkg.apis.versioned.cci.v2.ExecAction

Parameter

Type

Description

command

Array of strings

Command is the command line to execute inside the container,

the working directory for the command is root ('/') in the container's

filesystem. The command is simply exec'd, it is not run inside a shell,

so traditional shell instructions ('|', etc) won't work. To use a shell,

you need to explicitly call out to that shell. Exit status of 0 is treated

as live/healthy and non-zero is unhealthy.

Table 155 io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction

Parameter

Type

Description

host

String

Host name to connect to, defaults to the pod IP. You probably

want to set "Host" in httpHeaders instead.

httpHeaders

Array of io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader objects

Custom headers to set in the request. HTTP allows repeated headers.

path

String

Path to access on the HTTP server.

port

String

Name or number of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

scheme

String

Scheme to use for connecting to the host. Defaults to HTTP.

Possible enum values:

  • "HTTP" means that the scheme used will be http://

  • "HTTPS" means that the scheme used will be https://

Table 156 io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader

Parameter

Type

Description

name

String

The header field name

value

String

The header field value

Table 157 io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction

Parameter

Type

Description

host

String

Optional: Host name to connect to, defaults to the pod IP.

port

String

Number or name of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

Table 158 io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount

Parameter

Type

Description

extendPathMode

String

Extend the volume path by appending the pod metadata to the path

according to specified pattern. which provide a way of directory isolation

and help prevent the writing conflict between different pods.

mountPath

String

Path within the container at which the volume should be mounted.

name

String

This must match the Name of a Volume.

readOnly

Boolean

Mounted read-only if true, read-write otherwise (false or unspecified).

Defaults to false.

subPath

String

Path within the volume from which the container's volume should

be mounted. Defaults to "" (volume's root). Absolute paths cannot be used.

subPathExpr

String

Expanded path within the volume from which the container's volume

should be mounted. Behaves similarly to SubPath but environment variable

references $(VAR_NAME) are expanded using the container's environment. Defaults

to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.

Table 159 io.cci.api.pkg.apis.versioned.cci.v2.Volume

Parameter

Type

Description

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource object

configMap represents a configMap that should populate this volume

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource object

downwardAPI represents downward API about the pod that should

populate this volume

emptyDir

io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource object

emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

name

String

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim

io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource object

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

projected

io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource object

projected items for all in one resources secrets, configmaps,

and downward API

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource object

secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

Table 160 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource

Parameter

Type

Description

defaultMode

Integer

defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be covered. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

Table 161 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource

Parameter

Type

Description

defaultMode

Integer

Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of downward API volume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be covered.

Table 162 io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource

Parameter

Type

Description

medium

String

medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

String

sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. It takes effect only when medium is memory. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

Table 163 io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource

Parameter

Type

Description

claimName

String

claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

Boolean

readOnly Will force the ReadOnly setting in VolumeMounts. Default

false.

Table 164 io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource

Parameter

Type

Description

defaultMode

Integer

defaultMode are the mode bits used to set permissions on created

files by default. Must be an octal value between 0000 and 0777 or a decimal

value between 0 and 511. YAML accepts both octal and decimal values, JSON

requires decimal values for mode bits. Directories within the path are not

affected by this setting. This might be in conflict with other options that

affect the file mode, like fsGroup, and the result can be other mode bits

set.

sources

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection objects

sources is the list of volume projections

Table 165 io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection

Parameter

Type

Description

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection object

configMap information about the configMap data to project

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection object

downwardAPI information about the downwardAPI data to project

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection object

secret information about the secret data to project

Table 166 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection

Parameter

Type

Description

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be rejected. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

Table 167 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection

Parameter

Type

Description

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of DownwardAPIVolume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be rejected.

Table 168 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile

Parameter

Type

Description

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Required: Selects a field of the pod: only annotations, labels, uid, name and namespace are supported.

mode

Integer

Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

Table 169 io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector

Parameter

Type

Description

apiVersion

String

Version of the schema the FieldPath is written in terms of, defaults

to "v1". Only "v1" is supported currently

fieldPath

String

Path of the field to select in the specified API version. Only

annotations, labels, uid, name and namespace are supported.

Table 170 io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector

Parameter

Type

Description

containerName

String

Container name: required for volumes, optional for env vars

divisor

String

Specifies the output format of the exposed resources, defaults to "1". If divisor is set to zero or is not set, the configuration is displayed as zero, but actually still use the default "1". More info: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/#Quantity

resource

String

Required: resource to select, only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

Table 171 io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection

Parameter

Type

Description

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be rejected. Paths must be relative and may not contain the

'..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional field specify whether the Secret or its key must be

defined

Table 172 io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource

Parameter

Type

Description

defaultMode

Integer

defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items If unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be covered. Paths must be relative and may not contain the

'..' path or start with '..'.

optional

Boolean

optional field specify whether the Secret or its keys must be

defined

secretName

String

secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

Table 173 io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath

Parameter

Type

Description

key

String

key is the key to project.

mode

Integer

mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

path is the relative path of the file to map the key to. May

not be an absolute path. May not contain the path element '..'. May not

start with the string '..'.

Table 174 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentStatus

Parameter

Type

Description

availableReplicas

Integer

Total number of available pods (ready for at least minReadySeconds)

targeted by this deployment.

collisionCount

Integer

Count of hash collisions for the Deployment. The Deployment controller

uses this field as a collision avoidance mechanism when it needs to create

the name for the newest ReplicaSet.

conditions

Array of io.cci.api.pkg.apis.versioned.cci.v2.DeploymentCondition objects

Represents the latest available observations of a deployment's

current state.

observedGeneration

Long

The generation observed by the deployment controller.

readyReplicas

Integer

readyReplicas is the number of pods targeted by this Deployment

with a Ready Condition.

replicas

Integer

Total number of non-terminated pods targeted by this deployment

(their labels match the selector).

unavailableReplicas

Integer

Total number of unavailable pods targeted by this deployment.

This is the total number of pods that are still required for the deployment

to have 100% available capacity. They may either be pods that are running

but not yet available or pods that still have not been created.

updatedReplicas

Integer

Total number of non-terminated pods targeted by this deployment

that have the desired template spec.

Table 175 io.cci.api.pkg.apis.versioned.cci.v2.DeploymentCondition

Parameter

Type

Description

lastTransitionTime

String

Last time the condition transitioned from one status to another.

lastUpdateTime

String

The last time this condition was updated.

message

String

A human readable message indicating details about the transition.

reason

String

The reason for the condition's last transition.

status

String

Status of the condition, one of True, False, Unknown.

type

String

Type of deployment condition.

Example Requests

{
  "apiVersion" : "cci/v2",
  "kind" : "Deployment",
  "metadata" : {
    "annotations" : {
      "deployment.kubernetes.io/revision" : "1",
      "tenant.cci.io/tenant-id" : "08a2c8ef8d80d4152ff8c001d0281c03"
    },
    "creationTimestamp" : "2025-03-15T03:21:21Z",
    "generation" : 2,
    "name" : "test",
    "namespace" : "auto-test-converged-namespace",
    "resourceVersion" : "35683801",
    "uid" : "8dec57b8-f29c-4f2e-8c29-748026a24dca"
  },
  "spec" : {
    "progressDeadlineSeconds" : 600,
    "replicas" : 3,
    "selector" : {
      "matchLabels" : {
        "app" : "deploy-example"
      }
    },
    "strategy" : {
      "rollingUpdate" : {
        "maxSurge" : "100%",
        "maxUnavailable" : 0
      },
      "type" : "RollingUpdate"
    },
    "template" : {
      "metadata" : {
        "annotations" : {
          "deployment.cci.io/pod-template-uid" : "f6281275-3b14-4d74-8d84-92ce980ee8d1"
        },
        "creationTimestamp" : null,
        "labels" : {
          "app" : "deploy-example",
          "cci.io/origin-template-hash" : "65c85b6cb5"
        }
      },
      "spec" : {
        "affinity" : {
          "podAntiAffinity" : {
            "preferredDuringSchedulingIgnoredDuringExecution" : [ {
              "podAffinityTerm" : {
                "labelSelector" : {
                  "matchExpressions" : [ {
                    "key" : "app",
                    "operator" : "In",
                    "values" : [ "deploy-example" ]
                  } ],
                  "matchLabels" : {
                    "cci.io/origin-template-hash" : "65c85b6cb5"
                  }
                },
                "topologyKey" : "topology.kubernetes.io/zone"
              },
              "weight" : 100
            } ]
          }
        },
        "containers" : [ {
          "image" : "library/nginx:stable-alpine-perl",
          "name" : "deploy-example",
          "resources" : {
            "limits" : {
              "cpu" : "250m",
              "memory" : "256Mi"
            },
            "requests" : {
              "cpu" : "250m",
              "memory" : "256Mi"
            }
          },
          "terminationMessagePath" : "/dev/termination-log",
          "terminationMessagePolicy" : "File"
        } ],
        "dnsPolicy" : "Default",
        "imagePullSecrets" : [ {
          "name" : "imagepull-secret"
        } ],
        "restartPolicy" : "Always",
        "schedulerName" : "default-scheduler",
        "securityContext" : { },
        "terminationGracePeriodSeconds" : 30
      }
    }
  },
  "status" : {
    "availableReplicas" : 2,
    "conditions" : [ {
      "lastTransitionTime" : "2025-03-15T03:21:21Z",
      "lastUpdateTime" : "2025-03-15T03:21:26Z",
      "message" : "ReplicaSet \"test-5d87758858\" has successfully progressed.",
      "reason" : "NewReplicaSetAvailable",
      "status" : "True",
      "type" : "Progressing"
    }, {
      "lastTransitionTime" : "2025-03-15T03:32:32Z",
      "lastUpdateTime" : "2025-03-15T03:32:32Z",
      "message" : "Deployment has minimum availability.",
      "reason" : "MinimumReplicasAvailable",
      "status" : "True",
      "type" : "Available"
    } ],
    "observedGeneration" : 2,
    "readyReplicas" : 2,
    "replicas" : 2,
    "updatedReplicas" : 2
  }
}

Example Responses

Status code: 200

OK

{
  "apiVersion" : "cci/v2",
  "kind" : "Deployment",
  "metadata" : {
    "annotations" : {
      "deployment.kubernetes.io/revision" : "1",
      "tenant.cci.io/tenant-id" : "08a2c8ef8d80d4152ff8c001d0281c03"
    },
    "creationTimestamp" : "2025-03-15T03:21:21Z",
    "generation" : 3,
    "name" : "test",
    "namespace" : "auto-test-converged-namespace",
    "resourceVersion" : "35684309",
    "uid" : "8dec57b8-f29c-4f2e-8c29-748026a24dca"
  },
  "spec" : {
    "progressDeadlineSeconds" : 600,
    "replicas" : 3,
    "selector" : {
      "matchLabels" : {
        "app" : "deploy-example"
      }
    },
    "strategy" : {
      "rollingUpdate" : {
        "maxSurge" : "100%",
        "maxUnavailable" : 0
      },
      "type" : "RollingUpdate"
    },
    "template" : {
      "metadata" : {
        "annotations" : {
          "deployment.cci.io/pod-template-uid" : "f6281275-3b14-4d74-8d84-92ce980ee8d1"
        },
        "creationTimestamp" : null,
        "labels" : {
          "app" : "deploy-example",
          "cci.io/origin-template-hash" : "65c85b6cb5"
        }
      },
      "spec" : {
        "affinity" : {
          "podAntiAffinity" : {
            "preferredDuringSchedulingIgnoredDuringExecution" : [ {
              "podAffinityTerm" : {
                "labelSelector" : {
                  "matchExpressions" : [ {
                    "key" : "app",
                    "operator" : "In",
                    "values" : [ "deploy-example" ]
                  } ],
                  "matchLabels" : {
                    "cci.io/origin-template-hash" : "65c85b6cb5"
                  }
                },
                "topologyKey" : "topology.kubernetes.io/zone"
              },
              "weight" : 100
            } ]
          }
        },
        "containers" : [ {
          "image" : "library/nginx:stable-alpine-perl",
          "name" : "deploy-example",
          "resources" : {
            "limits" : {
              "cpu" : "250m",
              "memory" : "256Mi"
            },
            "requests" : {
              "cpu" : "250m",
              "memory" : "256Mi"
            }
          },
          "terminationMessagePath" : "/dev/termination-log",
          "terminationMessagePolicy" : "File"
        } ],
        "dnsPolicy" : "Default",
        "imagePullSecrets" : [ {
          "name" : "imagepull-secret"
        } ],
        "restartPolicy" : "Always",
        "schedulerName" : "default-scheduler",
        "securityContext" : { },
        "terminationGracePeriodSeconds" : 30
      }
    }
  },
  "status" : {
    "availableReplicas" : 2,
    "conditions" : [ {
      "lastTransitionTime" : "2025-03-15T03:21:21Z",
      "lastUpdateTime" : "2025-03-15T03:21:26Z",
      "message" : "ReplicaSet \"test-5d87758858\" has successfully progressed.",
      "reason" : "NewReplicaSetAvailable",
      "status" : "True",
      "type" : "Progressing"
    }, {
      "lastTransitionTime" : "2025-03-15T03:32:32Z",
      "lastUpdateTime" : "2025-03-15T03:32:32Z",
      "message" : "Deployment has minimum availability.",
      "reason" : "MinimumReplicasAvailable",
      "status" : "True",
      "type" : "Available"
    } ],
    "observedGeneration" : 2,
    "readyReplicas" : 2,
    "replicas" : 2,
    "updatedReplicas" : 2
  }
}

Status Codes

Status Code

Description

200

OK

201

Created

400

BadRequest

401

Unauthorized

403

Forbidden

404

NotFound

405

MethodNotAllowed

406

NotAcceptable

409

Conflict

415

UnsupportedMediaType

422

Invalid

429

TooManyRequests

500

InternalError

503

ServiceUnavailable

504

ServerTimeout