From 9e2044eedcbf2a7544e3be3c07874ac24d7a8b50 Mon Sep 17 00:00:00 2001 From: Magyari Sandor Szilard Date: Mon, 30 Aug 2021 14:14:03 +0200 Subject: [PATCH] regenerate Open API to inculde volume separation --- .gen/pipeline/README.md | 5 + .gen/pipeline/api/openapi.yaml | 125 +++++++++++++++++- .gen/pipeline/docs/CreateNodePoolRequest.md | 1 + .gen/pipeline/docs/EksNodePoolAllOf.md | 1 + .gen/pipeline/docs/EksNodePoolVolume.md | 14 ++ .gen/pipeline/docs/EksNodePoolVolumeEbs.md | 14 ++ .../docs/EksNodePoolVolumeInstanceStore.md | 11 ++ .gen/pipeline/docs/EksNodePoolVolumeNone.md | 11 ++ .gen/pipeline/docs/EksNodePoolVolumes.md | 12 ++ .../pipeline/docs/EksUpdateNodePoolRequest.md | 1 + .../docs/EksUpdateNodePoolRequestAllOf.md | 1 + .gen/pipeline/docs/NodePool.md | 1 + .gen/pipeline/docs/NodePoolSummary.md | 1 + .gen/pipeline/docs/UpdateNodePoolRequest.md | 1 + .../model_create_node_pool_request.go | 1 + .gen/pipeline/model_eks_node_pool_all_of.go | 1 + .gen/pipeline/model_eks_node_pool_volume.go | 22 +++ .../model_eks_node_pool_volume_ebs.go | 22 +++ .../model_eks_node_pool_volume_encryption.go | 2 +- ...del_eks_node_pool_volume_instance_store.go | 17 +++ .../model_eks_node_pool_volume_none.go | 17 +++ .gen/pipeline/model_eks_node_pool_volumes.go | 17 +++ .../model_eks_update_node_pool_request.go | 1 + ...del_eks_update_node_pool_request_all_of.go | 1 + .gen/pipeline/model_node_pool.go | 1 + .gen/pipeline/model_node_pool_summary.go | 1 + .../model_update_node_pool_request.go | 1 + .gen/pipeline/version.go | 2 +- .idea/banzai-cli.iml | 1 + Makefile | 2 +- 30 files changed, 302 insertions(+), 6 deletions(-) create mode 100644 .gen/pipeline/docs/EksNodePoolVolume.md create mode 100644 .gen/pipeline/docs/EksNodePoolVolumeEbs.md create mode 100644 .gen/pipeline/docs/EksNodePoolVolumeInstanceStore.md create mode 100644 .gen/pipeline/docs/EksNodePoolVolumeNone.md create mode 100644 .gen/pipeline/docs/EksNodePoolVolumes.md create mode 100644 .gen/pipeline/model_eks_node_pool_volume.go create mode 100644 .gen/pipeline/model_eks_node_pool_volume_ebs.go create mode 100644 .gen/pipeline/model_eks_node_pool_volume_instance_store.go create mode 100644 .gen/pipeline/model_eks_node_pool_volume_none.go create mode 100644 .gen/pipeline/model_eks_node_pool_volumes.go diff --git a/.gen/pipeline/README.md b/.gen/pipeline/README.md index b086d0ea..f1eb3982 100644 --- a/.gen/pipeline/README.md +++ b/.gen/pipeline/README.md @@ -271,7 +271,12 @@ Class | Method | HTTP request | Description - [EksIam](docs/EksIam.md) - [EksNodePool](docs/EksNodePool.md) - [EksNodePoolAllOf](docs/EksNodePoolAllOf.md) + - [EksNodePoolVolume](docs/EksNodePoolVolume.md) + - [EksNodePoolVolumeEbs](docs/EksNodePoolVolumeEbs.md) - [EksNodePoolVolumeEncryption](docs/EksNodePoolVolumeEncryption.md) + - [EksNodePoolVolumeInstanceStore](docs/EksNodePoolVolumeInstanceStore.md) + - [EksNodePoolVolumeNone](docs/EksNodePoolVolumeNone.md) + - [EksNodePoolVolumes](docs/EksNodePoolVolumes.md) - [EksSubnet](docs/EksSubnet.md) - [EksUpdateClusterRequest](docs/EksUpdateClusterRequest.md) - [EksUpdateNodePoolRequest](docs/EksUpdateNodePoolRequest.md) diff --git a/.gen/pipeline/api/openapi.yaml b/.gen/pipeline/api/openapi.yaml index d2f02eb6..1b740e9f 100644 --- a/.gen/pipeline/api/openapi.yaml +++ b/.gen/pipeline/api/openapi.yaml @@ -18881,12 +18881,124 @@ components: - $ref: '#/components/schemas/EksNodePool_allOf' description: Node pool object for an EKS cluster. type: object + EKSNodePoolVolume: + discriminator: + mapping: + ebs: '#/components/schemas/EKSNodePoolVolumeEBS' + instance-store: '#/components/schemas/EKSNodePoolVolumeInstanceStore' + none: EKSNodePoolVolumeNone + propertyName: storage + nullable: true + oneOf: + - $ref: '#/components/schemas/EKSNodePoolVolumeEBS' + - $ref: '#/components/schemas/EKSNodePoolVolumeInstanceStore' + - $ref: '#/components/schemas/EKSNodePoolVolumeNone' + EKSNodePoolVolumes: + description: An associative collection of EKS node pool node instance volume + configuration objects keyed by their semantical volume names (example instanceRoot, + kubeletRoot). + example: | + { + "instanceRoot": { + "encryption": { + "enabled": true, + "encryptionKeyARN": "arn:aws:kms:aws-region:012345678901:key/01234567-0123-0123-0123-012345678901" + } + "size": 50 + "storage": "ebs" + "type": "gp3" + }, + "kubeletRoot": { + "storage": "instance-store" + } + } + nullable: true + properties: + instanceRoot: + $ref: '#/components/schemas/EKSNodePoolVolume' + kubeletRoot: + $ref: '#/components/schemas/EKSNodePoolVolume' + type: object + EKSNodePoolVolumeEBS: + description: |- + Configuration of EBS volumes mounted onto an EKS node pool node instance. + EBS volumes are the default to be used, if no configuration is specified. + example: | + { + "encryption": { + "enabled": true, + "encryptionKeyARN": "arn:aws:kms:aws-region:012345678901:key/01234567-0123-0123-0123-012345678901" + } + "size": 50 + "storage": "ebs" + "type": "gp3" + } + properties: + encryption: + $ref: '#/components/schemas/EKSNodePoolVolumeEncryption' + size: + description: Size of the EBS volume in GiBs of the nodes in the pool (default + 50 GiB). + example: 50 + type: integer + storage: + description: Type of the mounted volume's storage on the node instances + of the node pool. + enum: + - ebs + type: string + type: + description: Type of the EBS volume to mount on the EKS node pool node instances + (default gp3). + example: gp3 + type: string + required: + - storage + type: object + EKSNodePoolVolumeInstanceStore: + description: |- + Configuration of instance store volumes mounted onto an EKS node pool node instance. + Instance store volumes are encrypted at rest by default using an XTS-AES-256 block cipher implemented in a hardware module on the instance. + The size and type of an instance store volume is fixed based on the instance type the volume is attached to. + For more details see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. + example: | + { + "storage": "instance-store" + } + properties: + storage: + description: Type of the mounted volume's storage on the node instances + of the node pool. + enum: + - instance-store + type: string + required: + - storage + type: object + EKSNodePoolVolumeNone: + description: We need this struct to be able to remove a volume in case of an + update for example. + example: | + { + "storage": "none" + } + properties: + storage: + description: Type of the mounted volume's storage on the node instances + of the node pool. + enum: + - instance-store + type: string + required: + - storage + type: object EKSNodePoolVolumeEncryption: - description: Encryption details of the node volumes in an EKS node pool. + description: Encryption details of the instance volumes in an EKS node pool + (default null -> control plane configuration -> AWS account default). example: | { "enabled": true, - "encryptionKeyARN": "arn:aws:kms::000000000000:key/00000000-0000-0000-0000-000000000000" + "encryptionKeyARN": "arn:aws:kms:aws-region:012345678901:key/01234567-0123-0123-0123-01234567890a" } nullable: true properties: @@ -18896,7 +19008,7 @@ components: type: boolean encryptionKeyARN: description: KMS key ARN to use for node volume encryption. - example: arn:aws:kms::000000000000:key/00000000-0000-0000-0000-000000000000 + example: arn:aws:kms:aws-region:012345678901:key/01234567-0123-0123-0123-01234567890a type: string required: - enabled @@ -23005,10 +23117,12 @@ components: volumeEncryption: $ref: '#/components/schemas/EKSNodePoolVolumeEncryption' volumeSize: + deprecated: true description: Size of the EBS volume in GBs of the nodes in the pool. example: 50 type: integer volumeType: + deprecated: true description: Type of the EBS volume of the nodes in the pool (default gp3). example: gp3 type: string @@ -23039,11 +23153,14 @@ components: type: string type: array useInstanceStore: + deprecated: true description: Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. type: boolean + volumes: + $ref: '#/components/schemas/EKSNodePoolVolumes' required: - instanceType EksUpdateNodePoolRequest_allOf: @@ -23094,6 +23211,8 @@ components: here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. nullable: true type: boolean + volumes: + $ref: '#/components/schemas/EKSNodePoolVolumes' options: $ref: '#/components/schemas/BaseUpdateNodePoolOptions' PkeAwsUpdateNodePoolRequest_allOf: diff --git a/.gen/pipeline/docs/CreateNodePoolRequest.md b/.gen/pipeline/docs/CreateNodePoolRequest.md index 1feefbe9..ba518d15 100644 --- a/.gen/pipeline/docs/CreateNodePoolRequest.md +++ b/.gen/pipeline/docs/CreateNodePoolRequest.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **SubnetId** | **string** | | [optional] **SecurityGroups** | **[]string** | List of additional custom security groups for all nodes in the pool. | [optional] **UseInstanceStore** | **bool** | Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. | [optional] +**Volumes** | Pointer to [**EksNodePoolVolumes**](EKSNodePoolVolumes.md) | | [optional] **NodePools** | [**map[string]NodePool**](NodePool.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/.gen/pipeline/docs/EksNodePoolAllOf.md b/.gen/pipeline/docs/EksNodePoolAllOf.md index 645682e4..9cf15221 100644 --- a/.gen/pipeline/docs/EksNodePoolAllOf.md +++ b/.gen/pipeline/docs/EksNodePoolAllOf.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **SubnetId** | **string** | | [optional] **SecurityGroups** | **[]string** | List of additional custom security groups for all nodes in the pool. | [optional] **UseInstanceStore** | **bool** | Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. | [optional] +**Volumes** | Pointer to [**EksNodePoolVolumes**](EKSNodePoolVolumes.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/.gen/pipeline/docs/EksNodePoolVolume.md b/.gen/pipeline/docs/EksNodePoolVolume.md new file mode 100644 index 00000000..6fca6020 --- /dev/null +++ b/.gen/pipeline/docs/EksNodePoolVolume.md @@ -0,0 +1,14 @@ +# EksNodePoolVolume + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Encryption** | Pointer to [**EksNodePoolVolumeEncryption**](EKSNodePoolVolumeEncryption.md) | | [optional] +**Size** | **int32** | Size of the EBS volume in GiBs of the nodes in the pool (default 50 GiB). | [optional] +**Storage** | **string** | Type of the mounted volume's storage on the node instances of the node pool. | +**Type** | **string** | Type of the EBS volume to mount on the EKS node pool node instances (default gp3). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/.gen/pipeline/docs/EksNodePoolVolumeEbs.md b/.gen/pipeline/docs/EksNodePoolVolumeEbs.md new file mode 100644 index 00000000..45975d38 --- /dev/null +++ b/.gen/pipeline/docs/EksNodePoolVolumeEbs.md @@ -0,0 +1,14 @@ +# EksNodePoolVolumeEbs + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Encryption** | Pointer to [**EksNodePoolVolumeEncryption**](EKSNodePoolVolumeEncryption.md) | | [optional] +**Size** | **int32** | Size of the EBS volume in GiBs of the nodes in the pool (default 50 GiB). | [optional] +**Storage** | **string** | Type of the mounted volume's storage on the node instances of the node pool. | +**Type** | **string** | Type of the EBS volume to mount on the EKS node pool node instances (default gp3). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/.gen/pipeline/docs/EksNodePoolVolumeInstanceStore.md b/.gen/pipeline/docs/EksNodePoolVolumeInstanceStore.md new file mode 100644 index 00000000..7ed93163 --- /dev/null +++ b/.gen/pipeline/docs/EksNodePoolVolumeInstanceStore.md @@ -0,0 +1,11 @@ +# EksNodePoolVolumeInstanceStore + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Storage** | **string** | Type of the mounted volume's storage on the node instances of the node pool. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/.gen/pipeline/docs/EksNodePoolVolumeNone.md b/.gen/pipeline/docs/EksNodePoolVolumeNone.md new file mode 100644 index 00000000..1c0f2dae --- /dev/null +++ b/.gen/pipeline/docs/EksNodePoolVolumeNone.md @@ -0,0 +1,11 @@ +# EksNodePoolVolumeNone + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Storage** | **string** | Type of the mounted volume's storage on the node instances of the node pool. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/.gen/pipeline/docs/EksNodePoolVolumes.md b/.gen/pipeline/docs/EksNodePoolVolumes.md new file mode 100644 index 00000000..a0ecfa66 --- /dev/null +++ b/.gen/pipeline/docs/EksNodePoolVolumes.md @@ -0,0 +1,12 @@ +# EksNodePoolVolumes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**InstanceRoot** | Pointer to [**EksNodePoolVolume**](EKSNodePoolVolume.md) | | [optional] +**KubeletRoot** | Pointer to [**EksNodePoolVolume**](EKSNodePoolVolume.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/.gen/pipeline/docs/EksUpdateNodePoolRequest.md b/.gen/pipeline/docs/EksUpdateNodePoolRequest.md index ff22f4f9..53050855 100644 --- a/.gen/pipeline/docs/EksUpdateNodePoolRequest.md +++ b/.gen/pipeline/docs/EksUpdateNodePoolRequest.md @@ -16,6 +16,7 @@ Name | Type | Description | Notes **SpotPrice** | **string** | The upper limit price for the requested spot instance. If this field is empty or 0 on-demand instances are used instead of spot instances. | [optional] **SecurityGroups** | Pointer to **[]string** | List of additional custom security groups for all nodes in the pool. | [optional] **UseInstanceStore** | Pointer to **bool** | Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. | [optional] +**Volumes** | Pointer to [**EksNodePoolVolumes**](EKSNodePoolVolumes.md) | | [optional] **Options** | [**BaseUpdateNodePoolOptions**](BaseUpdateNodePoolOptions.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/.gen/pipeline/docs/EksUpdateNodePoolRequestAllOf.md b/.gen/pipeline/docs/EksUpdateNodePoolRequestAllOf.md index 4e37ea48..6c3904b7 100644 --- a/.gen/pipeline/docs/EksUpdateNodePoolRequestAllOf.md +++ b/.gen/pipeline/docs/EksUpdateNodePoolRequestAllOf.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **SpotPrice** | **string** | The upper limit price for the requested spot instance. If this field is empty or 0 on-demand instances are used instead of spot instances. | [optional] **SecurityGroups** | Pointer to **[]string** | List of additional custom security groups for all nodes in the pool. | [optional] **UseInstanceStore** | Pointer to **bool** | Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. | [optional] +**Volumes** | Pointer to [**EksNodePoolVolumes**](EKSNodePoolVolumes.md) | | [optional] **Options** | [**BaseUpdateNodePoolOptions**](BaseUpdateNodePoolOptions.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/.gen/pipeline/docs/NodePool.md b/.gen/pipeline/docs/NodePool.md index f778fb32..f9e2b4a4 100644 --- a/.gen/pipeline/docs/NodePool.md +++ b/.gen/pipeline/docs/NodePool.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **SubnetId** | **string** | | [optional] **SecurityGroups** | **[]string** | List of additional custom security groups for all nodes in the pool. | [optional] **UseInstanceStore** | **bool** | Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. | [optional] +**Volumes** | Pointer to [**EksNodePoolVolumes**](EKSNodePoolVolumes.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/.gen/pipeline/docs/NodePoolSummary.md b/.gen/pipeline/docs/NodePoolSummary.md index 142bbd4e..5073a84b 100644 --- a/.gen/pipeline/docs/NodePoolSummary.md +++ b/.gen/pipeline/docs/NodePoolSummary.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **SubnetId** | **string** | | [optional] **SecurityGroups** | **[]string** | List of additional custom security groups for all nodes in the pool. | [optional] **UseInstanceStore** | **bool** | Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. | [optional] +**Volumes** | Pointer to [**EksNodePoolVolumes**](EKSNodePoolVolumes.md) | | [optional] **Status** | **string** | Current status of the node pool. | [optional] **StatusMessage** | **string** | Details and reasoning about the status value. | [optional] diff --git a/.gen/pipeline/docs/UpdateNodePoolRequest.md b/.gen/pipeline/docs/UpdateNodePoolRequest.md index 17a51664..ddc5d5b4 100644 --- a/.gen/pipeline/docs/UpdateNodePoolRequest.md +++ b/.gen/pipeline/docs/UpdateNodePoolRequest.md @@ -16,6 +16,7 @@ Name | Type | Description | Notes **SpotPrice** | **string** | The upper limit price for the requested spot instance. If this field is empty or 0 on-demand instances are used instead of spot instances. | [optional] **SecurityGroups** | Pointer to **[]string** | List of additional custom security groups for all nodes in the pool. | [optional] **UseInstanceStore** | Pointer to **bool** | Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. | [optional] +**Volumes** | Pointer to [**EksNodePoolVolumes**](EKSNodePoolVolumes.md) | | [optional] **Options** | [**BaseUpdateNodePoolOptions**](BaseUpdateNodePoolOptions.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/.gen/pipeline/model_create_node_pool_request.go b/.gen/pipeline/model_create_node_pool_request.go index 85d87362..308ef7c6 100644 --- a/.gen/pipeline/model_create_node_pool_request.go +++ b/.gen/pipeline/model_create_node_pool_request.go @@ -35,5 +35,6 @@ type CreateNodePoolRequest struct { SecurityGroups []string `json:"securityGroups,omitempty"` // Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. UseInstanceStore bool `json:"useInstanceStore,omitempty"` + Volumes *EksNodePoolVolumes `json:"volumes,omitempty"` NodePools map[string]NodePool `json:"nodePools,omitempty"` } diff --git a/.gen/pipeline/model_eks_node_pool_all_of.go b/.gen/pipeline/model_eks_node_pool_all_of.go index 0ff885cc..32462569 100644 --- a/.gen/pipeline/model_eks_node_pool_all_of.go +++ b/.gen/pipeline/model_eks_node_pool_all_of.go @@ -29,4 +29,5 @@ type EksNodePoolAllOf struct { SecurityGroups []string `json:"securityGroups,omitempty"` // Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. UseInstanceStore bool `json:"useInstanceStore,omitempty"` + Volumes *EksNodePoolVolumes `json:"volumes,omitempty"` } diff --git a/.gen/pipeline/model_eks_node_pool_volume.go b/.gen/pipeline/model_eks_node_pool_volume.go new file mode 100644 index 00000000..25122b69 --- /dev/null +++ b/.gen/pipeline/model_eks_node_pool_volume.go @@ -0,0 +1,22 @@ +/* + * Pipeline API + * + * Pipeline is a feature rich application platform, built for containers on top of Kubernetes to automate the DevOps experience, continuous application development and the lifecycle of deployments. + * + * API version: latest + * Contact: info@banzaicloud.com + */ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package pipeline +// EksNodePoolVolume struct for EksNodePoolVolume +type EksNodePoolVolume struct { + Encryption *EksNodePoolVolumeEncryption `json:"encryption,omitempty"` + // Size of the EBS volume in GiBs of the nodes in the pool (default 50 GiB). + Size int32 `json:"size,omitempty"` + // Type of the mounted volume's storage on the node instances of the node pool. + Storage string `json:"storage"` + // Type of the EBS volume to mount on the EKS node pool node instances (default gp3). + Type string `json:"type,omitempty"` +} diff --git a/.gen/pipeline/model_eks_node_pool_volume_ebs.go b/.gen/pipeline/model_eks_node_pool_volume_ebs.go new file mode 100644 index 00000000..f595e877 --- /dev/null +++ b/.gen/pipeline/model_eks_node_pool_volume_ebs.go @@ -0,0 +1,22 @@ +/* + * Pipeline API + * + * Pipeline is a feature rich application platform, built for containers on top of Kubernetes to automate the DevOps experience, continuous application development and the lifecycle of deployments. + * + * API version: latest + * Contact: info@banzaicloud.com + */ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package pipeline +// EksNodePoolVolumeEbs Configuration of EBS volumes mounted onto an EKS node pool node instance. EBS volumes are the default to be used, if no configuration is specified. +type EksNodePoolVolumeEbs struct { + Encryption *EksNodePoolVolumeEncryption `json:"encryption,omitempty"` + // Size of the EBS volume in GiBs of the nodes in the pool (default 50 GiB). + Size int32 `json:"size,omitempty"` + // Type of the mounted volume's storage on the node instances of the node pool. + Storage string `json:"storage"` + // Type of the EBS volume to mount on the EKS node pool node instances (default gp3). + Type string `json:"type,omitempty"` +} diff --git a/.gen/pipeline/model_eks_node_pool_volume_encryption.go b/.gen/pipeline/model_eks_node_pool_volume_encryption.go index b73d9ad0..bc212fab 100644 --- a/.gen/pipeline/model_eks_node_pool_volume_encryption.go +++ b/.gen/pipeline/model_eks_node_pool_volume_encryption.go @@ -10,7 +10,7 @@ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package pipeline -// EksNodePoolVolumeEncryption Encryption details of the node volumes in an EKS node pool. +// EksNodePoolVolumeEncryption Encryption details of the instance volumes in an EKS node pool (default null -> control plane configuration -> AWS account default). type EksNodePoolVolumeEncryption struct { // Indicator of encrypted node pool node volumes. Enabled bool `json:"enabled"` diff --git a/.gen/pipeline/model_eks_node_pool_volume_instance_store.go b/.gen/pipeline/model_eks_node_pool_volume_instance_store.go new file mode 100644 index 00000000..d2007db7 --- /dev/null +++ b/.gen/pipeline/model_eks_node_pool_volume_instance_store.go @@ -0,0 +1,17 @@ +/* + * Pipeline API + * + * Pipeline is a feature rich application platform, built for containers on top of Kubernetes to automate the DevOps experience, continuous application development and the lifecycle of deployments. + * + * API version: latest + * Contact: info@banzaicloud.com + */ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package pipeline +// EksNodePoolVolumeInstanceStore Configuration of instance store volumes mounted onto an EKS node pool node instance. Instance store volumes are encrypted at rest by default using an XTS-AES-256 block cipher implemented in a hardware module on the instance. The size and type of an instance store volume is fixed based on the instance type the volume is attached to. For more details see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. +type EksNodePoolVolumeInstanceStore struct { + // Type of the mounted volume's storage on the node instances of the node pool. + Storage string `json:"storage"` +} diff --git a/.gen/pipeline/model_eks_node_pool_volume_none.go b/.gen/pipeline/model_eks_node_pool_volume_none.go new file mode 100644 index 00000000..4eb88d92 --- /dev/null +++ b/.gen/pipeline/model_eks_node_pool_volume_none.go @@ -0,0 +1,17 @@ +/* + * Pipeline API + * + * Pipeline is a feature rich application platform, built for containers on top of Kubernetes to automate the DevOps experience, continuous application development and the lifecycle of deployments. + * + * API version: latest + * Contact: info@banzaicloud.com + */ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package pipeline +// EksNodePoolVolumeNone We need this struct to be able to remove a volume in case of an update for example. +type EksNodePoolVolumeNone struct { + // Type of the mounted volume's storage on the node instances of the node pool. + Storage string `json:"storage"` +} diff --git a/.gen/pipeline/model_eks_node_pool_volumes.go b/.gen/pipeline/model_eks_node_pool_volumes.go new file mode 100644 index 00000000..43b67499 --- /dev/null +++ b/.gen/pipeline/model_eks_node_pool_volumes.go @@ -0,0 +1,17 @@ +/* + * Pipeline API + * + * Pipeline is a feature rich application platform, built for containers on top of Kubernetes to automate the DevOps experience, continuous application development and the lifecycle of deployments. + * + * API version: latest + * Contact: info@banzaicloud.com + */ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package pipeline +// EksNodePoolVolumes An associative collection of EKS node pool node instance volume configuration objects keyed by their semantical volume names (example instanceRoot, kubeletRoot). +type EksNodePoolVolumes struct { + InstanceRoot *EksNodePoolVolume `json:"instanceRoot,omitempty"` + KubeletRoot *EksNodePoolVolume `json:"kubeletRoot,omitempty"` +} diff --git a/.gen/pipeline/model_eks_update_node_pool_request.go b/.gen/pipeline/model_eks_update_node_pool_request.go index 087141f0..01947c81 100644 --- a/.gen/pipeline/model_eks_update_node_pool_request.go +++ b/.gen/pipeline/model_eks_update_node_pool_request.go @@ -34,5 +34,6 @@ type EksUpdateNodePoolRequest struct { SecurityGroups *[]string `json:"securityGroups,omitempty"` // Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. UseInstanceStore *bool `json:"useInstanceStore,omitempty"` + Volumes *EksNodePoolVolumes `json:"volumes,omitempty"` Options BaseUpdateNodePoolOptions `json:"options,omitempty"` } diff --git a/.gen/pipeline/model_eks_update_node_pool_request_all_of.go b/.gen/pipeline/model_eks_update_node_pool_request_all_of.go index 0c50e837..75476f30 100644 --- a/.gen/pipeline/model_eks_update_node_pool_request_all_of.go +++ b/.gen/pipeline/model_eks_update_node_pool_request_all_of.go @@ -30,5 +30,6 @@ type EksUpdateNodePoolRequestAllOf struct { SecurityGroups *[]string `json:"securityGroups,omitempty"` // Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. UseInstanceStore *bool `json:"useInstanceStore,omitempty"` + Volumes *EksNodePoolVolumes `json:"volumes,omitempty"` Options BaseUpdateNodePoolOptions `json:"options,omitempty"` } diff --git a/.gen/pipeline/model_node_pool.go b/.gen/pipeline/model_node_pool.go index cf843d35..538fd2c9 100644 --- a/.gen/pipeline/model_node_pool.go +++ b/.gen/pipeline/model_node_pool.go @@ -35,4 +35,5 @@ type NodePool struct { SecurityGroups []string `json:"securityGroups,omitempty"` // Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. UseInstanceStore bool `json:"useInstanceStore,omitempty"` + Volumes *EksNodePoolVolumes `json:"volumes,omitempty"` } diff --git a/.gen/pipeline/model_node_pool_summary.go b/.gen/pipeline/model_node_pool_summary.go index 3afdc01e..15f6fad6 100644 --- a/.gen/pipeline/model_node_pool_summary.go +++ b/.gen/pipeline/model_node_pool_summary.go @@ -35,6 +35,7 @@ type NodePoolSummary struct { SecurityGroups []string `json:"securityGroups,omitempty"` // Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. UseInstanceStore bool `json:"useInstanceStore,omitempty"` + Volumes *EksNodePoolVolumes `json:"volumes,omitempty"` // Current status of the node pool. Status string `json:"status,omitempty"` // Details and reasoning about the status value. diff --git a/.gen/pipeline/model_update_node_pool_request.go b/.gen/pipeline/model_update_node_pool_request.go index ac7a88e5..9e917690 100644 --- a/.gen/pipeline/model_update_node_pool_request.go +++ b/.gen/pipeline/model_update_node_pool_request.go @@ -34,5 +34,6 @@ type UpdateNodePoolRequest struct { SecurityGroups *[]string `json:"securityGroups,omitempty"` // Setup available instance stores (NVMe disks) to use for Kubelet root if available. As a result emptyDir volumes will be provisioned on local instance storage disks. You can check out available instance storages here https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes. UseInstanceStore *bool `json:"useInstanceStore,omitempty"` + Volumes *EksNodePoolVolumes `json:"volumes,omitempty"` Options BaseUpdateNodePoolOptions `json:"options,omitempty"` } diff --git a/.gen/pipeline/version.go b/.gen/pipeline/version.go index 781a48e4..12238ad6 100644 --- a/.gen/pipeline/version.go +++ b/.gen/pipeline/version.go @@ -1,3 +1,3 @@ package pipeline -const PipelineVersion = "0.76.0" +const PipelineVersion = "feat/volume-separation" diff --git a/.idea/banzai-cli.iml b/.idea/banzai-cli.iml index c956989b..5e764c4f 100644 --- a/.idea/banzai-cli.iml +++ b/.idea/banzai-cli.iml @@ -1,5 +1,6 @@ + diff --git a/Makefile b/Makefile index d40d0abc..aa5c0384 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ endif TEST_FORMAT = short-verbose endif -PIPELINE_VERSION = 0.76.0 +PIPELINE_VERSION = feat/volume-separation CLOUDINFO_VERSION = 0.13.0 TELESCOPES_VERSION = 0.5.3