From bdb4b9b29f5bef65fe7e700baa61d60aa9ee7294 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Wed, 22 Nov 2023 18:28:14 +0100 Subject: [PATCH] api-v1, initial commit --- .openapi-generator/FILES | 8 + README.md | 8 +- api/openapi.yaml | 440 +++++++++++++----- api_bucket.go | 6 +- api_key.go | 36 +- api_layout.go | 88 ++-- api_nodes.go | 6 +- client.go | 6 +- configuration.go | 6 +- docs/AddKeyRequest.md | 12 +- docs/ApplyLayout200Response.md | 72 +++ docs/BucketApi.md | 2 +- docs/ClusterLayout.md | 18 +- docs/GetNodes200Response.md | 73 ++- docs/ImportKeyRequest.md | 14 +- docs/KeyApi.md | 18 +- docs/KeyInfo.md | 12 +- docs/LayoutApi.md | 24 +- docs/NodeClusterInfo.md | 9 +- docs/NodeNetworkInfo.md | 26 ++ docs/NodeRoleChange.md | 150 ++++++ docs/NodeRoleRemove.md | 77 +++ docs/NodeRoleUpdate.md | 129 +++++ docs/NodesApi.md | 2 +- model_add_key_request.go | 36 +- model_add_node_200_response_inner.go | 4 +- model_allow_bucket_key_request.go | 4 +- model_allow_bucket_key_request_permissions.go | 4 +- model_apply_layout_200_response.go | 137 ++++++ model_bucket_info.go | 4 +- model_bucket_info_quotas.go | 4 +- model_bucket_info_website_config.go | 4 +- model_bucket_key_info.go | 4 +- model_cluster_layout.go | 30 +- model_create_bucket_request.go | 4 +- model_create_bucket_request_local_alias.go | 4 +- ...create_bucket_request_local_alias_allow.go | 4 +- model_get_nodes_200_response.go | 107 ++++- model_import_key_request.go | 20 +- model_key_info.go | 36 +- model_key_info_buckets_inner.go | 4 +- model_key_info_buckets_inner_permissions.go | 4 +- model_key_info_permissions.go | 4 +- model_layout_version.go | 4 +- model_list_buckets_200_response_inner.go | 4 +- ..._200_response_inner_local_aliases_inner.go | 4 +- model_list_keys_200_response_inner.go | 4 +- model_node_cluster_info.go | 37 +- model_node_network_info.go | 48 +- model_node_role_change.go | 148 ++++++ model_node_role_remove.go | 144 ++++++ model_node_role_update.go | 204 ++++++++ model_update_bucket_request.go | 4 +- model_update_bucket_request_quotas.go | 4 +- model_update_bucket_request_website_access.go | 4 +- model_update_key_request.go | 4 +- model_update_key_request_allow.go | 4 +- model_update_key_request_deny.go | 4 +- response.go | 4 +- utils.go | 4 +- 60 files changed, 1955 insertions(+), 334 deletions(-) create mode 100644 docs/ApplyLayout200Response.md create mode 100644 docs/NodeRoleChange.md create mode 100644 docs/NodeRoleRemove.md create mode 100644 docs/NodeRoleUpdate.md create mode 100644 model_apply_layout_200_response.go create mode 100644 model_node_role_change.go create mode 100644 model_node_role_remove.go create mode 100644 model_node_role_update.go diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index e7ad1c0..3ae0bd9 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -12,6 +12,7 @@ docs/AddKeyRequest.md docs/AddNode200ResponseInner.md docs/AllowBucketKeyRequest.md docs/AllowBucketKeyRequestPermissions.md +docs/ApplyLayout200Response.md docs/BucketApi.md docs/BucketInfo.md docs/BucketInfoQuotas.md @@ -35,6 +36,9 @@ docs/ListBuckets200ResponseInnerLocalAliasesInner.md docs/ListKeys200ResponseInner.md docs/NodeClusterInfo.md docs/NodeNetworkInfo.md +docs/NodeRoleChange.md +docs/NodeRoleRemove.md +docs/NodeRoleUpdate.md docs/NodesApi.md docs/UpdateBucketRequest.md docs/UpdateBucketRequestQuotas.md @@ -49,6 +53,7 @@ model_add_key_request.go model_add_node_200_response_inner.go model_allow_bucket_key_request.go model_allow_bucket_key_request_permissions.go +model_apply_layout_200_response.go model_bucket_info.go model_bucket_info_quotas.go model_bucket_info_website_config.go @@ -69,6 +74,9 @@ model_list_buckets_200_response_inner_local_aliases_inner.go model_list_keys_200_response_inner.go model_node_cluster_info.go model_node_network_info.go +model_node_role_change.go +model_node_role_remove.go +model_node_role_update.go model_update_bucket_request.go model_update_bucket_request_quotas.go model_update_bucket_request_website_access.go diff --git a/README.md b/README.md index 98d53a5..cc3f11d 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Administrate your Garage cluster programatically, including status, layout, keys ## Overview This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client. -- API version: v0.8.0 +- API version: v0.9.0 - Package version: 0.8.0 - Build package: org.openapitools.codegen.languages.GoClientCodegen @@ -77,7 +77,7 @@ ctx = context.WithValue(context.Background(), garage.ContextOperationServerVaria ## Documentation for API Endpoints -All URIs are relative to *http://localhost:3903/v0* +All URIs are relative to *http://localhost:3903/v1* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- @@ -114,6 +114,7 @@ Class | Method | HTTP request | Description - [AddNode200ResponseInner](docs/AddNode200ResponseInner.md) - [AllowBucketKeyRequest](docs/AllowBucketKeyRequest.md) - [AllowBucketKeyRequestPermissions](docs/AllowBucketKeyRequestPermissions.md) + - [ApplyLayout200Response](docs/ApplyLayout200Response.md) - [BucketInfo](docs/BucketInfo.md) - [BucketInfoQuotas](docs/BucketInfoQuotas.md) - [BucketInfoWebsiteConfig](docs/BucketInfoWebsiteConfig.md) @@ -134,6 +135,9 @@ Class | Method | HTTP request | Description - [ListKeys200ResponseInner](docs/ListKeys200ResponseInner.md) - [NodeClusterInfo](docs/NodeClusterInfo.md) - [NodeNetworkInfo](docs/NodeNetworkInfo.md) + - [NodeRoleChange](docs/NodeRoleChange.md) + - [NodeRoleRemove](docs/NodeRoleRemove.md) + - [NodeRoleUpdate](docs/NodeRoleUpdate.md) - [UpdateBucketRequest](docs/UpdateBucketRequest.md) - [UpdateBucketRequestQuotas](docs/UpdateBucketRequestQuotas.md) - [UpdateBucketRequestWebsiteAccess](docs/UpdateBucketRequestWebsiteAccess.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index c4bb16f..e44e49a 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -4,11 +4,11 @@ info: Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* - title: Garage Administration API v0+garage-v0.8.0 - version: v0.8.0 + title: Garage Administration API v0+garage-v0.9.0 + version: v0.9.0 servers: - description: A local server - url: http://localhost:3903/v0/ + url: http://localhost:3903/v1/ security: - bearerAuth: [] paths: @@ -20,6 +20,8 @@ paths: - Live nodes - Currently configured cluster layout - Staged changes to the cluster layout + + *Capacity is given in bytes* operationId: GetNodes responses: "500": @@ -79,8 +81,8 @@ paths: get: description: "Returns the cluster's current layout, including:\n - Currently\ \ configured cluster layout\n - Staged changes to the cluster layout\n \n\ - *The info returned by this endpoint is a subset of the info returned by `GET\ - \ /status`.*\n" + *Capacity is given in bytes*\n*The info returned by this endpoint is a subset\ + \ of the info returned by `GET /status`.*\n" operationId: GetLayout responses: "500": @@ -101,25 +103,32 @@ paths: post: description: | Send modifications to the cluster layout. These modifications will be included in the staged role changes, visible in subsequent calls of `GET /layout`. Once the set of staged changes is satisfactory, the user may call `POST /layout/apply` to apply the changed changes, or `POST /layout/revert` to clear all of the staged changes in the layout. - Note that setting the capacity to `null` will configure the node as a gateway. + + Setting the capacity to `null` will configure the node as a gateway. + Otherwise, capacity must be now set in bytes (before Garage 0.9 it was arbitrary weights). + For example to declare 100GB, you must set `capacity: 100000000000`. + + Garage uses internally the International System of Units (SI), it assumes that 1kB = 1000 bytes, and displays storage as kB, MB, GB (and not KiB, MiB, GiB that assume 1KiB = 1024 bytes). operationId: AddLayout requestBody: content: application/json: schema: - additionalProperties: - $ref: '#/components/schemas/NodeClusterInfo' example: - e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b: - zone: geneva - capacity: 4 - tags: - - gateway - "4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff": null - type: object + - id: e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b + zone: geneva + capacity: 100000000000 + tags: + - gateway + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + remove: true + items: + $ref: '#/components/schemas/NodeRoleChange' + type: array description: | - To add a new node to the layout or to change the configuration of an existing node, simply set the values you want. - To remove a node, set it to `null` instead of passing a configuration object. + To add a new node to the layout or to change the configuration of an existing node, simply set the values you want (`zone`, `capacity`, and `tags`). + To remove a node, simply pass the `remove: true` field. + This logic is represented in OpenAPI with a "One Of" object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. required: true @@ -130,6 +139,10 @@ paths: "400": description: Invalid syntax or requested change "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ClusterLayout' description: The layout modification has been correctly staged summary: Send modifications to the cluster layout tags: @@ -138,6 +151,8 @@ paths: post: description: | Applies to the cluster the layout changes currently registered as staged layout changes. + + *Note: do not try to parse the `message` field of the response, it is given as an array of string specifically because its format is not stable.* operationId: ApplyLayout requestBody: content: @@ -154,6 +169,10 @@ paths: "400": description: Invalid syntax or requested change "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ApplyLayout_200_response' description: "The staged layout has been applied as the new layout of the\ \ cluster, a rebalance has been triggered." summary: Apply staged layout @@ -220,7 +239,10 @@ paths: schema: $ref: '#/components/schemas/AddKey_request' description: | - "You can set a friendly name for this key, send an empty string instead" + You can set a friendly name for this key. + If you don't want to, you can set the name to `null`. + + *Note: the secret key is returned in the response.* required: true responses: "500": @@ -263,8 +285,10 @@ paths: tags: - Key get: - description: | - Return information about a specific key and return its information + description: "Return information about a specific key like its identifiers,\ + \ its permissions and buckets on which it has permissions. \n\nFor confidentiality\ + \ reasons, the secret key is not returned by default: you must pass the `showSecretKey`\ + \ query parameter to get it.\n" operationId: GetKey parameters: - description: The exact API access key generated by Garage @@ -276,6 +300,16 @@ paths: schema: type: string style: simple + - description: Wether or not the secret key should be returned in the response + example: true + explode: true + in: query + name: showSecretKey + required: false + schema: + default: false + type: boolean + style: form responses: "500": description: The server can not handle your request. Check your connectivity @@ -293,6 +327,8 @@ paths: post: description: | Updates information about the specified API access key. + + *Note: the secret key is not returned in the response, `null` is sent instead.* operationId: UpdateKey parameters: - description: The exact API access key generated by Garage @@ -331,7 +367,9 @@ paths: /key?search={pattern}: get: description: | - Find the first key matching the given pattern based on its identifier aor friendly name and return its information. + Find the first key matching the given pattern based on its identifier or friendly name and return its information. + + For confidentiality reasons, the secret key is not returned by default: you must pass the `showSecretKey` query parameter to get it. operationId: SearchKey parameters: - description: A pattern (beginning or full string) corresponding to a key identifier @@ -344,6 +382,16 @@ paths: schema: type: string style: simple + - description: Wether or not the secret key should be returned in the response + example: true + explode: true + in: query + name: showSecretKey + required: false + schema: + default: false + type: boolean + style: form responses: "500": description: The server can not handle your request. Check your connectivity @@ -519,7 +567,7 @@ paths: - Bucket put: description: | - All fields (`websiteAccess` and `quotas`) are optionnal. + All fields (`websiteAccess` and `quotas`) are optional. If they are present, the corresponding modifications are applied to the bucket, otherwise nothing is changed. In `websiteAccess`: if `enabled` is `true`, `indexDocument` must be specified. @@ -846,13 +894,16 @@ components: schemas: NodeNetworkInfo: properties: + id: + example: 6a8e08af2aab1083ebab9b22165ea8b5b9d333b60a39ecd504e85cc1f432c36f + type: string addr: example: 10.0.0.11:3901 type: string - is_up: + isUp: example: true type: boolean - last_seen_secs_ago: + lastSeenSecsAgo: example: 9 nullable: true type: integer @@ -862,16 +913,10 @@ components: required: - addr - hostname - - is_up - - last_seen_secs_ago + - isUp + - lastSeenSecsAgo type: object NodeClusterInfo: - example: - zone: dc1 - capacity: 4 - tags: - - gateway - - fast properties: zone: example: dc1 @@ -890,6 +935,45 @@ components: type: string type: array required: + - id + - tags + - zone + type: object + NodeRoleChange: + oneOf: + - $ref: '#/components/schemas/NodeRoleRemove' + - $ref: '#/components/schemas/NodeRoleUpdate' + NodeRoleRemove: + properties: + id: + example: 6a8e08af2aab1083ebab9b22165ea8b5b9d333b60a39ecd504e85cc1f432c36f + type: string + remove: + example: true + type: boolean + required: + - remove + type: object + NodeRoleUpdate: + properties: + id: + example: 6a8e08af2aab1083ebab9b22165ea8b5b9d333b60a39ecd504e85cc1f432c36f + type: string + zone: + example: dc1 + type: string + capacity: + example: 150000000000 + nullable: true + type: integer + tags: + example: + - gateway + - fast + items: + type: string + type: array + required: - capacity - tags - zone @@ -897,54 +981,58 @@ components: ClusterLayout: example: roles: - ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f: - zone: madrid - capacity: 3 - tags: - - fast - - amd64 - "4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff": - zone: geneva - capacity: 7 - tags: - - arm64 + - id: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f + zone: madrid + capacity: 300000000000 + tags: + - fast + - amd64 + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + zone: geneva + capacity: 700000000000 + tags: + - arm64 stagedRoleChanges: - e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b: - zone: geneva - capacity: 4 - tags: - - gateway + - id: e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b + zone: geneva + capacity: 800000000000 + tags: + - gateway + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + remove: true version: 12 properties: version: example: 12 type: integer roles: - additionalProperties: - $ref: '#/components/schemas/NodeClusterInfo' example: - ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f: - zone: madrid - capacity: 3 - tags: - - fast - - amd64 - "4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff": - zone: geneva - capacity: 7 - tags: - - arm64 - type: object + - id: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f + zone: madrid + capacity: 300000000000 + tags: + - fast + - amd64 + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + zone: geneva + capacity: 700000000000 + tags: + - arm64 + items: + $ref: '#/components/schemas/NodeClusterInfo' + type: array stagedRoleChanges: - additionalProperties: - $ref: '#/components/schemas/NodeClusterInfo' example: - e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b: - zone: geneva - capacity: 4 - tags: - - gateway - type: object + - id: e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b + zone: geneva + capacity: 800000000000 + tags: + - gateway + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + remove: true + items: + $ref: '#/components/schemas/NodeRoleChange' + type: array required: - roles - stagedRoleChanges @@ -997,6 +1085,7 @@ components: type: string secretAccessKey: example: b892c0665f0ada8a4755dae98baa3b133590e11dae3bcc1f9d769d67f16c3835 + nullable: true type: string permissions: $ref: '#/components/schemas/KeyInfo_permissions' @@ -1100,76 +1189,113 @@ components: example: layout: roles: - ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f: - zone: madrid - capacity: 3 - tags: - - fast - - amd64 - "4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff": - zone: geneva - capacity: 7 - tags: - - arm64 + - id: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f + zone: madrid + capacity: 300000000000 + tags: + - fast + - amd64 + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + zone: geneva + capacity: 700000000000 + tags: + - arm64 stagedRoleChanges: - e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b: - zone: geneva - capacity: 4 - tags: - - gateway + - id: e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b + zone: geneva + capacity: 800000000000 + tags: + - gateway + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + remove: true version: 12 node: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f + dbEngine: LMDB (using Heed crate) + rustVersion: 1.68.0 knownNodes: - ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f: - addr: 10.0.0.11:3901 - is_up: true - last_seen_secs_ago: 9 - hostname: orion - "4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff": - addr: 10.0.0.12:3901 - is_up: true - last_seen_secs_ago: 13 - hostname: pegasus - e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b: - addr: 10.0.0.13:3901 - is_up: true - last_seen_secs_ago: 2 - hostname: neptune - garageVersion: v0.7.3 + - id: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f + addr: 10.0.0.11:3901 + isUp: true + lastSeenSecsAgo: 9 + hostname: orion + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + addr: 10.0.0.12:3901 + isUp: true + lastSeenSecsAgo: 13 + hostname: pegasus + - id: e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b + addr: 10.0.0.13:3901 + isUp: true + lastSeenSecsAgo: 2 + hostname: neptune + garageFeatures: + - k2v + - sled + - lmdb + - sqlite + - consul-discovery + - kubernetes-discovery + - metrics + - telemetry-otlp + - bundled-libs + garageVersion: v0.9.0 properties: node: example: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f type: string garageVersion: - example: v0.7.3 + example: v0.9.0 + type: string + garageFeatures: + example: + - k2v + - sled + - lmdb + - sqlite + - consul-discovery + - kubernetes-discovery + - metrics + - telemetry-otlp + - bundled-libs + items: + type: string + type: array + rustVersion: + example: 1.68.0 + type: string + dbEngine: + example: LMDB (using Heed crate) type: string knownNodes: - additionalProperties: - $ref: '#/components/schemas/NodeNetworkInfo' example: - ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f: - addr: 10.0.0.11:3901 - is_up: true - last_seen_secs_ago: 9 - hostname: orion - "4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff": - addr: 10.0.0.12:3901 - is_up: true - last_seen_secs_ago: 13 - hostname: pegasus - e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b: - addr: 10.0.0.13:3901 - is_up: true - last_seen_secs_ago: 2 - hostname: neptune - type: object + - id: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f + addr: 10.0.0.11:3901 + isUp: true + lastSeenSecsAgo: 9 + hostname: orion + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + addr: 10.0.0.12:3901 + isUp: true + lastSeenSecsAgo: 13 + hostname: pegasus + - id: e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b + addr: 10.0.0.13:3901 + isUp: true + lastSeenSecsAgo: 2 + hostname: neptune + items: + $ref: '#/components/schemas/NodeNetworkInfo' + type: array layout: $ref: '#/components/schemas/ClusterLayout' required: + - dbEngine + - garageFeatures - garageVersion - knownNodes - layout - node + - rustVersion type: object AddNode_200_response_inner: properties: @@ -1181,6 +1307,76 @@ components: type: string example: null type: object + ApplyLayout_200_response: + example: + layout: + roles: + - id: ec79480e0ce52ae26fd00c9da684e4fa56658d9c64cdcecb094e936de0bfe71f + zone: madrid + capacity: 300000000000 + tags: + - fast + - amd64 + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + zone: geneva + capacity: 700000000000 + tags: + - arm64 + stagedRoleChanges: + - id: e2ee7984ee65b260682086ec70026165903c86e601a4a5a501c1900afe28d84b + zone: geneva + capacity: 800000000000 + tags: + - gateway + - id: 4a6ae5a1d0d33bf895f5bb4f0a418b7dc94c47c0dd2eb108d1158f3c8f60b0ff + remove: true + version: 12 + message: + - ==== COMPUTATION OF A NEW PARTITION ASSIGNATION ==== + - "" + - Partitions are replicated 1 times on at least 1 distinct zones. + - "" + - "Optimal partition size: 419.4 MB (3 B in previous layout)" + - "Usable capacity / total cluster capacity: 107.4 GB / 107.4 GB (100.0\ + \ %)" + - "Effective capacity (replication factor 1): 107.4 GB" + - "" + - A total of 0 new copies of partitions need to be transferred. + - "" + - |+ + dc1 Tags Partitions Capacity Usable capacity + 6a8e08af2aab1083 a,v 256 (0 new) 107.4 GB 107.4 GB (100.0%) + TOTAL 256 (256 unique) 107.4 GB 107.4 GB (100.0%) + + properties: + message: + example: + - ==== COMPUTATION OF A NEW PARTITION ASSIGNATION ==== + - "" + - Partitions are replicated 1 times on at least 1 distinct zones. + - "" + - "Optimal partition size: 419.4 MB (3 B in previous\ + \ layout)" + - "Usable capacity / total cluster capacity: 107.4 GB / 107.4 GB (100.0\ + \ %)" + - "Effective capacity (replication factor 1): 107.4 GB" + - "" + - A total of 0 new copies of partitions need to be transferred. + - "" + - |+ + dc1 Tags Partitions Capacity Usable capacity + 6a8e08af2aab1083 a,v 256 (0 new) 107.4 GB 107.4 GB (100.0%) + TOTAL 256 (256 unique) 107.4 GB 107.4 GB (100.0%) + + items: + type: string + type: array + layout: + $ref: '#/components/schemas/ClusterLayout' + required: + - layout + - message + type: object ListKeys_200_response_inner: properties: id: @@ -1194,6 +1390,7 @@ components: properties: name: example: test-key + nullable: true type: string type: object UpdateKey_request_allow: @@ -1223,6 +1420,7 @@ components: properties: name: example: test-key + nullable: true type: string accessKeyId: example: GK31c2f218a2e44f485b94239e diff --git a/api_bucket.go b/api_bucket.go index 91ba87d..333e9f7 100644 --- a/api_bucket.go +++ b/api_bucket.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -1302,7 +1302,7 @@ func (r ApiUpdateBucketRequest) Execute() (*BucketInfo, *http.Response, error) { /* UpdateBucket Update a bucket -All fields (`websiteAccess` and `quotas`) are optionnal. +All fields (`websiteAccess` and `quotas`) are optional. If they are present, the corresponding modifications are applied to the bucket, otherwise nothing is changed. In `websiteAccess`: if `enabled` is `true`, `indexDocument` must be specified. diff --git a/api_key.go b/api_key.go index 902eaf2..0241848 100644 --- a/api_key.go +++ b/api_key.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -29,7 +29,7 @@ type ApiAddKeyRequest struct { addKeyRequest *AddKeyRequest } -// \"You can set a friendly name for this key, send an empty string instead\" +// You can set a friendly name for this key. If you don't want to, you can set the name to `null`. *Note: the secret key is returned in the response.* func (r ApiAddKeyRequest) AddKeyRequest(addKeyRequest AddKeyRequest) ApiAddKeyRequest { r.addKeyRequest = &addKeyRequest return r @@ -232,6 +232,13 @@ type ApiGetKeyRequest struct { ctx context.Context ApiService *KeyApiService accessKey string + showSecretKey *bool +} + +// Wether or not the secret key should be returned in the response +func (r ApiGetKeyRequest) ShowSecretKey(showSecretKey bool) ApiGetKeyRequest { + r.showSecretKey = &showSecretKey + return r } func (r ApiGetKeyRequest) Execute() (*KeyInfo, *http.Response, error) { @@ -241,7 +248,9 @@ func (r ApiGetKeyRequest) Execute() (*KeyInfo, *http.Response, error) { /* GetKey Get key information -Return information about a specific key and return its information +Return information about a specific key like its identifiers, its permissions and buckets on which it has permissions. + +For confidentiality reasons, the secret key is not returned by default: you must pass the `showSecretKey` query parameter to get it. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @@ -278,6 +287,9 @@ func (a *KeyApiService) GetKeyExecute(r ApiGetKeyRequest) (*KeyInfo, *http.Respo localVarQueryParams := url.Values{} localVarFormParams := url.Values{} + if r.showSecretKey != nil { + localVarQueryParams.Add("showSecretKey", parameterToString(*r.showSecretKey, "")) + } // to determine the Content-Type header localVarHTTPContentTypes := []string{} @@ -550,6 +562,13 @@ type ApiSearchKeyRequest struct { ctx context.Context ApiService *KeyApiService pattern string + showSecretKey *bool +} + +// Wether or not the secret key should be returned in the response +func (r ApiSearchKeyRequest) ShowSecretKey(showSecretKey bool) ApiSearchKeyRequest { + r.showSecretKey = &showSecretKey + return r } func (r ApiSearchKeyRequest) Execute() (*KeyInfo, *http.Response, error) { @@ -559,7 +578,9 @@ func (r ApiSearchKeyRequest) Execute() (*KeyInfo, *http.Response, error) { /* SearchKey Select key by pattern -Find the first key matching the given pattern based on its identifier aor friendly name and return its information. +Find the first key matching the given pattern based on its identifier or friendly name and return its information. + +For confidentiality reasons, the secret key is not returned by default: you must pass the `showSecretKey` query parameter to get it. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @@ -596,6 +617,9 @@ func (a *KeyApiService) SearchKeyExecute(r ApiSearchKeyRequest) (*KeyInfo, *http localVarQueryParams := url.Values{} localVarFormParams := url.Values{} + if r.showSecretKey != nil { + localVarQueryParams.Add("showSecretKey", parameterToString(*r.showSecretKey, "")) + } // to determine the Content-Type header localVarHTTPContentTypes := []string{} @@ -672,6 +696,8 @@ UpdateKey Update a key Updates information about the specified API access key. +*Note: the secret key is not returned in the response, `null` is sent instead.* + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param accessKey The exact API access key generated by Garage diff --git a/api_layout.go b/api_layout.go index aa8d772..6e6f572 100644 --- a/api_layout.go +++ b/api_layout.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -25,16 +25,16 @@ type LayoutApiService service type ApiAddLayoutRequest struct { ctx context.Context ApiService *LayoutApiService - requestBody *map[string]NodeClusterInfo + nodeRoleChange *[]NodeRoleChange } -// To add a new node to the layout or to change the configuration of an existing node, simply set the values you want. To remove a node, set it to `null` instead of passing a configuration object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. -func (r ApiAddLayoutRequest) RequestBody(requestBody map[string]NodeClusterInfo) ApiAddLayoutRequest { - r.requestBody = &requestBody +// To add a new node to the layout or to change the configuration of an existing node, simply set the values you want (`zone`, `capacity`, and `tags`). To remove a node, simply pass the `remove: true` field. This logic is represented in OpenAPI with a \"One Of\" object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. +func (r ApiAddLayoutRequest) NodeRoleChange(nodeRoleChange []NodeRoleChange) ApiAddLayoutRequest { + r.nodeRoleChange = &nodeRoleChange return r } -func (r ApiAddLayoutRequest) Execute() (*http.Response, error) { +func (r ApiAddLayoutRequest) Execute() (*ClusterLayout, *http.Response, error) { return r.ApiService.AddLayoutExecute(r) } @@ -42,7 +42,12 @@ func (r ApiAddLayoutRequest) Execute() (*http.Response, error) { AddLayout Send modifications to the cluster layout Send modifications to the cluster layout. These modifications will be included in the staged role changes, visible in subsequent calls of `GET /layout`. Once the set of staged changes is satisfactory, the user may call `POST /layout/apply` to apply the changed changes, or `POST /layout/revert` to clear all of the staged changes in the layout. -Note that setting the capacity to `null` will configure the node as a gateway. + +Setting the capacity to `null` will configure the node as a gateway. +Otherwise, capacity must be now set in bytes (before Garage 0.9 it was arbitrary weights). +For example to declare 100GB, you must set `capacity: 100000000000`. + +Garage uses internally the International System of Units (SI), it assumes that 1kB = 1000 bytes, and displays storage as kB, MB, GB (and not KiB, MiB, GiB that assume 1KiB = 1024 bytes). @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @@ -56,16 +61,18 @@ func (a *LayoutApiService) AddLayout(ctx context.Context) ApiAddLayoutRequest { } // Execute executes the request -func (a *LayoutApiService) AddLayoutExecute(r ApiAddLayoutRequest) (*http.Response, error) { +// @return ClusterLayout +func (a *LayoutApiService) AddLayoutExecute(r ApiAddLayoutRequest) (*ClusterLayout, *http.Response, error) { var ( localVarHTTPMethod = http.MethodPost localVarPostBody interface{} formFiles []formFile + localVarReturnValue *ClusterLayout ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "LayoutApiService.AddLayout") if err != nil { - return nil, &GenericOpenAPIError{error: err.Error()} + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/layout" @@ -73,8 +80,8 @@ func (a *LayoutApiService) AddLayoutExecute(r ApiAddLayoutRequest) (*http.Respon localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if r.requestBody == nil { - return nil, reportError("requestBody is required and must be specified") + if r.nodeRoleChange == nil { + return localVarReturnValue, nil, reportError("nodeRoleChange is required and must be specified") } // to determine the Content-Type header @@ -87,7 +94,7 @@ func (a *LayoutApiService) AddLayoutExecute(r ApiAddLayoutRequest) (*http.Respon } // to determine the Accept header - localVarHTTPHeaderAccepts := []string{} + localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) @@ -95,22 +102,22 @@ func (a *LayoutApiService) AddLayoutExecute(r ApiAddLayoutRequest) (*http.Respon localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } // body params - localVarPostBody = r.requestBody + localVarPostBody = r.nodeRoleChange req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { - return nil, err + return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { - return localVarHTTPResponse, err + return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { - return localVarHTTPResponse, err + return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { @@ -118,10 +125,19 @@ func (a *LayoutApiService) AddLayoutExecute(r ApiAddLayoutRequest) (*http.Respon body: localVarBody, error: localVarHTTPResponse.Status, } - return localVarHTTPResponse, newErr + return localVarReturnValue, localVarHTTPResponse, newErr } - return localVarHTTPResponse, nil + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil } type ApiApplyLayoutRequest struct { @@ -136,7 +152,7 @@ func (r ApiApplyLayoutRequest) LayoutVersion(layoutVersion LayoutVersion) ApiApp return r } -func (r ApiApplyLayoutRequest) Execute() (*http.Response, error) { +func (r ApiApplyLayoutRequest) Execute() (*ApplyLayout200Response, *http.Response, error) { return r.ApiService.ApplyLayoutExecute(r) } @@ -145,6 +161,8 @@ ApplyLayout Apply staged layout Applies to the cluster the layout changes currently registered as staged layout changes. +*Note: do not try to parse the `message` field of the response, it is given as an array of string specifically because its format is not stable.* + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiApplyLayoutRequest @@ -157,16 +175,18 @@ func (a *LayoutApiService) ApplyLayout(ctx context.Context) ApiApplyLayoutReques } // Execute executes the request -func (a *LayoutApiService) ApplyLayoutExecute(r ApiApplyLayoutRequest) (*http.Response, error) { +// @return ApplyLayout200Response +func (a *LayoutApiService) ApplyLayoutExecute(r ApiApplyLayoutRequest) (*ApplyLayout200Response, *http.Response, error) { var ( localVarHTTPMethod = http.MethodPost localVarPostBody interface{} formFiles []formFile + localVarReturnValue *ApplyLayout200Response ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "LayoutApiService.ApplyLayout") if err != nil { - return nil, &GenericOpenAPIError{error: err.Error()} + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/layout/apply" @@ -175,7 +195,7 @@ func (a *LayoutApiService) ApplyLayoutExecute(r ApiApplyLayoutRequest) (*http.Re localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.layoutVersion == nil { - return nil, reportError("layoutVersion is required and must be specified") + return localVarReturnValue, nil, reportError("layoutVersion is required and must be specified") } // to determine the Content-Type header @@ -188,7 +208,7 @@ func (a *LayoutApiService) ApplyLayoutExecute(r ApiApplyLayoutRequest) (*http.Re } // to determine the Accept header - localVarHTTPHeaderAccepts := []string{} + localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) @@ -199,19 +219,19 @@ func (a *LayoutApiService) ApplyLayoutExecute(r ApiApplyLayoutRequest) (*http.Re localVarPostBody = r.layoutVersion req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { - return nil, err + return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { - return localVarHTTPResponse, err + return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { - return localVarHTTPResponse, err + return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { @@ -219,10 +239,19 @@ func (a *LayoutApiService) ApplyLayoutExecute(r ApiApplyLayoutRequest) (*http.Re body: localVarBody, error: localVarHTTPResponse.Status, } - return localVarHTTPResponse, newErr + return localVarReturnValue, localVarHTTPResponse, newErr } - return localVarHTTPResponse, nil + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil } type ApiGetLayoutRequest struct { @@ -241,6 +270,7 @@ Returns the cluster's current layout, including: - Currently configured cluster layout - Staged changes to the cluster layout +*Capacity is given in bytes* *The info returned by this endpoint is a subset of the info returned by `GET /status`.* diff --git a/api_nodes.go b/api_nodes.go index a534a62..6d1bdfa 100644 --- a/api_nodes.go +++ b/api_nodes.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -151,6 +151,8 @@ Returns the cluster's current status, including: - Currently configured cluster layout - Staged changes to the cluster layout +*Capacity is given in bytes* + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiGetNodesRequest diff --git a/client.go b/client.go index def2d91..6b72dd3 100644 --- a/client.go +++ b/client.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -41,7 +41,7 @@ var ( xmlCheck = regexp.MustCompile(`(?i:(?:application|text)/xml)`) ) -// APIClient manages communication with the Garage Administration API v0+garage-v0.8.0 API vv0.8.0 +// APIClient manages communication with the Garage Administration API v0+garage-v0.9.0 API vv0.9.0 // In most cases there should be only one, shared, APIClient. type APIClient struct { cfg *Configuration diff --git a/configuration.go b/configuration.go index e800b86..c7d19ac 100644 --- a/configuration.go +++ b/configuration.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -105,7 +105,7 @@ func NewConfiguration() *Configuration { Debug: false, Servers: ServerConfigurations{ { - URL: "http://localhost:3903/v0", + URL: "http://localhost:3903/v1", Description: "A local server", }, }, diff --git a/docs/AddKeyRequest.md b/docs/AddKeyRequest.md index f56099e..0195b7d 100644 --- a/docs/AddKeyRequest.md +++ b/docs/AddKeyRequest.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | Pointer to **string** | | [optional] +**Name** | Pointer to **NullableString** | | [optional] ## Methods @@ -50,6 +50,16 @@ SetName sets Name field to given value. HasName returns a boolean if a field has been set. +### SetNameNil + +`func (o *AddKeyRequest) SetNameNil(b bool)` + + SetNameNil sets the value for Name to be an explicit nil + +### UnsetName +`func (o *AddKeyRequest) UnsetName()` + +UnsetName ensures that no value is present for Name, not even an explicit nil [[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/docs/ApplyLayout200Response.md b/docs/ApplyLayout200Response.md new file mode 100644 index 0000000..d1b4a1b --- /dev/null +++ b/docs/ApplyLayout200Response.md @@ -0,0 +1,72 @@ +# ApplyLayout200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Message** | **[]string** | | +**Layout** | [**ClusterLayout**](ClusterLayout.md) | | + +## Methods + +### NewApplyLayout200Response + +`func NewApplyLayout200Response(message []string, layout ClusterLayout, ) *ApplyLayout200Response` + +NewApplyLayout200Response instantiates a new ApplyLayout200Response object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewApplyLayout200ResponseWithDefaults + +`func NewApplyLayout200ResponseWithDefaults() *ApplyLayout200Response` + +NewApplyLayout200ResponseWithDefaults instantiates a new ApplyLayout200Response object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetMessage + +`func (o *ApplyLayout200Response) GetMessage() []string` + +GetMessage returns the Message field if non-nil, zero value otherwise. + +### GetMessageOk + +`func (o *ApplyLayout200Response) GetMessageOk() (*[]string, bool)` + +GetMessageOk returns a tuple with the Message field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMessage + +`func (o *ApplyLayout200Response) SetMessage(v []string)` + +SetMessage sets Message field to given value. + + +### GetLayout + +`func (o *ApplyLayout200Response) GetLayout() ClusterLayout` + +GetLayout returns the Layout field if non-nil, zero value otherwise. + +### GetLayoutOk + +`func (o *ApplyLayout200Response) GetLayoutOk() (*ClusterLayout, bool)` + +GetLayoutOk returns a tuple with the Layout field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetLayout + +`func (o *ApplyLayout200Response) SetLayout(v ClusterLayout)` + +SetLayout sets Layout field to given value. + + + +[[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/docs/BucketApi.md b/docs/BucketApi.md index 37aabac..3991fc6 100644 --- a/docs/BucketApi.md +++ b/docs/BucketApi.md @@ -1,6 +1,6 @@ # \BucketApi -All URIs are relative to *http://localhost:3903/v0* +All URIs are relative to *http://localhost:3903/v1* Method | HTTP request | Description ------------- | ------------- | ------------- diff --git a/docs/ClusterLayout.md b/docs/ClusterLayout.md index 777d8fb..aca67db 100644 --- a/docs/ClusterLayout.md +++ b/docs/ClusterLayout.md @@ -5,14 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Version** | **int32** | | -**Roles** | [**map[string]NodeClusterInfo**](NodeClusterInfo.md) | | -**StagedRoleChanges** | [**map[string]NodeClusterInfo**](NodeClusterInfo.md) | | +**Roles** | [**[]NodeClusterInfo**](NodeClusterInfo.md) | | +**StagedRoleChanges** | [**[]NodeRoleChange**](NodeRoleChange.md) | | ## Methods ### NewClusterLayout -`func NewClusterLayout(version int32, roles map[string]NodeClusterInfo, stagedRoleChanges map[string]NodeClusterInfo, ) *ClusterLayout` +`func NewClusterLayout(version int32, roles []NodeClusterInfo, stagedRoleChanges []NodeRoleChange, ) *ClusterLayout` NewClusterLayout instantiates a new ClusterLayout object This constructor will assign default values to properties that have it defined, @@ -49,40 +49,40 @@ SetVersion sets Version field to given value. ### GetRoles -`func (o *ClusterLayout) GetRoles() map[string]NodeClusterInfo` +`func (o *ClusterLayout) GetRoles() []NodeClusterInfo` GetRoles returns the Roles field if non-nil, zero value otherwise. ### GetRolesOk -`func (o *ClusterLayout) GetRolesOk() (*map[string]NodeClusterInfo, bool)` +`func (o *ClusterLayout) GetRolesOk() (*[]NodeClusterInfo, bool)` GetRolesOk returns a tuple with the Roles field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetRoles -`func (o *ClusterLayout) SetRoles(v map[string]NodeClusterInfo)` +`func (o *ClusterLayout) SetRoles(v []NodeClusterInfo)` SetRoles sets Roles field to given value. ### GetStagedRoleChanges -`func (o *ClusterLayout) GetStagedRoleChanges() map[string]NodeClusterInfo` +`func (o *ClusterLayout) GetStagedRoleChanges() []NodeRoleChange` GetStagedRoleChanges returns the StagedRoleChanges field if non-nil, zero value otherwise. ### GetStagedRoleChangesOk -`func (o *ClusterLayout) GetStagedRoleChangesOk() (*map[string]NodeClusterInfo, bool)` +`func (o *ClusterLayout) GetStagedRoleChangesOk() (*[]NodeRoleChange, bool)` GetStagedRoleChangesOk returns a tuple with the StagedRoleChanges field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetStagedRoleChanges -`func (o *ClusterLayout) SetStagedRoleChanges(v map[string]NodeClusterInfo)` +`func (o *ClusterLayout) SetStagedRoleChanges(v []NodeRoleChange)` SetStagedRoleChanges sets StagedRoleChanges field to given value. diff --git a/docs/GetNodes200Response.md b/docs/GetNodes200Response.md index e389cc8..f1cc603 100644 --- a/docs/GetNodes200Response.md +++ b/docs/GetNodes200Response.md @@ -6,14 +6,17 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Node** | **string** | | **GarageVersion** | **string** | | -**KnownNodes** | [**map[string]NodeNetworkInfo**](NodeNetworkInfo.md) | | +**GarageFeatures** | **[]string** | | +**RustVersion** | **string** | | +**DbEngine** | **string** | | +**KnownNodes** | [**[]NodeNetworkInfo**](NodeNetworkInfo.md) | | **Layout** | [**ClusterLayout**](ClusterLayout.md) | | ## Methods ### NewGetNodes200Response -`func NewGetNodes200Response(node string, garageVersion string, knownNodes map[string]NodeNetworkInfo, layout ClusterLayout, ) *GetNodes200Response` +`func NewGetNodes200Response(node string, garageVersion string, garageFeatures []string, rustVersion string, dbEngine string, knownNodes []NodeNetworkInfo, layout ClusterLayout, ) *GetNodes200Response` NewGetNodes200Response instantiates a new GetNodes200Response object This constructor will assign default values to properties that have it defined, @@ -68,22 +71,82 @@ and a boolean to check if the value has been set. SetGarageVersion sets GarageVersion field to given value. +### GetGarageFeatures + +`func (o *GetNodes200Response) GetGarageFeatures() []string` + +GetGarageFeatures returns the GarageFeatures field if non-nil, zero value otherwise. + +### GetGarageFeaturesOk + +`func (o *GetNodes200Response) GetGarageFeaturesOk() (*[]string, bool)` + +GetGarageFeaturesOk returns a tuple with the GarageFeatures field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetGarageFeatures + +`func (o *GetNodes200Response) SetGarageFeatures(v []string)` + +SetGarageFeatures sets GarageFeatures field to given value. + + +### GetRustVersion + +`func (o *GetNodes200Response) GetRustVersion() string` + +GetRustVersion returns the RustVersion field if non-nil, zero value otherwise. + +### GetRustVersionOk + +`func (o *GetNodes200Response) GetRustVersionOk() (*string, bool)` + +GetRustVersionOk returns a tuple with the RustVersion field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetRustVersion + +`func (o *GetNodes200Response) SetRustVersion(v string)` + +SetRustVersion sets RustVersion field to given value. + + +### GetDbEngine + +`func (o *GetNodes200Response) GetDbEngine() string` + +GetDbEngine returns the DbEngine field if non-nil, zero value otherwise. + +### GetDbEngineOk + +`func (o *GetNodes200Response) GetDbEngineOk() (*string, bool)` + +GetDbEngineOk returns a tuple with the DbEngine field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetDbEngine + +`func (o *GetNodes200Response) SetDbEngine(v string)` + +SetDbEngine sets DbEngine field to given value. + + ### GetKnownNodes -`func (o *GetNodes200Response) GetKnownNodes() map[string]NodeNetworkInfo` +`func (o *GetNodes200Response) GetKnownNodes() []NodeNetworkInfo` GetKnownNodes returns the KnownNodes field if non-nil, zero value otherwise. ### GetKnownNodesOk -`func (o *GetNodes200Response) GetKnownNodesOk() (*map[string]NodeNetworkInfo, bool)` +`func (o *GetNodes200Response) GetKnownNodesOk() (*[]NodeNetworkInfo, bool)` GetKnownNodesOk returns a tuple with the KnownNodes field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetKnownNodes -`func (o *GetNodes200Response) SetKnownNodes(v map[string]NodeNetworkInfo)` +`func (o *GetNodes200Response) SetKnownNodes(v []NodeNetworkInfo)` SetKnownNodes sets KnownNodes field to given value. diff --git a/docs/ImportKeyRequest.md b/docs/ImportKeyRequest.md index fa051ee..4713c59 100644 --- a/docs/ImportKeyRequest.md +++ b/docs/ImportKeyRequest.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | | +**Name** | **NullableString** | | **AccessKeyId** | **string** | | **SecretAccessKey** | **string** | | @@ -12,7 +12,7 @@ Name | Type | Description | Notes ### NewImportKeyRequest -`func NewImportKeyRequest(name string, accessKeyId string, secretAccessKey string, ) *ImportKeyRequest` +`func NewImportKeyRequest(name NullableString, accessKeyId string, secretAccessKey string, ) *ImportKeyRequest` NewImportKeyRequest instantiates a new ImportKeyRequest object This constructor will assign default values to properties that have it defined, @@ -47,6 +47,16 @@ and a boolean to check if the value has been set. SetName sets Name field to given value. +### SetNameNil + +`func (o *ImportKeyRequest) SetNameNil(b bool)` + + SetNameNil sets the value for Name to be an explicit nil + +### UnsetName +`func (o *ImportKeyRequest) UnsetName()` + +UnsetName ensures that no value is present for Name, not even an explicit nil ### GetAccessKeyId `func (o *ImportKeyRequest) GetAccessKeyId() string` diff --git a/docs/KeyApi.md b/docs/KeyApi.md index ea294df..4699776 100644 --- a/docs/KeyApi.md +++ b/docs/KeyApi.md @@ -1,6 +1,6 @@ # \KeyApi -All URIs are relative to *http://localhost:3903/v0* +All URIs are relative to *http://localhost:3903/v1* Method | HTTP request | Description ------------- | ------------- | ------------- @@ -35,7 +35,7 @@ import ( ) func main() { - addKeyRequest := *openapiclient.NewAddKeyRequest() // AddKeyRequest | \"You can set a friendly name for this key, send an empty string instead\" + addKeyRequest := *openapiclient.NewAddKeyRequest() // AddKeyRequest | You can set a friendly name for this key. If you don't want to, you can set the name to `null`. *Note: the secret key is returned in the response.* configuration := openapiclient.NewConfiguration() apiClient := openapiclient.NewAPIClient(configuration) @@ -60,7 +60,7 @@ Other parameters are passed through a pointer to a apiAddKeyRequest struct via t Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **addKeyRequest** | [**AddKeyRequest**](AddKeyRequest.md) | \"You can set a friendly name for this key, send an empty string instead\" | + **addKeyRequest** | [**AddKeyRequest**](AddKeyRequest.md) | You can set a friendly name for this key. If you don't want to, you can set the name to `null`. *Note: the secret key is returned in the response.* | ### Return type @@ -150,7 +150,7 @@ Name | Type | Description | Notes ## GetKey -> KeyInfo GetKey(ctx, accessKey).Execute() +> KeyInfo GetKey(ctx, accessKey).ShowSecretKey(showSecretKey).Execute() Get key information @@ -170,10 +170,11 @@ import ( func main() { accessKey := "GK31c2f218a2e44f485b94239e" // string | The exact API access key generated by Garage + showSecretKey := true // bool | Wether or not the secret key should be returned in the response (optional) (default to false) configuration := openapiclient.NewConfiguration() apiClient := openapiclient.NewAPIClient(configuration) - resp, r, err := apiClient.KeyApi.GetKey(context.Background(), accessKey).Execute() + resp, r, err := apiClient.KeyApi.GetKey(context.Background(), accessKey).ShowSecretKey(showSecretKey).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `KeyApi.GetKey``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) @@ -199,6 +200,7 @@ Other parameters are passed through a pointer to a apiGetKeyRequest struct via t Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- + **showSecretKey** | **bool** | Wether or not the secret key should be returned in the response | [default to false] ### Return type @@ -347,7 +349,7 @@ Other parameters are passed through a pointer to a apiListKeysRequest struct via ## SearchKey -> KeyInfo SearchKey(ctx, pattern).Execute() +> KeyInfo SearchKey(ctx, pattern).ShowSecretKey(showSecretKey).Execute() Select key by pattern @@ -367,10 +369,11 @@ import ( func main() { pattern := "test-k" // string | A pattern (beginning or full string) corresponding to a key identifier or friendly name + showSecretKey := true // bool | Wether or not the secret key should be returned in the response (optional) (default to false) configuration := openapiclient.NewConfiguration() apiClient := openapiclient.NewAPIClient(configuration) - resp, r, err := apiClient.KeyApi.SearchKey(context.Background(), pattern).Execute() + resp, r, err := apiClient.KeyApi.SearchKey(context.Background(), pattern).ShowSecretKey(showSecretKey).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `KeyApi.SearchKey``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) @@ -396,6 +399,7 @@ Other parameters are passed through a pointer to a apiSearchKeyRequest struct vi Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- + **showSecretKey** | **bool** | Wether or not the secret key should be returned in the response | [default to false] ### Return type diff --git a/docs/KeyInfo.md b/docs/KeyInfo.md index b76a236..3762b14 100644 --- a/docs/KeyInfo.md +++ b/docs/KeyInfo.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | Pointer to **string** | | [optional] **AccessKeyId** | Pointer to **string** | | [optional] -**SecretAccessKey** | Pointer to **string** | | [optional] +**SecretAccessKey** | Pointer to **NullableString** | | [optional] **Permissions** | Pointer to [**KeyInfoPermissions**](KeyInfoPermissions.md) | | [optional] **Buckets** | Pointer to [**[]KeyInfoBucketsInner**](KeyInfoBucketsInner.md) | | [optional] @@ -104,6 +104,16 @@ SetSecretAccessKey sets SecretAccessKey field to given value. HasSecretAccessKey returns a boolean if a field has been set. +### SetSecretAccessKeyNil + +`func (o *KeyInfo) SetSecretAccessKeyNil(b bool)` + + SetSecretAccessKeyNil sets the value for SecretAccessKey to be an explicit nil + +### UnsetSecretAccessKey +`func (o *KeyInfo) UnsetSecretAccessKey()` + +UnsetSecretAccessKey ensures that no value is present for SecretAccessKey, not even an explicit nil ### GetPermissions `func (o *KeyInfo) GetPermissions() KeyInfoPermissions` diff --git a/docs/LayoutApi.md b/docs/LayoutApi.md index 1ff16b5..3e7f13d 100644 --- a/docs/LayoutApi.md +++ b/docs/LayoutApi.md @@ -1,6 +1,6 @@ # \LayoutApi -All URIs are relative to *http://localhost:3903/v0* +All URIs are relative to *http://localhost:3903/v1* Method | HTTP request | Description ------------- | ------------- | ------------- @@ -13,7 +13,7 @@ Method | HTTP request | Description ## AddLayout -> AddLayout(ctx).RequestBody(requestBody).Execute() +> ClusterLayout AddLayout(ctx).NodeRoleChange(nodeRoleChange).Execute() Send modifications to the cluster layout @@ -32,15 +32,17 @@ import ( ) func main() { - requestBody := map[string]NodeClusterInfo{"key": *openapiclient.NewNodeClusterInfo("dc1", NullableInt32(4), []string{"Tags_example"})} // map[string]NodeClusterInfo | To add a new node to the layout or to change the configuration of an existing node, simply set the values you want. To remove a node, set it to `null` instead of passing a configuration object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. + nodeRoleChange := []openapiclient.NodeRoleChange{openapiclient.NodeRoleChange{NodeRoleRemove: openapiclient.NewNodeRoleRemove(true)}} // []NodeRoleChange | To add a new node to the layout or to change the configuration of an existing node, simply set the values you want (`zone`, `capacity`, and `tags`). To remove a node, simply pass the `remove: true` field. This logic is represented in OpenAPI with a \"One Of\" object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. configuration := openapiclient.NewConfiguration() apiClient := openapiclient.NewAPIClient(configuration) - resp, r, err := apiClient.LayoutApi.AddLayout(context.Background()).RequestBody(requestBody).Execute() + resp, r, err := apiClient.LayoutApi.AddLayout(context.Background()).NodeRoleChange(nodeRoleChange).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `LayoutApi.AddLayout``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } + // response from `AddLayout`: ClusterLayout + fmt.Fprintf(os.Stdout, "Response from `LayoutApi.AddLayout`: %v\n", resp) } ``` @@ -55,11 +57,11 @@ Other parameters are passed through a pointer to a apiAddLayoutRequest struct vi Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **requestBody** | [**map[string]NodeClusterInfo**](NodeClusterInfo.md) | To add a new node to the layout or to change the configuration of an existing node, simply set the values you want. To remove a node, set it to `null` instead of passing a configuration object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. | + **nodeRoleChange** | [**[]NodeRoleChange**](NodeRoleChange.md) | To add a new node to the layout or to change the configuration of an existing node, simply set the values you want (`zone`, `capacity`, and `tags`). To remove a node, simply pass the `remove: true` field. This logic is represented in OpenAPI with a \"One Of\" object. Contrary to the CLI that may update only a subset of the fields capacity, zone and tags, when calling this API all of these values must be specified. | ### Return type - (empty response body) +[**ClusterLayout**](ClusterLayout.md) ### Authorization @@ -68,7 +70,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: Not defined +- **Accept**: application/json [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) @@ -77,7 +79,7 @@ Name | Type | Description | Notes ## ApplyLayout -> ApplyLayout(ctx).LayoutVersion(layoutVersion).Execute() +> ApplyLayout200Response ApplyLayout(ctx).LayoutVersion(layoutVersion).Execute() Apply staged layout @@ -105,6 +107,8 @@ func main() { fmt.Fprintf(os.Stderr, "Error when calling `LayoutApi.ApplyLayout``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } + // response from `ApplyLayout`: ApplyLayout200Response + fmt.Fprintf(os.Stdout, "Response from `LayoutApi.ApplyLayout`: %v\n", resp) } ``` @@ -123,7 +127,7 @@ Name | Type | Description | Notes ### Return type - (empty response body) +[**ApplyLayout200Response**](ApplyLayout200Response.md) ### Authorization @@ -132,7 +136,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: Not defined +- **Accept**: application/json [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) diff --git a/docs/NodeClusterInfo.md b/docs/NodeClusterInfo.md index 4582c28..1a3b537 100644 --- a/docs/NodeClusterInfo.md +++ b/docs/NodeClusterInfo.md @@ -5,14 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Zone** | **string** | | -**Capacity** | **NullableInt32** | | +**Capacity** | Pointer to **NullableInt32** | | [optional] **Tags** | **[]string** | User defined tags, put whatever makes sense for you, these tags are not interpreted by Garage | ## Methods ### NewNodeClusterInfo -`func NewNodeClusterInfo(zone string, capacity NullableInt32, tags []string, ) *NodeClusterInfo` +`func NewNodeClusterInfo(zone string, tags []string, ) *NodeClusterInfo` NewNodeClusterInfo instantiates a new NodeClusterInfo object This constructor will assign default values to properties that have it defined, @@ -66,6 +66,11 @@ and a boolean to check if the value has been set. SetCapacity sets Capacity field to given value. +### HasCapacity + +`func (o *NodeClusterInfo) HasCapacity() bool` + +HasCapacity returns a boolean if a field has been set. ### SetCapacityNil diff --git a/docs/NodeNetworkInfo.md b/docs/NodeNetworkInfo.md index 71a52df..554e08d 100644 --- a/docs/NodeNetworkInfo.md +++ b/docs/NodeNetworkInfo.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**Id** | Pointer to **string** | | [optional] **Addr** | **string** | | **IsUp** | **bool** | | **LastSeenSecsAgo** | **NullableInt32** | | @@ -28,6 +29,31 @@ NewNodeNetworkInfoWithDefaults instantiates a new NodeNetworkInfo object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set +### GetId + +`func (o *NodeNetworkInfo) GetId() string` + +GetId returns the Id field if non-nil, zero value otherwise. + +### GetIdOk + +`func (o *NodeNetworkInfo) GetIdOk() (*string, bool)` + +GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetId + +`func (o *NodeNetworkInfo) SetId(v string)` + +SetId sets Id field to given value. + +### HasId + +`func (o *NodeNetworkInfo) HasId() bool` + +HasId returns a boolean if a field has been set. + ### GetAddr `func (o *NodeNetworkInfo) GetAddr() string` diff --git a/docs/NodeRoleChange.md b/docs/NodeRoleChange.md new file mode 100644 index 0000000..5c6322f --- /dev/null +++ b/docs/NodeRoleChange.md @@ -0,0 +1,150 @@ +# NodeRoleChange + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | Pointer to **string** | | [optional] +**Remove** | **bool** | | +**Zone** | **string** | | +**Capacity** | **NullableInt32** | | +**Tags** | **[]string** | | + +## Methods + +### NewNodeRoleChange + +`func NewNodeRoleChange(remove bool, zone string, capacity NullableInt32, tags []string, ) *NodeRoleChange` + +NewNodeRoleChange instantiates a new NodeRoleChange object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewNodeRoleChangeWithDefaults + +`func NewNodeRoleChangeWithDefaults() *NodeRoleChange` + +NewNodeRoleChangeWithDefaults instantiates a new NodeRoleChange object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetId + +`func (o *NodeRoleChange) GetId() string` + +GetId returns the Id field if non-nil, zero value otherwise. + +### GetIdOk + +`func (o *NodeRoleChange) GetIdOk() (*string, bool)` + +GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetId + +`func (o *NodeRoleChange) SetId(v string)` + +SetId sets Id field to given value. + +### HasId + +`func (o *NodeRoleChange) HasId() bool` + +HasId returns a boolean if a field has been set. + +### GetRemove + +`func (o *NodeRoleChange) GetRemove() bool` + +GetRemove returns the Remove field if non-nil, zero value otherwise. + +### GetRemoveOk + +`func (o *NodeRoleChange) GetRemoveOk() (*bool, bool)` + +GetRemoveOk returns a tuple with the Remove field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetRemove + +`func (o *NodeRoleChange) SetRemove(v bool)` + +SetRemove sets Remove field to given value. + + +### GetZone + +`func (o *NodeRoleChange) GetZone() string` + +GetZone returns the Zone field if non-nil, zero value otherwise. + +### GetZoneOk + +`func (o *NodeRoleChange) GetZoneOk() (*string, bool)` + +GetZoneOk returns a tuple with the Zone field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetZone + +`func (o *NodeRoleChange) SetZone(v string)` + +SetZone sets Zone field to given value. + + +### GetCapacity + +`func (o *NodeRoleChange) GetCapacity() int32` + +GetCapacity returns the Capacity field if non-nil, zero value otherwise. + +### GetCapacityOk + +`func (o *NodeRoleChange) GetCapacityOk() (*int32, bool)` + +GetCapacityOk returns a tuple with the Capacity field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCapacity + +`func (o *NodeRoleChange) SetCapacity(v int32)` + +SetCapacity sets Capacity field to given value. + + +### SetCapacityNil + +`func (o *NodeRoleChange) SetCapacityNil(b bool)` + + SetCapacityNil sets the value for Capacity to be an explicit nil + +### UnsetCapacity +`func (o *NodeRoleChange) UnsetCapacity()` + +UnsetCapacity ensures that no value is present for Capacity, not even an explicit nil +### GetTags + +`func (o *NodeRoleChange) GetTags() []string` + +GetTags returns the Tags field if non-nil, zero value otherwise. + +### GetTagsOk + +`func (o *NodeRoleChange) GetTagsOk() (*[]string, bool)` + +GetTagsOk returns a tuple with the Tags field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTags + +`func (o *NodeRoleChange) SetTags(v []string)` + +SetTags sets Tags field to given value. + + + +[[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/docs/NodeRoleRemove.md b/docs/NodeRoleRemove.md new file mode 100644 index 0000000..423b69c --- /dev/null +++ b/docs/NodeRoleRemove.md @@ -0,0 +1,77 @@ +# NodeRoleRemove + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | Pointer to **string** | | [optional] +**Remove** | **bool** | | + +## Methods + +### NewNodeRoleRemove + +`func NewNodeRoleRemove(remove bool, ) *NodeRoleRemove` + +NewNodeRoleRemove instantiates a new NodeRoleRemove object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewNodeRoleRemoveWithDefaults + +`func NewNodeRoleRemoveWithDefaults() *NodeRoleRemove` + +NewNodeRoleRemoveWithDefaults instantiates a new NodeRoleRemove object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetId + +`func (o *NodeRoleRemove) GetId() string` + +GetId returns the Id field if non-nil, zero value otherwise. + +### GetIdOk + +`func (o *NodeRoleRemove) GetIdOk() (*string, bool)` + +GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetId + +`func (o *NodeRoleRemove) SetId(v string)` + +SetId sets Id field to given value. + +### HasId + +`func (o *NodeRoleRemove) HasId() bool` + +HasId returns a boolean if a field has been set. + +### GetRemove + +`func (o *NodeRoleRemove) GetRemove() bool` + +GetRemove returns the Remove field if non-nil, zero value otherwise. + +### GetRemoveOk + +`func (o *NodeRoleRemove) GetRemoveOk() (*bool, bool)` + +GetRemoveOk returns a tuple with the Remove field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetRemove + +`func (o *NodeRoleRemove) SetRemove(v bool)` + +SetRemove sets Remove field to given value. + + + +[[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/docs/NodeRoleUpdate.md b/docs/NodeRoleUpdate.md new file mode 100644 index 0000000..9e73fa1 --- /dev/null +++ b/docs/NodeRoleUpdate.md @@ -0,0 +1,129 @@ +# NodeRoleUpdate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | Pointer to **string** | | [optional] +**Zone** | **string** | | +**Capacity** | **NullableInt32** | | +**Tags** | **[]string** | | + +## Methods + +### NewNodeRoleUpdate + +`func NewNodeRoleUpdate(zone string, capacity NullableInt32, tags []string, ) *NodeRoleUpdate` + +NewNodeRoleUpdate instantiates a new NodeRoleUpdate object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewNodeRoleUpdateWithDefaults + +`func NewNodeRoleUpdateWithDefaults() *NodeRoleUpdate` + +NewNodeRoleUpdateWithDefaults instantiates a new NodeRoleUpdate object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetId + +`func (o *NodeRoleUpdate) GetId() string` + +GetId returns the Id field if non-nil, zero value otherwise. + +### GetIdOk + +`func (o *NodeRoleUpdate) GetIdOk() (*string, bool)` + +GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetId + +`func (o *NodeRoleUpdate) SetId(v string)` + +SetId sets Id field to given value. + +### HasId + +`func (o *NodeRoleUpdate) HasId() bool` + +HasId returns a boolean if a field has been set. + +### GetZone + +`func (o *NodeRoleUpdate) GetZone() string` + +GetZone returns the Zone field if non-nil, zero value otherwise. + +### GetZoneOk + +`func (o *NodeRoleUpdate) GetZoneOk() (*string, bool)` + +GetZoneOk returns a tuple with the Zone field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetZone + +`func (o *NodeRoleUpdate) SetZone(v string)` + +SetZone sets Zone field to given value. + + +### GetCapacity + +`func (o *NodeRoleUpdate) GetCapacity() int32` + +GetCapacity returns the Capacity field if non-nil, zero value otherwise. + +### GetCapacityOk + +`func (o *NodeRoleUpdate) GetCapacityOk() (*int32, bool)` + +GetCapacityOk returns a tuple with the Capacity field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCapacity + +`func (o *NodeRoleUpdate) SetCapacity(v int32)` + +SetCapacity sets Capacity field to given value. + + +### SetCapacityNil + +`func (o *NodeRoleUpdate) SetCapacityNil(b bool)` + + SetCapacityNil sets the value for Capacity to be an explicit nil + +### UnsetCapacity +`func (o *NodeRoleUpdate) UnsetCapacity()` + +UnsetCapacity ensures that no value is present for Capacity, not even an explicit nil +### GetTags + +`func (o *NodeRoleUpdate) GetTags() []string` + +GetTags returns the Tags field if non-nil, zero value otherwise. + +### GetTagsOk + +`func (o *NodeRoleUpdate) GetTagsOk() (*[]string, bool)` + +GetTagsOk returns a tuple with the Tags field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTags + +`func (o *NodeRoleUpdate) SetTags(v []string)` + +SetTags sets Tags field to given value. + + + +[[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/docs/NodesApi.md b/docs/NodesApi.md index 792b107..dc108b7 100644 --- a/docs/NodesApi.md +++ b/docs/NodesApi.md @@ -1,6 +1,6 @@ # \NodesApi -All URIs are relative to *http://localhost:3903/v0* +All URIs are relative to *http://localhost:3903/v1* Method | HTTP request | Description ------------- | ------------- | ------------- diff --git a/model_add_key_request.go b/model_add_key_request.go index 5773c11..ec230f5 100644 --- a/model_add_key_request.go +++ b/model_add_key_request.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -16,7 +16,7 @@ import ( // AddKeyRequest struct for AddKeyRequest type AddKeyRequest struct { - Name *string `json:"name,omitempty"` + Name NullableString `json:"name,omitempty"` } // NewAddKeyRequest instantiates a new AddKeyRequest object @@ -36,42 +36,52 @@ func NewAddKeyRequestWithDefaults() *AddKeyRequest { return &this } -// GetName returns the Name field value if set, zero value otherwise. +// GetName returns the Name field value if set, zero value otherwise (both if not set or set to explicit null). func (o *AddKeyRequest) GetName() string { - if o == nil || o.Name == nil { + if o == nil || o.Name.Get() == nil { var ret string return ret } - return *o.Name + return *o.Name.Get() } // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned func (o *AddKeyRequest) GetNameOk() (*string, bool) { - if o == nil || o.Name == nil { + if o == nil { return nil, false } - return o.Name, true + return o.Name.Get(), o.Name.IsSet() } // HasName returns a boolean if a field has been set. func (o *AddKeyRequest) HasName() bool { - if o != nil && o.Name != nil { + if o != nil && o.Name.IsSet() { return true } return false } -// SetName gets a reference to the given string and assigns it to the Name field. +// SetName gets a reference to the given NullableString and assigns it to the Name field. func (o *AddKeyRequest) SetName(v string) { - o.Name = &v + o.Name.Set(&v) +} +// SetNameNil sets the value for Name to be an explicit nil +func (o *AddKeyRequest) SetNameNil() { + o.Name.Set(nil) +} + +// UnsetName ensures that no value is present for Name, not even an explicit nil +func (o *AddKeyRequest) UnsetName() { + o.Name.Unset() } func (o AddKeyRequest) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} - if o.Name != nil { - toSerialize["name"] = o.Name + if o.Name.IsSet() { + toSerialize["name"] = o.Name.Get() } return json.Marshal(toSerialize) } diff --git a/model_add_node_200_response_inner.go b/model_add_node_200_response_inner.go index 76fbbd8..ff053db 100644 --- a/model_add_node_200_response_inner.go +++ b/model_add_node_200_response_inner.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_allow_bucket_key_request.go b/model_allow_bucket_key_request.go index 25d9941..754cf82 100644 --- a/model_allow_bucket_key_request.go +++ b/model_allow_bucket_key_request.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_allow_bucket_key_request_permissions.go b/model_allow_bucket_key_request_permissions.go index 2b082ed..8526783 100644 --- a/model_allow_bucket_key_request_permissions.go +++ b/model_allow_bucket_key_request_permissions.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_apply_layout_200_response.go b/model_apply_layout_200_response.go new file mode 100644 index 0000000..1581ba4 --- /dev/null +++ b/model_apply_layout_200_response.go @@ -0,0 +1,137 @@ +/* +Garage Administration API v0+garage-v0.9.0 + +Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* + +API version: v0.9.0 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package garage + +import ( + "encoding/json" +) + +// ApplyLayout200Response struct for ApplyLayout200Response +type ApplyLayout200Response struct { + Message []string `json:"message"` + Layout ClusterLayout `json:"layout"` +} + +// NewApplyLayout200Response instantiates a new ApplyLayout200Response object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewApplyLayout200Response(message []string, layout ClusterLayout) *ApplyLayout200Response { + this := ApplyLayout200Response{} + this.Message = message + this.Layout = layout + return &this +} + +// NewApplyLayout200ResponseWithDefaults instantiates a new ApplyLayout200Response object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewApplyLayout200ResponseWithDefaults() *ApplyLayout200Response { + this := ApplyLayout200Response{} + return &this +} + +// GetMessage returns the Message field value +func (o *ApplyLayout200Response) GetMessage() []string { + if o == nil { + var ret []string + return ret + } + + return o.Message +} + +// GetMessageOk returns a tuple with the Message field value +// and a boolean to check if the value has been set. +func (o *ApplyLayout200Response) GetMessageOk() ([]string, bool) { + if o == nil { + return nil, false + } + return o.Message, true +} + +// SetMessage sets field value +func (o *ApplyLayout200Response) SetMessage(v []string) { + o.Message = v +} + +// GetLayout returns the Layout field value +func (o *ApplyLayout200Response) GetLayout() ClusterLayout { + if o == nil { + var ret ClusterLayout + return ret + } + + return o.Layout +} + +// GetLayoutOk returns a tuple with the Layout field value +// and a boolean to check if the value has been set. +func (o *ApplyLayout200Response) GetLayoutOk() (*ClusterLayout, bool) { + if o == nil { + return nil, false + } + return &o.Layout, true +} + +// SetLayout sets field value +func (o *ApplyLayout200Response) SetLayout(v ClusterLayout) { + o.Layout = v +} + +func (o ApplyLayout200Response) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if true { + toSerialize["message"] = o.Message + } + if true { + toSerialize["layout"] = o.Layout + } + return json.Marshal(toSerialize) +} + +type NullableApplyLayout200Response struct { + value *ApplyLayout200Response + isSet bool +} + +func (v NullableApplyLayout200Response) Get() *ApplyLayout200Response { + return v.value +} + +func (v *NullableApplyLayout200Response) Set(val *ApplyLayout200Response) { + v.value = val + v.isSet = true +} + +func (v NullableApplyLayout200Response) IsSet() bool { + return v.isSet +} + +func (v *NullableApplyLayout200Response) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableApplyLayout200Response(val *ApplyLayout200Response) *NullableApplyLayout200Response { + return &NullableApplyLayout200Response{value: val, isSet: true} +} + +func (v NullableApplyLayout200Response) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableApplyLayout200Response) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_bucket_info.go b/model_bucket_info.go index 38e7649..94dbd82 100644 --- a/model_bucket_info.go +++ b/model_bucket_info.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_bucket_info_quotas.go b/model_bucket_info_quotas.go index 9d32a2e..9e79c3b 100644 --- a/model_bucket_info_quotas.go +++ b/model_bucket_info_quotas.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_bucket_info_website_config.go b/model_bucket_info_website_config.go index 21b1ace..742bf5d 100644 --- a/model_bucket_info_website_config.go +++ b/model_bucket_info_website_config.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_bucket_key_info.go b/model_bucket_key_info.go index 74d5d38..bbb8ab4 100644 --- a/model_bucket_key_info.go +++ b/model_bucket_key_info.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_cluster_layout.go b/model_cluster_layout.go index 4461b15..c9d583a 100644 --- a/model_cluster_layout.go +++ b/model_cluster_layout.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -17,15 +17,15 @@ import ( // ClusterLayout struct for ClusterLayout type ClusterLayout struct { Version int32 `json:"version"` - Roles map[string]NodeClusterInfo `json:"roles"` - StagedRoleChanges map[string]NodeClusterInfo `json:"stagedRoleChanges"` + Roles []NodeClusterInfo `json:"roles"` + StagedRoleChanges []NodeRoleChange `json:"stagedRoleChanges"` } // NewClusterLayout instantiates a new ClusterLayout object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewClusterLayout(version int32, roles map[string]NodeClusterInfo, stagedRoleChanges map[string]NodeClusterInfo) *ClusterLayout { +func NewClusterLayout(version int32, roles []NodeClusterInfo, stagedRoleChanges []NodeRoleChange) *ClusterLayout { this := ClusterLayout{} this.Version = version this.Roles = roles @@ -66,9 +66,9 @@ func (o *ClusterLayout) SetVersion(v int32) { } // GetRoles returns the Roles field value -func (o *ClusterLayout) GetRoles() map[string]NodeClusterInfo { +func (o *ClusterLayout) GetRoles() []NodeClusterInfo { if o == nil { - var ret map[string]NodeClusterInfo + var ret []NodeClusterInfo return ret } @@ -77,22 +77,22 @@ func (o *ClusterLayout) GetRoles() map[string]NodeClusterInfo { // GetRolesOk returns a tuple with the Roles field value // and a boolean to check if the value has been set. -func (o *ClusterLayout) GetRolesOk() (*map[string]NodeClusterInfo, bool) { +func (o *ClusterLayout) GetRolesOk() ([]NodeClusterInfo, bool) { if o == nil { return nil, false } - return &o.Roles, true + return o.Roles, true } // SetRoles sets field value -func (o *ClusterLayout) SetRoles(v map[string]NodeClusterInfo) { +func (o *ClusterLayout) SetRoles(v []NodeClusterInfo) { o.Roles = v } // GetStagedRoleChanges returns the StagedRoleChanges field value -func (o *ClusterLayout) GetStagedRoleChanges() map[string]NodeClusterInfo { +func (o *ClusterLayout) GetStagedRoleChanges() []NodeRoleChange { if o == nil { - var ret map[string]NodeClusterInfo + var ret []NodeRoleChange return ret } @@ -101,15 +101,15 @@ func (o *ClusterLayout) GetStagedRoleChanges() map[string]NodeClusterInfo { // GetStagedRoleChangesOk returns a tuple with the StagedRoleChanges field value // and a boolean to check if the value has been set. -func (o *ClusterLayout) GetStagedRoleChangesOk() (*map[string]NodeClusterInfo, bool) { +func (o *ClusterLayout) GetStagedRoleChangesOk() ([]NodeRoleChange, bool) { if o == nil { return nil, false } - return &o.StagedRoleChanges, true + return o.StagedRoleChanges, true } // SetStagedRoleChanges sets field value -func (o *ClusterLayout) SetStagedRoleChanges(v map[string]NodeClusterInfo) { +func (o *ClusterLayout) SetStagedRoleChanges(v []NodeRoleChange) { o.StagedRoleChanges = v } diff --git a/model_create_bucket_request.go b/model_create_bucket_request.go index 87b7c95..4f9edd7 100644 --- a/model_create_bucket_request.go +++ b/model_create_bucket_request.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_create_bucket_request_local_alias.go b/model_create_bucket_request_local_alias.go index bf2661e..e1a492f 100644 --- a/model_create_bucket_request_local_alias.go +++ b/model_create_bucket_request_local_alias.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_create_bucket_request_local_alias_allow.go b/model_create_bucket_request_local_alias_allow.go index 8a3344c..2b1c42d 100644 --- a/model_create_bucket_request_local_alias_allow.go +++ b/model_create_bucket_request_local_alias_allow.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_get_nodes_200_response.go b/model_get_nodes_200_response.go index 4c613c8..a8b799e 100644 --- a/model_get_nodes_200_response.go +++ b/model_get_nodes_200_response.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -18,7 +18,10 @@ import ( type GetNodes200Response struct { Node string `json:"node"` GarageVersion string `json:"garageVersion"` - KnownNodes map[string]NodeNetworkInfo `json:"knownNodes"` + GarageFeatures []string `json:"garageFeatures"` + RustVersion string `json:"rustVersion"` + DbEngine string `json:"dbEngine"` + KnownNodes []NodeNetworkInfo `json:"knownNodes"` Layout ClusterLayout `json:"layout"` } @@ -26,10 +29,13 @@ type GetNodes200Response struct { // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewGetNodes200Response(node string, garageVersion string, knownNodes map[string]NodeNetworkInfo, layout ClusterLayout) *GetNodes200Response { +func NewGetNodes200Response(node string, garageVersion string, garageFeatures []string, rustVersion string, dbEngine string, knownNodes []NodeNetworkInfo, layout ClusterLayout) *GetNodes200Response { this := GetNodes200Response{} this.Node = node this.GarageVersion = garageVersion + this.GarageFeatures = garageFeatures + this.RustVersion = rustVersion + this.DbEngine = dbEngine this.KnownNodes = knownNodes this.Layout = layout return &this @@ -91,10 +97,82 @@ func (o *GetNodes200Response) SetGarageVersion(v string) { o.GarageVersion = v } -// GetKnownNodes returns the KnownNodes field value -func (o *GetNodes200Response) GetKnownNodes() map[string]NodeNetworkInfo { +// GetGarageFeatures returns the GarageFeatures field value +func (o *GetNodes200Response) GetGarageFeatures() []string { if o == nil { - var ret map[string]NodeNetworkInfo + var ret []string + return ret + } + + return o.GarageFeatures +} + +// GetGarageFeaturesOk returns a tuple with the GarageFeatures field value +// and a boolean to check if the value has been set. +func (o *GetNodes200Response) GetGarageFeaturesOk() ([]string, bool) { + if o == nil { + return nil, false + } + return o.GarageFeatures, true +} + +// SetGarageFeatures sets field value +func (o *GetNodes200Response) SetGarageFeatures(v []string) { + o.GarageFeatures = v +} + +// GetRustVersion returns the RustVersion field value +func (o *GetNodes200Response) GetRustVersion() string { + if o == nil { + var ret string + return ret + } + + return o.RustVersion +} + +// GetRustVersionOk returns a tuple with the RustVersion field value +// and a boolean to check if the value has been set. +func (o *GetNodes200Response) GetRustVersionOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.RustVersion, true +} + +// SetRustVersion sets field value +func (o *GetNodes200Response) SetRustVersion(v string) { + o.RustVersion = v +} + +// GetDbEngine returns the DbEngine field value +func (o *GetNodes200Response) GetDbEngine() string { + if o == nil { + var ret string + return ret + } + + return o.DbEngine +} + +// GetDbEngineOk returns a tuple with the DbEngine field value +// and a boolean to check if the value has been set. +func (o *GetNodes200Response) GetDbEngineOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.DbEngine, true +} + +// SetDbEngine sets field value +func (o *GetNodes200Response) SetDbEngine(v string) { + o.DbEngine = v +} + +// GetKnownNodes returns the KnownNodes field value +func (o *GetNodes200Response) GetKnownNodes() []NodeNetworkInfo { + if o == nil { + var ret []NodeNetworkInfo return ret } @@ -103,15 +181,15 @@ func (o *GetNodes200Response) GetKnownNodes() map[string]NodeNetworkInfo { // GetKnownNodesOk returns a tuple with the KnownNodes field value // and a boolean to check if the value has been set. -func (o *GetNodes200Response) GetKnownNodesOk() (*map[string]NodeNetworkInfo, bool) { +func (o *GetNodes200Response) GetKnownNodesOk() ([]NodeNetworkInfo, bool) { if o == nil { return nil, false } - return &o.KnownNodes, true + return o.KnownNodes, true } // SetKnownNodes sets field value -func (o *GetNodes200Response) SetKnownNodes(v map[string]NodeNetworkInfo) { +func (o *GetNodes200Response) SetKnownNodes(v []NodeNetworkInfo) { o.KnownNodes = v } @@ -147,6 +225,15 @@ func (o GetNodes200Response) MarshalJSON() ([]byte, error) { if true { toSerialize["garageVersion"] = o.GarageVersion } + if true { + toSerialize["garageFeatures"] = o.GarageFeatures + } + if true { + toSerialize["rustVersion"] = o.RustVersion + } + if true { + toSerialize["dbEngine"] = o.DbEngine + } if true { toSerialize["knownNodes"] = o.KnownNodes } diff --git a/model_import_key_request.go b/model_import_key_request.go index 7411b85..f356bf2 100644 --- a/model_import_key_request.go +++ b/model_import_key_request.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -16,7 +16,7 @@ import ( // ImportKeyRequest struct for ImportKeyRequest type ImportKeyRequest struct { - Name string `json:"name"` + Name NullableString `json:"name"` AccessKeyId string `json:"accessKeyId"` SecretAccessKey string `json:"secretAccessKey"` } @@ -25,7 +25,7 @@ type ImportKeyRequest struct { // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewImportKeyRequest(name string, accessKeyId string, secretAccessKey string) *ImportKeyRequest { +func NewImportKeyRequest(name NullableString, accessKeyId string, secretAccessKey string) *ImportKeyRequest { this := ImportKeyRequest{} this.Name = name this.AccessKeyId = accessKeyId @@ -42,27 +42,29 @@ func NewImportKeyRequestWithDefaults() *ImportKeyRequest { } // GetName returns the Name field value +// If the value is explicit nil, the zero value for string will be returned func (o *ImportKeyRequest) GetName() string { - if o == nil { + if o == nil || o.Name.Get() == nil { var ret string return ret } - return o.Name + return *o.Name.Get() } // GetNameOk returns a tuple with the Name field value // and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned func (o *ImportKeyRequest) GetNameOk() (*string, bool) { if o == nil { return nil, false } - return &o.Name, true + return o.Name.Get(), o.Name.IsSet() } // SetName sets field value func (o *ImportKeyRequest) SetName(v string) { - o.Name = v + o.Name.Set(&v) } // GetAccessKeyId returns the AccessKeyId field value @@ -116,7 +118,7 @@ func (o *ImportKeyRequest) SetSecretAccessKey(v string) { func (o ImportKeyRequest) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if true { - toSerialize["name"] = o.Name + toSerialize["name"] = o.Name.Get() } if true { toSerialize["accessKeyId"] = o.AccessKeyId diff --git a/model_key_info.go b/model_key_info.go index 4ac8071..c5294eb 100644 --- a/model_key_info.go +++ b/model_key_info.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -18,7 +18,7 @@ import ( type KeyInfo struct { Name *string `json:"name,omitempty"` AccessKeyId *string `json:"accessKeyId,omitempty"` - SecretAccessKey *string `json:"secretAccessKey,omitempty"` + SecretAccessKey NullableString `json:"secretAccessKey,omitempty"` Permissions *KeyInfoPermissions `json:"permissions,omitempty"` Buckets []KeyInfoBucketsInner `json:"buckets,omitempty"` } @@ -104,36 +104,46 @@ func (o *KeyInfo) SetAccessKeyId(v string) { o.AccessKeyId = &v } -// GetSecretAccessKey returns the SecretAccessKey field value if set, zero value otherwise. +// GetSecretAccessKey returns the SecretAccessKey field value if set, zero value otherwise (both if not set or set to explicit null). func (o *KeyInfo) GetSecretAccessKey() string { - if o == nil || o.SecretAccessKey == nil { + if o == nil || o.SecretAccessKey.Get() == nil { var ret string return ret } - return *o.SecretAccessKey + return *o.SecretAccessKey.Get() } // GetSecretAccessKeyOk returns a tuple with the SecretAccessKey field value if set, nil otherwise // and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned func (o *KeyInfo) GetSecretAccessKeyOk() (*string, bool) { - if o == nil || o.SecretAccessKey == nil { + if o == nil { return nil, false } - return o.SecretAccessKey, true + return o.SecretAccessKey.Get(), o.SecretAccessKey.IsSet() } // HasSecretAccessKey returns a boolean if a field has been set. func (o *KeyInfo) HasSecretAccessKey() bool { - if o != nil && o.SecretAccessKey != nil { + if o != nil && o.SecretAccessKey.IsSet() { return true } return false } -// SetSecretAccessKey gets a reference to the given string and assigns it to the SecretAccessKey field. +// SetSecretAccessKey gets a reference to the given NullableString and assigns it to the SecretAccessKey field. func (o *KeyInfo) SetSecretAccessKey(v string) { - o.SecretAccessKey = &v + o.SecretAccessKey.Set(&v) +} +// SetSecretAccessKeyNil sets the value for SecretAccessKey to be an explicit nil +func (o *KeyInfo) SetSecretAccessKeyNil() { + o.SecretAccessKey.Set(nil) +} + +// UnsetSecretAccessKey ensures that no value is present for SecretAccessKey, not even an explicit nil +func (o *KeyInfo) UnsetSecretAccessKey() { + o.SecretAccessKey.Unset() } // GetPermissions returns the Permissions field value if set, zero value otherwise. @@ -208,8 +218,8 @@ func (o KeyInfo) MarshalJSON() ([]byte, error) { if o.AccessKeyId != nil { toSerialize["accessKeyId"] = o.AccessKeyId } - if o.SecretAccessKey != nil { - toSerialize["secretAccessKey"] = o.SecretAccessKey + if o.SecretAccessKey.IsSet() { + toSerialize["secretAccessKey"] = o.SecretAccessKey.Get() } if o.Permissions != nil { toSerialize["permissions"] = o.Permissions diff --git a/model_key_info_buckets_inner.go b/model_key_info_buckets_inner.go index 28f8927..29ac124 100644 --- a/model_key_info_buckets_inner.go +++ b/model_key_info_buckets_inner.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_key_info_buckets_inner_permissions.go b/model_key_info_buckets_inner_permissions.go index df01894..fa1d663 100644 --- a/model_key_info_buckets_inner_permissions.go +++ b/model_key_info_buckets_inner_permissions.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_key_info_permissions.go b/model_key_info_permissions.go index c36db57..5173a33 100644 --- a/model_key_info_permissions.go +++ b/model_key_info_permissions.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_layout_version.go b/model_layout_version.go index ae2fda0..1703084 100644 --- a/model_layout_version.go +++ b/model_layout_version.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_list_buckets_200_response_inner.go b/model_list_buckets_200_response_inner.go index 2d88a00..1178607 100644 --- a/model_list_buckets_200_response_inner.go +++ b/model_list_buckets_200_response_inner.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_list_buckets_200_response_inner_local_aliases_inner.go b/model_list_buckets_200_response_inner_local_aliases_inner.go index 2b54d9b..a3ecaf7 100644 --- a/model_list_buckets_200_response_inner_local_aliases_inner.go +++ b/model_list_buckets_200_response_inner_local_aliases_inner.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_list_keys_200_response_inner.go b/model_list_keys_200_response_inner.go index a140231..284ec22 100644 --- a/model_list_keys_200_response_inner.go +++ b/model_list_keys_200_response_inner.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_node_cluster_info.go b/model_node_cluster_info.go index bf51b60..ec7f288 100644 --- a/model_node_cluster_info.go +++ b/model_node_cluster_info.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -17,7 +17,7 @@ import ( // NodeClusterInfo struct for NodeClusterInfo type NodeClusterInfo struct { Zone string `json:"zone"` - Capacity NullableInt32 `json:"capacity"` + Capacity NullableInt32 `json:"capacity,omitempty"` // User defined tags, put whatever makes sense for you, these tags are not interpreted by Garage Tags []string `json:"tags"` } @@ -26,10 +26,9 @@ type NodeClusterInfo struct { // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewNodeClusterInfo(zone string, capacity NullableInt32, tags []string) *NodeClusterInfo { +func NewNodeClusterInfo(zone string, tags []string) *NodeClusterInfo { this := NodeClusterInfo{} this.Zone = zone - this.Capacity = capacity this.Tags = tags return &this } @@ -66,18 +65,16 @@ func (o *NodeClusterInfo) SetZone(v string) { o.Zone = v } -// GetCapacity returns the Capacity field value -// If the value is explicit nil, the zero value for int32 will be returned +// GetCapacity returns the Capacity field value if set, zero value otherwise (both if not set or set to explicit null). func (o *NodeClusterInfo) GetCapacity() int32 { if o == nil || o.Capacity.Get() == nil { var ret int32 return ret } - return *o.Capacity.Get() } -// GetCapacityOk returns a tuple with the Capacity field value +// GetCapacityOk returns a tuple with the Capacity field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned func (o *NodeClusterInfo) GetCapacityOk() (*int32, bool) { @@ -87,10 +84,28 @@ func (o *NodeClusterInfo) GetCapacityOk() (*int32, bool) { return o.Capacity.Get(), o.Capacity.IsSet() } -// SetCapacity sets field value +// HasCapacity returns a boolean if a field has been set. +func (o *NodeClusterInfo) HasCapacity() bool { + if o != nil && o.Capacity.IsSet() { + return true + } + + return false +} + +// SetCapacity gets a reference to the given NullableInt32 and assigns it to the Capacity field. func (o *NodeClusterInfo) SetCapacity(v int32) { o.Capacity.Set(&v) } +// SetCapacityNil sets the value for Capacity to be an explicit nil +func (o *NodeClusterInfo) SetCapacityNil() { + o.Capacity.Set(nil) +} + +// UnsetCapacity ensures that no value is present for Capacity, not even an explicit nil +func (o *NodeClusterInfo) UnsetCapacity() { + o.Capacity.Unset() +} // GetTags returns the Tags field value func (o *NodeClusterInfo) GetTags() []string { @@ -121,7 +136,7 @@ func (o NodeClusterInfo) MarshalJSON() ([]byte, error) { if true { toSerialize["zone"] = o.Zone } - if true { + if o.Capacity.IsSet() { toSerialize["capacity"] = o.Capacity.Get() } if true { diff --git a/model_node_network_info.go b/model_node_network_info.go index e923de4..373dc38 100644 --- a/model_node_network_info.go +++ b/model_node_network_info.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. @@ -16,9 +16,10 @@ import ( // NodeNetworkInfo struct for NodeNetworkInfo type NodeNetworkInfo struct { + Id *string `json:"id,omitempty"` Addr string `json:"addr"` - IsUp bool `json:"is_up"` - LastSeenSecsAgo NullableInt32 `json:"last_seen_secs_ago"` + IsUp bool `json:"isUp"` + LastSeenSecsAgo NullableInt32 `json:"lastSeenSecsAgo"` Hostname string `json:"hostname"` } @@ -43,6 +44,38 @@ func NewNodeNetworkInfoWithDefaults() *NodeNetworkInfo { return &this } +// GetId returns the Id field value if set, zero value otherwise. +func (o *NodeNetworkInfo) GetId() string { + if o == nil || o.Id == nil { + var ret string + return ret + } + return *o.Id +} + +// GetIdOk returns a tuple with the Id field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *NodeNetworkInfo) GetIdOk() (*string, bool) { + if o == nil || o.Id == nil { + return nil, false + } + return o.Id, true +} + +// HasId returns a boolean if a field has been set. +func (o *NodeNetworkInfo) HasId() bool { + if o != nil && o.Id != nil { + return true + } + + return false +} + +// SetId gets a reference to the given string and assigns it to the Id field. +func (o *NodeNetworkInfo) SetId(v string) { + o.Id = &v +} + // GetAddr returns the Addr field value func (o *NodeNetworkInfo) GetAddr() string { if o == nil { @@ -143,14 +176,17 @@ func (o *NodeNetworkInfo) SetHostname(v string) { func (o NodeNetworkInfo) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} + if o.Id != nil { + toSerialize["id"] = o.Id + } if true { toSerialize["addr"] = o.Addr } if true { - toSerialize["is_up"] = o.IsUp + toSerialize["isUp"] = o.IsUp } if true { - toSerialize["last_seen_secs_ago"] = o.LastSeenSecsAgo.Get() + toSerialize["lastSeenSecsAgo"] = o.LastSeenSecsAgo.Get() } if true { toSerialize["hostname"] = o.Hostname diff --git a/model_node_role_change.go b/model_node_role_change.go new file mode 100644 index 0000000..f482231 --- /dev/null +++ b/model_node_role_change.go @@ -0,0 +1,148 @@ +/* +Garage Administration API v0+garage-v0.9.0 + +Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* + +API version: v0.9.0 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package garage + +import ( + "encoding/json" + "fmt" +) + +// NodeRoleChange - struct for NodeRoleChange +type NodeRoleChange struct { + NodeRoleRemove *NodeRoleRemove + NodeRoleUpdate *NodeRoleUpdate +} + +// NodeRoleRemoveAsNodeRoleChange is a convenience function that returns NodeRoleRemove wrapped in NodeRoleChange +func NodeRoleRemoveAsNodeRoleChange(v *NodeRoleRemove) NodeRoleChange { + return NodeRoleChange{ + NodeRoleRemove: v, + } +} + +// NodeRoleUpdateAsNodeRoleChange is a convenience function that returns NodeRoleUpdate wrapped in NodeRoleChange +func NodeRoleUpdateAsNodeRoleChange(v *NodeRoleUpdate) NodeRoleChange { + return NodeRoleChange{ + NodeRoleUpdate: v, + } +} + + +// Unmarshal JSON data into one of the pointers in the struct +func (dst *NodeRoleChange) UnmarshalJSON(data []byte) error { + var err error + match := 0 + // try to unmarshal data into NodeRoleRemove + err = newStrictDecoder(data).Decode(&dst.NodeRoleRemove) + if err == nil { + jsonNodeRoleRemove, _ := json.Marshal(dst.NodeRoleRemove) + if string(jsonNodeRoleRemove) == "{}" { // empty struct + dst.NodeRoleRemove = nil + } else { + match++ + } + } else { + dst.NodeRoleRemove = nil + } + + // try to unmarshal data into NodeRoleUpdate + err = newStrictDecoder(data).Decode(&dst.NodeRoleUpdate) + if err == nil { + jsonNodeRoleUpdate, _ := json.Marshal(dst.NodeRoleUpdate) + if string(jsonNodeRoleUpdate) == "{}" { // empty struct + dst.NodeRoleUpdate = nil + } else { + match++ + } + } else { + dst.NodeRoleUpdate = nil + } + + if match > 1 { // more than 1 match + // reset to nil + dst.NodeRoleRemove = nil + dst.NodeRoleUpdate = nil + + return fmt.Errorf("Data matches more than one schema in oneOf(NodeRoleChange)") + } else if match == 1 { + return nil // exactly one match + } else { // no match + return fmt.Errorf("Data failed to match schemas in oneOf(NodeRoleChange)") + } +} + +// Marshal data from the first non-nil pointers in the struct to JSON +func (src NodeRoleChange) MarshalJSON() ([]byte, error) { + if src.NodeRoleRemove != nil { + return json.Marshal(&src.NodeRoleRemove) + } + + if src.NodeRoleUpdate != nil { + return json.Marshal(&src.NodeRoleUpdate) + } + + return nil, nil // no data in oneOf schemas +} + +// Get the actual instance +func (obj *NodeRoleChange) GetActualInstance() (interface{}) { + if obj == nil { + return nil + } + if obj.NodeRoleRemove != nil { + return obj.NodeRoleRemove + } + + if obj.NodeRoleUpdate != nil { + return obj.NodeRoleUpdate + } + + // all schemas are nil + return nil +} + +type NullableNodeRoleChange struct { + value *NodeRoleChange + isSet bool +} + +func (v NullableNodeRoleChange) Get() *NodeRoleChange { + return v.value +} + +func (v *NullableNodeRoleChange) Set(val *NodeRoleChange) { + v.value = val + v.isSet = true +} + +func (v NullableNodeRoleChange) IsSet() bool { + return v.isSet +} + +func (v *NullableNodeRoleChange) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableNodeRoleChange(val *NodeRoleChange) *NullableNodeRoleChange { + return &NullableNodeRoleChange{value: val, isSet: true} +} + +func (v NullableNodeRoleChange) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableNodeRoleChange) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_node_role_remove.go b/model_node_role_remove.go new file mode 100644 index 0000000..d22bf24 --- /dev/null +++ b/model_node_role_remove.go @@ -0,0 +1,144 @@ +/* +Garage Administration API v0+garage-v0.9.0 + +Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* + +API version: v0.9.0 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package garage + +import ( + "encoding/json" +) + +// NodeRoleRemove struct for NodeRoleRemove +type NodeRoleRemove struct { + Id *string `json:"id,omitempty"` + Remove bool `json:"remove"` +} + +// NewNodeRoleRemove instantiates a new NodeRoleRemove object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewNodeRoleRemove(remove bool) *NodeRoleRemove { + this := NodeRoleRemove{} + this.Remove = remove + return &this +} + +// NewNodeRoleRemoveWithDefaults instantiates a new NodeRoleRemove object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewNodeRoleRemoveWithDefaults() *NodeRoleRemove { + this := NodeRoleRemove{} + return &this +} + +// GetId returns the Id field value if set, zero value otherwise. +func (o *NodeRoleRemove) GetId() string { + if o == nil || o.Id == nil { + var ret string + return ret + } + return *o.Id +} + +// GetIdOk returns a tuple with the Id field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *NodeRoleRemove) GetIdOk() (*string, bool) { + if o == nil || o.Id == nil { + return nil, false + } + return o.Id, true +} + +// HasId returns a boolean if a field has been set. +func (o *NodeRoleRemove) HasId() bool { + if o != nil && o.Id != nil { + return true + } + + return false +} + +// SetId gets a reference to the given string and assigns it to the Id field. +func (o *NodeRoleRemove) SetId(v string) { + o.Id = &v +} + +// GetRemove returns the Remove field value +func (o *NodeRoleRemove) GetRemove() bool { + if o == nil { + var ret bool + return ret + } + + return o.Remove +} + +// GetRemoveOk returns a tuple with the Remove field value +// and a boolean to check if the value has been set. +func (o *NodeRoleRemove) GetRemoveOk() (*bool, bool) { + if o == nil { + return nil, false + } + return &o.Remove, true +} + +// SetRemove sets field value +func (o *NodeRoleRemove) SetRemove(v bool) { + o.Remove = v +} + +func (o NodeRoleRemove) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.Id != nil { + toSerialize["id"] = o.Id + } + if true { + toSerialize["remove"] = o.Remove + } + return json.Marshal(toSerialize) +} + +type NullableNodeRoleRemove struct { + value *NodeRoleRemove + isSet bool +} + +func (v NullableNodeRoleRemove) Get() *NodeRoleRemove { + return v.value +} + +func (v *NullableNodeRoleRemove) Set(val *NodeRoleRemove) { + v.value = val + v.isSet = true +} + +func (v NullableNodeRoleRemove) IsSet() bool { + return v.isSet +} + +func (v *NullableNodeRoleRemove) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableNodeRoleRemove(val *NodeRoleRemove) *NullableNodeRoleRemove { + return &NullableNodeRoleRemove{value: val, isSet: true} +} + +func (v NullableNodeRoleRemove) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableNodeRoleRemove) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_node_role_update.go b/model_node_role_update.go new file mode 100644 index 0000000..c6eb873 --- /dev/null +++ b/model_node_role_update.go @@ -0,0 +1,204 @@ +/* +Garage Administration API v0+garage-v0.9.0 + +Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* + +API version: v0.9.0 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package garage + +import ( + "encoding/json" +) + +// NodeRoleUpdate struct for NodeRoleUpdate +type NodeRoleUpdate struct { + Id *string `json:"id,omitempty"` + Zone string `json:"zone"` + Capacity NullableInt32 `json:"capacity"` + Tags []string `json:"tags"` +} + +// NewNodeRoleUpdate instantiates a new NodeRoleUpdate object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewNodeRoleUpdate(zone string, capacity NullableInt32, tags []string) *NodeRoleUpdate { + this := NodeRoleUpdate{} + this.Zone = zone + this.Capacity = capacity + this.Tags = tags + return &this +} + +// NewNodeRoleUpdateWithDefaults instantiates a new NodeRoleUpdate object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewNodeRoleUpdateWithDefaults() *NodeRoleUpdate { + this := NodeRoleUpdate{} + return &this +} + +// GetId returns the Id field value if set, zero value otherwise. +func (o *NodeRoleUpdate) GetId() string { + if o == nil || o.Id == nil { + var ret string + return ret + } + return *o.Id +} + +// GetIdOk returns a tuple with the Id field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *NodeRoleUpdate) GetIdOk() (*string, bool) { + if o == nil || o.Id == nil { + return nil, false + } + return o.Id, true +} + +// HasId returns a boolean if a field has been set. +func (o *NodeRoleUpdate) HasId() bool { + if o != nil && o.Id != nil { + return true + } + + return false +} + +// SetId gets a reference to the given string and assigns it to the Id field. +func (o *NodeRoleUpdate) SetId(v string) { + o.Id = &v +} + +// GetZone returns the Zone field value +func (o *NodeRoleUpdate) GetZone() string { + if o == nil { + var ret string + return ret + } + + return o.Zone +} + +// GetZoneOk returns a tuple with the Zone field value +// and a boolean to check if the value has been set. +func (o *NodeRoleUpdate) GetZoneOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Zone, true +} + +// SetZone sets field value +func (o *NodeRoleUpdate) SetZone(v string) { + o.Zone = v +} + +// GetCapacity returns the Capacity field value +// If the value is explicit nil, the zero value for int32 will be returned +func (o *NodeRoleUpdate) GetCapacity() int32 { + if o == nil || o.Capacity.Get() == nil { + var ret int32 + return ret + } + + return *o.Capacity.Get() +} + +// GetCapacityOk returns a tuple with the Capacity field value +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *NodeRoleUpdate) GetCapacityOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Capacity.Get(), o.Capacity.IsSet() +} + +// SetCapacity sets field value +func (o *NodeRoleUpdate) SetCapacity(v int32) { + o.Capacity.Set(&v) +} + +// GetTags returns the Tags field value +func (o *NodeRoleUpdate) GetTags() []string { + if o == nil { + var ret []string + return ret + } + + return o.Tags +} + +// GetTagsOk returns a tuple with the Tags field value +// and a boolean to check if the value has been set. +func (o *NodeRoleUpdate) GetTagsOk() ([]string, bool) { + if o == nil { + return nil, false + } + return o.Tags, true +} + +// SetTags sets field value +func (o *NodeRoleUpdate) SetTags(v []string) { + o.Tags = v +} + +func (o NodeRoleUpdate) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.Id != nil { + toSerialize["id"] = o.Id + } + if true { + toSerialize["zone"] = o.Zone + } + if true { + toSerialize["capacity"] = o.Capacity.Get() + } + if true { + toSerialize["tags"] = o.Tags + } + return json.Marshal(toSerialize) +} + +type NullableNodeRoleUpdate struct { + value *NodeRoleUpdate + isSet bool +} + +func (v NullableNodeRoleUpdate) Get() *NodeRoleUpdate { + return v.value +} + +func (v *NullableNodeRoleUpdate) Set(val *NodeRoleUpdate) { + v.value = val + v.isSet = true +} + +func (v NullableNodeRoleUpdate) IsSet() bool { + return v.isSet +} + +func (v *NullableNodeRoleUpdate) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableNodeRoleUpdate(val *NodeRoleUpdate) *NullableNodeRoleUpdate { + return &NullableNodeRoleUpdate{value: val, isSet: true} +} + +func (v NullableNodeRoleUpdate) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableNodeRoleUpdate) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_update_bucket_request.go b/model_update_bucket_request.go index d1ea618..ef4a7ab 100644 --- a/model_update_bucket_request.go +++ b/model_update_bucket_request.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_update_bucket_request_quotas.go b/model_update_bucket_request_quotas.go index 1b1fd02..a810019 100644 --- a/model_update_bucket_request_quotas.go +++ b/model_update_bucket_request_quotas.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_update_bucket_request_website_access.go b/model_update_bucket_request_website_access.go index 9d6d077..e18ef1a 100644 --- a/model_update_bucket_request_website_access.go +++ b/model_update_bucket_request_website_access.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_update_key_request.go b/model_update_key_request.go index f32953e..88cefa9 100644 --- a/model_update_key_request.go +++ b/model_update_key_request.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_update_key_request_allow.go b/model_update_key_request_allow.go index e3e1e2a..41b6ec3 100644 --- a/model_update_key_request_allow.go +++ b/model_update_key_request_allow.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/model_update_key_request_deny.go b/model_update_key_request_deny.go index 8f2e51b..64be61d 100644 --- a/model_update_key_request_deny.go +++ b/model_update_key_request_deny.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/response.go b/response.go index b2b3651..501856e 100644 --- a/response.go +++ b/response.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. diff --git a/utils.go b/utils.go index 902e2b2..4a7afcc 100644 --- a/utils.go +++ b/utils.go @@ -1,9 +1,9 @@ /* -Garage Administration API v0+garage-v0.8.0 +Garage Administration API v0+garage-v0.9.0 Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks. *Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!* -API version: v0.8.0 +API version: v0.9.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.