Containers

List Kubernetes Containers

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Query parameters
servicesinteger · int64[]Optional
namesstring[]Optional

Names, example: resource01,!resource02,resource42

environmentsstring[]Optional

Environments, example: PRODUCTION,DEVELOPMENT

statusesstring[]Optional

Status, example: ACTIVE,INACTIVE

tagsstring[]Optional

Tags, example: agkey:mytagvalue,application:itcare

backupStatusbooleanOptional

Filter list by backup status

recoveryStatusbooleanOptional

Filter list by DRP status

includedInPatchPartybooleanOptional

Filter list by patch party status

topologiesstring[]Optional

Topology, example: Standard, HA

versionsstring[]Optional

Version, example: v1.26.15, v1.28.13, etc...

regionsstring[]Optional

Region, example: EB,ET

azstring[]Optional

Availability Zone, example: EB-A, EB-B, EB-C, etc...

ipstring[]Optional

IPs, example: 10.59.13.29

vlanstring[]Optional

VLAN, example: EB_1125_DMZ8

cloudsintegerOptional
pagestringOptional

Results page you want to retrieve (0..N)

sizestringOptional

Number of records per page.

sortanyOptional

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json
emptybooleanOptional
firstbooleanOptional
lastbooleanOptional
numberinteger · int32Optional
numberOfElementsinteger · int32Optional
sizeinteger · int32Optional
totalElementsinteger · int64Optional
totalPagesinteger · int32Optional
get
/compute/containers/kubernetes

Create Kubernetes Containers

post

This method allows to create a cluster.

You will have to know at the minimum :

  • the area or availability zone of the region where you want to host your cluster (area & az attributes)
  • the product code (productCode attribute).
  • which network is used (networkId attribute)
  • name of cluster (name attribute)
  • sizing of cluster (nodeSizing attribute)
  • number of nodes instances of your cluster (instanceCount attribute)
  • service in which you want to put your cluster (serviceId attribute)

This method is asynchronous (status code 202) and you'll have to wait for async action to be completed by checking its status.

POST /clusters
{
	"name": "PCLUSTER01",
	"area": "EB",
	"networkId": "ED145",
	"serviceId": 123,
	"nodeSizing":, "1cpu2gb"
	"instanceCount": 2
}
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Body

Describes the k8s container to be created.

areastringOptional

Area. Refer to an Area of a Region, that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.

azstringOptional

Availability zone of the maria DB

backupEnabledbooleanOptional

Indicates if backup has to be setup on instance. If absent, backup will be setup automatically if instance is in a production service.

cloudIdinteger · int64Optional
dbBackupPolicyIdstringOptional

BackupPolicy id. Refers to desired backup policy to be applied for the database, must be set when backup is enabled.

ingressProviderstring · enumRequired

Kubernetes Container Ingress Providers

Possible values:
instanceCountinteger · int32 · min: 2 · max: 12Required

Number of instances to create in k8s cluster

namestringRequired

Name of k8s cluster

Pattern: [a-z0-9\-]+
networkIdinteger · int64Required

The network Id of the ELS cluster

noBackupProdReasonstringOptional

Indicates why a production resource is not under backup.

noMonitoringProdReasonstringOptional

Indicates why a production resource is not under monitoring.

noReplicationProdReasonstringOptional

Indicates why a production resource is not replicated.

nodeSizingstringRequired

Node sizing for cluster

regionstringRequired

Region. that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.

regulationstringOptional

Regulation. Refer to the regulation of the Area (HDS|STANDARD). If absent, default 'STANDARD' will be used.

replicationEnabledbooleanOptional

Indicates if replication will be setup. If absent, it will be automatically be setup if this is an production environment

serverBackupPolicyIdstringOptional

BackupPolicy id. Refers to desired backup policy to be applied for the virtual machine, must be set when backup is enabled.

serviceIdinteger · int64Required

id of service to put instance in.

supportLevelstring · enumOptional

Indicates monitoring and support level, if absent then we use boolean variables to describe which level

Possible values:
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
post
/compute/containers/kubernetes

List ingress providers

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Responses
chevron-right
200

OK

