From d0580df72c3079e580728e27248f06fe32f40c45 Mon Sep 17 00:00:00 2001 From: Nimrod Shneor Date: Thu, 28 Nov 2024 13:30:30 +0200 Subject: [PATCH] Add aro_hcp v1alpha1 Root resource --- .../aro_hcp/v1_alpha1/cluster_resource.model | 37 +++++++++ .../aro_hcp/v1_alpha1/clusters_resource.model | 79 +++++++++++++++++++ model/aro_hcp/v1_alpha1/root_resource.model | 24 ++++++ 3 files changed, 140 insertions(+) create mode 100644 model/aro_hcp/v1_alpha1/cluster_resource.model create mode 100644 model/aro_hcp/v1_alpha1/clusters_resource.model create mode 100644 model/aro_hcp/v1_alpha1/root_resource.model diff --git a/model/aro_hcp/v1_alpha1/cluster_resource.model b/model/aro_hcp/v1_alpha1/cluster_resource.model new file mode 100644 index 00000000..fa298768 --- /dev/null +++ b/model/aro_hcp/v1_alpha1/cluster_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific cluster. +resource Cluster { + // Retrieves the details of the cluster. + method Get { + out Body Cluster + } + + // Updates the cluster. + method Update { + in out Body Cluster + } + + // Deletes the cluster. + method Delete { + // Dry run flag is used to check if the operation can be completed, but won't delete. + in DryRun Boolean = false + + // BestEffort flag is used to check if the cluster deletion should be best-effort mode or not. + in BestEffort Boolean = false + } +} \ No newline at end of file diff --git a/model/aro_hcp/v1_alpha1/clusters_resource.model b/model/aro_hcp/v1_alpha1/clusters_resource.model new file mode 100644 index 00000000..136b0818 --- /dev/null +++ b/model/aro_hcp/v1_alpha1/clusters_resource.model @@ -0,0 +1,79 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of aro_hcp clusters. +resource Clusters { + // Retrieves the list of clusters. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to retrieve all the + // clusters with a name starting with `my` in the `us-east-1` region the value + // should be: + // + // ```sql + // name like 'my%' and region.id = 'us-east-1' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // clusters that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to sort the clusters + // descending by region identifier the value should be: + // + // ```sql + // region.id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of clusters. + out Items []Cluster + } + + // Provision a new cluster and add it to the collection of clusters. + // + // See the `register_cluster` method for adding an existing cluster. + method Add { + // Description of the cluster. + in out Body Cluster + } + + // Returns a reference to the service that manages an specific cluster. + locator Cluster { + target Cluster + variable ID + } +} \ No newline at end of file diff --git a/model/aro_hcp/v1_alpha1/root_resource.model b/model/aro_hcp/v1_alpha1/root_resource.model new file mode 100644 index 00000000..f3e4e5c1 --- /dev/null +++ b/model/aro_hcp/v1_alpha1/root_resource.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Root of the tree of resources of the aro_hcp service. +resource Root { + // Reference to the resource that manages the collection of clusters. + @ref(path = "/clusters_mgmt/v1/clusters") + locator Clusters { + target Clusters + } +}