*/*
string[]Optional
get
/compute/containers/kubernetes/ingress-providers

Delete Kubernetes Containers

delete

This method allows to delete a K8s Cluster Container.

This method is asynchronous (status code 202) and you'll have to wait for async action to be completed by checking its status.

DELETE /k8s-clusters/123

DELETE /k8s-clusters/123
{
    "changeReference": "rfc nunmber 456"
}
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

id, example: 123

Body

Parameters when deleting a resource

changeReferencestring · max: 10Optional

Optional reference for change

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
delete
/compute/containers/kubernetes/{id}

Get detailed information

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

Resource Id, example: 123

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

K8s Container object

allowMonitoringDisplaybooleanOptional
availableAZsstring[]Optional
availableDCsstring[]Optional
backupStatusbooleanOptional

Indicates backup is active on the host

categorystringOptional
cloudIdinteger · int64Optional
cloudNamestringOptional
commentstringOptional
creationTimestringOptional
creationUserstringOptional
endOfSalesAtstring · date-timeOptional
endOfSupportAtstring · date-timeOptional
environmentstringOptional
extendedSupportAtstring · date-timeOptional
familystringOptional
idinteger · int64Optional
ingressProviderstring · enumOptional

Kubernetes Container Ingress Providers

Possible values:
internalResourceIdinteger · int64Optional
internalTypestringOptional
ipAddressstringOptional
labelstringOptional
labelAreastringOptional

Area pretty name

labelAreaListstring[]Optional

A list of Area name

labelAvailabilityZonestringOptional

Availability Zone pretty name

labelDataCenterstringOptional

DataCenter pretty name

labelRegionstringOptional

Region pretty name

lastKubeVersionstringOptional

Recent Version of the K8S Cluster

managementUrlstringOptional

Management host of the K8S Cluster

metrologyUrlstringOptional
monitoringRequestedbooleanOptional
namestringOptional
nodeCountinteger · int64Optional

Number of Nodes of the K8s Cluster

pathstringOptional
prettyLabelstringOptional
productCodestringOptional
productNamestringOptional
productVersionstringOptional
releasedAtstring · date-timeOptional
replicationStatusbooleanOptional

Storage Replication Enabled - The farm has replicated storage

resourceTypestringOptional
serviceIdinteger · int64Optional
serviceKeystringOptional
serviceNamestringOptional
statusstringOptional
supportLevelstring · enumOptionalPossible values:
supportPhasestringOptional
supportsHAModebooleanOptional
technicalIdstringOptional

Technical ID of the K8S Cluster

technologystringOptional
topologystringOptional

High availability mode status

typestringOptional
versionstringOptional

Version of the K8S Cluster

versionDetailedstringOptional

Version of the K8S Cluster

get
/compute/containers/kubernetes/{id}

Update Kubernetes Containers

patch

This method allows to update a cluster.

Structure of payload is generic and describes :

  • operation you want to be performed
  • options data relative to the operation performed - see details.

Below are different operations currently implemented.

Create Nodes

Use the create_nodes operation to create the nodes of a cluster.

Create nodes operation will add the new nodes in the cluster by availability zone. You can specify the availability zone you need in the request.

This method is synchronous (status code 202).

Example :

PATCH /containers/kubernetes/1234
{
    "operation": "create_nodes",
    "options": {
        "nodes": [
            {
                "nodesNb": 1,
                "nodeSizing": "2cpu4gb",
                "az": "EB-A"
            },
            {
                "nodesNb": 2,
                "nodeSizing": "4cpu8gb",
                "az": "EB-B"
            }
        ]
    }
}

you can also add isInternalIngressNode key in the options with true (which by default false) for Ingress Node.

Example :

PATCH /containers/kubernetes/1234
{
    "operation": "create_nodes",
    "options": {
        "nodes": [
            {
                "nodesNb": 1,
                "nodeSizing": "2cpu4gb",
                "az": "EB-A"
            },
            {
                "nodesNb": 2,
                "nodeSizing": "4cpu8gb",
                "az": "EB-B"
            }
        ],
        "isInternalIngressNode": true
    }
}

Delete Nodes

Use the delete_nodes operation to delete the nodes of a cluster.

This operation cannot be undone afterwards.

This method is synchronous (status code 202).

PATCH /containers/kubernetes/1234
{
	"operation":"delete_nodes",
	"options":{
	    "nodes": ["11112","11113","11114"]
	}
}

Enable High Availability - HA

Use the enable_ha operation to enable the HA of a cluster.

This operation cannot be undone afterwards.

This method is synchronous (status code 202).

PATCH /containers/kubernetes/1234
{
	"operation":"enable_ha"
}

Update Patch Party

Use the update_patch_party operation to update the patch party scheduled plan of the cluster.

  • Use the excluded option to turn on/off patch party.
  • Use the patchGroup option to select the patching group, the patchGroup is optional, and is only allowed when the farm has one member.
  • Use the exclusionReason option to explain the reason of excluding the resource from patch part.

This method is synchronous (status code 202).

  • Include from patch party body:
PATCH /containers/kubernetes/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": false,
        "patchGroup": "3"
    }
 }
}
  • Exclude from patch party body:
PATCH /containers/kubernetes/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": true,
        "exclusionReason": "I want to handle this by myself"
    }
 }
}

Upgrade

Use the upgrade operation to upgrade the cluster.

  • Use the version option to set the target version to be installed.

The requirements are :

  • step by step upgrade only : Use the /compute/platform/products?type=KUBERNETES to list all versions available for the cluster.
  • no downgrade possibility

This method is synchronous (status code 202).

PATCH /containers/kubernetes/1234
{
  "operation": "upgrade",
  "options": {
    "version": "1.24"
 }
}
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

K8s Cluster Id, example: 123

Body
operationstringOptional
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
patch
/compute/containers/kubernetes/{id}

Get Kubernetes Containers loadbalancers

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

K8sCluster Id, example: 123

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

LoadBalancer object

backupStatusbooleanOptional
botDefenseEnabledbooleanOptional

Bot Defense state

botDefenseUpdatingbooleanOptional

Bot Defense is updating

categorystringOptional
cloudIdinteger · int64Optional
cloudNamestringOptional
commentstringOptional
creationTimestringOptional
creationUserstringOptional
defaultPersistencestringOptional

Advanced property such as default persistence

endOfSalesAtstring · date-timeOptional
endOfSupportAtstring · date-timeOptional
environmentstringOptional
extendedSupportAtstring · date-timeOptional
fallbackPersistencestringOptional

Advanced property such as fallback persistence

familystringOptional
idinteger · int64Optional
internalResourceIdinteger · int64Optional
internalTypestringOptional
ipAddressstringOptional
labelstringOptional
labelAreastringOptional

Area pretty name

labelAvailabilityZonestringOptional

Availability Zone pretty name

labelDataCenterstringOptional

DataCenter pretty name

labelRegionstringOptional

Region pretty name

loadBalancingModestringOptional

Advanced property such as load balancing mode

metrologyUrlstringOptional
monitoringRequestedbooleanOptional
namestringOptional
nodeCountinteger · int64Optional
pathstringOptional
prettyLabelstringOptional
productCodestringOptional
productNamestringOptional
productVersionstringOptional
releasedAtstring · date-timeOptional
replicationStatusbooleanOptional
resourceTypestringOptional
serviceIdinteger · int64Optional
serviceKeystringOptional
serviceNamestringOptional
snatAutomapbooleanOptional

Source addresse translation automap enabled

statusstringOptional
supportLevelstring · enumOptionalPossible values:
supportPhasestringOptional
technologystringOptional
typestringOptional
get
/compute/containers/kubernetes/{id}/loadbalancers

Create Kubernetes Containers custom loadbalancers

post
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

K8sCluster Id, example: 123

Body

Describes a load balancer.

areastringOptional

Area. Refer to an Area of a Region, that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.

backupEnabledbooleanOptional

Indicates if backup has to be setup on instance. If absent, backup will be setup automatically if instance is in a production service.

certificateNamestringOptional

certificate of the load balancer., example: wildcard_cegedim.com

cloudIdinteger · int64Optional
dbBackupPolicyIdstringOptional

BackupPolicy id. Refers to desired backup policy to be applied for the database, must be set when backup is enabled.

healthcheckstringRequired

healtcheck of load balancer., example: http

networkIdinteger · int64Optional

Network id. Refer to networks available in List Networks method. If absent, a default network of AZ will be used.

noBackupProdReasonstringOptional

Indicates why a production resource is not under backup.

noMonitoringProdReasonstringOptional

Indicates why a production resource is not under monitoring.

noReplicationProdReasonstringOptional

Indicates why a production resource is not replicated.

persistencebooleanOptional
portMembersstringRequired

port member of load balancer., example: 80, 443, ...

profileNamestringRequired

profile name of load balancer.

redirectToHttpsbooleanOptional
regionstringRequired

Region. that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.

regulationstringOptional

Regulation. Refer to the regulation of the Area (HDS|STANDARD). If absent, default 'STANDARD' will be used.

replicationEnabledbooleanOptional

Indicates if replication will be setup. If absent, it will be automatically be setup if this is an production environment

serverBackupPolicyIdstringOptional

BackupPolicy id. Refers to desired backup policy to be applied for the virtual machine, must be set when backup is enabled.

serviceIdinteger · int64Required

id of service to put instance in.

setUpDNSEnabledbooleanOptional

Indicates if a DNS record is to be set. If absent, set to false.

sslProfilestringOptional

ssl profile of the load balancer., example: profile_wildcard.cegedim.com_secure

supportLevelstring · enumOptional

Indicates monitoring and support level, if absent then we use boolean variables to describe which level

Possible values:
urlstringRequired

url of load balancer. Must be unique, and fit naming rules convention., example: url.cegedim.com

Pattern: ^(https?:\\/\\/)?(www\\.)?[a-zA-Z][a-zA-Z0-9.-]{2,63}+$
vsPortinteger · int32Optional

port of load balancer in case of TCP VS Profile

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
post
/compute/containers/kubernetes/{id}/loadbalancers

Get stats distribution

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

K8sCluster Id, example: 123

Query parameters
typestringRequired

type, example: az-distribution | dc-distribution

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json
get
/compute/containers/kubernetes/{id}/metrics

Get network information

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json
areastringOptional
cidrstringOptional
cloudstringOptional
defaultNetworkbooleanOptional
descriptionstringOptional
environmentstringOptional
gatewaystringOptional
idinteger · int64Optional
ipAddressstringOptional
ipFreeNumberinteger · int32Optional
isIpRangePublicbooleanOptional
maskstringOptional
networkShortDescriptionstringOptional
regionstringOptional
scopestringOptional
shortDescriptionstringOptional
technicalIdstringOptional
usedPercentinteger · int32Optional
get
/compute/containers/kubernetes/{id}/networks

Get node information

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

Instance object

authenticationDomainstringOptional
backupStatusbooleanOptional
categorystringOptional
cloudIdinteger · int64Optional
cloudNamestringOptional
commentstringOptional
cpuinteger · int64Optional

CPU of the resource

creationTimestringOptional
creationUserstringOptional
endOfSalesAtstring · date-timeOptional
endOfSupportAtstring · date-timeOptional
environmentstringOptional
extendedSupportAtstring · date-timeOptional
familystringOptional
idinteger · int64Optional
imageCodestringOptional

Internal Image linked to this instance

internalResourceIdinteger · int64Optional
internalTypestringOptional
ipAddressstringOptional
isExternalIngressNodebooleanOptional

This instance is ingress external node

isInternalIngressNodebooleanOptional

This instance is ingress internal node

isMemberOFLoadBalancerbooleanOptional

Instance is member of load balancer

labelstringOptional
labelAreastringOptional

Area pretty name

labelAvailabilityZonestringOptional

Availability Zone pretty name

labelDataCenterstringOptional

DataCenter pretty name

labelRegionstringOptional

Region pretty name

metrologyUrlstringOptional
monitoringRequestedbooleanOptional
namestringOptional
osNamestringOptional

OS name of this instance

osTypestringOptional

OS type of this instance

parentResourceTypestringOptional
pathstringOptional
prettyLabelstringOptional
productCodestringOptional
productNamestringOptional
productVersionstringOptional
raminteger · int64Optional

RAM of the resource

releasedAtstring · date-timeOptional
replicationStatusbooleanOptional
resourceTypestringOptional
serviceIdinteger · int64Optional
serviceKeystringOptional
serviceNamestringOptional
statusstringOptional
storagenumberOptional

Storage after disks format in GB of the resource

storageMoveInProgressbooleanOptional

Information about storage replication in Progress

supportLevelstring · enumOptionalPossible values:
supportPhasestringOptional
technologystringOptional
totalSizeDisksstringOptionalDeprecated

Total Disk size of the resource

typestringOptional
get
/compute/containers/kubernetes/{id}/nodes

Delete Kubernetes Containers node

delete

This method allows to delete a Kubernetes cluster node.

This operation cannot be undone afterwards.

This method is synchronous (status code 202).

To delete a Kubernetes node, the id of the Kubernetes cluster and the id of the node to delete must be specified.

To list the nodes of the Kubernetes cluster, use the endpoint : GET /containers/kubernetes/{kuberneteId}/nodes/{nodeId}.

Use the following to delete a node of a Kubernetes cluster.

DELETE /containers/kubernetes/1234/nodes/4567

To keep consistency on the Kubernetes cluster, please note that :

  • All nodes cannot be deleted.

  • All ingress nodes cannot be deleted.

API users will have a BAD_REQUEST when trying to break one of the rule above.

Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

id, example: 123

nodeIdinteger · int64Required

id, example: 456

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
delete
/compute/containers/kubernetes/{id}/nodes/{nodeId}

Last updated