diff --git a/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model b/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model deleted file mode 100644 index fd34dbc8..00000000 --- a/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model +++ /dev/null @@ -1,40 +0,0 @@ -/* -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. -*/ - -// Overall state of a cluster upgrade policy. -enum UpgradePolicyStateValue { - // Upgrade policy set but an upgrade wasn't scheduled yet - Pending - - // Upgrade policy set and was scheduled - Scheduled - - // Upgrade started - Started - - // Upgrade completed (temporary state - the policy will be removed in case of - // manual upgrade, or move back to pending in case of automatic upgrade) - Completed - - // Upgrade failed - Failed - - // Upgrade is taking longer than expected - Delayed - - // Upgrade got cancelled (temporary state - the policy will get removed). - Cancelled -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model b/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model deleted file mode 100644 index 67b82e95..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Representation of an addon catalog source object used by addon versions. -struct AdditionalCatalogSource { - // ID of the additional catalog source - ID String - - // Name of the additional catalog source. - Name String - - // Image of the additional catalog source. - Image String - - // Indicates is this additional catalog source is enabled for the addon - Enabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_config_type.model b/model/clusters_mgmt/v2alpha1/add_on_config_type.model deleted file mode 100644 index a78a8858..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_config_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on config. -// The attributes under it are to be used by the addon once its installed in the cluster. -class AddOnConfig { - // List of environment variables for the addon - AddOnEnvironmentVariables []AddOnEnvironmentVariable - - // List of secret propagations for the addon - SecretPropagations []AddOnSecretPropagation -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model b/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model deleted file mode 100644 index 0bfc2ff4..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on env object. -class AddOnEnvironmentVariable { - // Name of the env object. - Name String - - // Value of the env object. - Value String -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model deleted file mode 100644 index 5c7f9746..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model +++ /dev/null @@ -1,69 +0,0 @@ -/* -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 add-on inquiries, inquiries perform validation of add-on(s) on a per cluster basis -// based on add-on conditions and requirements. -resource AddonInquiries { - 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 an - // SQL statement, but using the names of the attributes of the add-on instead of - // the names of the columns of a table. For example, in order to retrieve all the - // add-ons with a name starting with `my` the value should be: - // - // ```sql - // name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the add-ons - // 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 add-on instead of - // the names of the columns of a table. For example, in order to sort the add-ons - // descending by name the value should be: - // - // ```sql - // name 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 add-ons. - out Items []AddOn - } - - locator AddonInquiry { - target AddonInquiry - variable AddonID - } -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model deleted file mode 100644 index 6f86ea77..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 a specific add-on inquiry -resource AddonInquiry { - method Get { - out Body AddOn - } -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model b/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model deleted file mode 100644 index b87b16a9..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on InstallMode field. -enum AddOnInstallMode { - // This mode means that the the addon CRD exists in a single specific namespace. - // This namespace is reflected by the TargetNamespace addon field - OwnNamespace - - // This mode means that the addon is deployed in all namespaces. - // However, the addon status is retrieved from the target namespace - AllNamespaces -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model b/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model deleted file mode 100644 index 321f4d33..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on installation billing. -class AddOnInstallationBilling { - // Billing Model for addon resources - BillingModel BillingModel - // Account ID for billing market place - BillingMarketplaceAccount String -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model deleted file mode 100644 index b8ed0bf2..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on installation parameter. -class AddOnInstallationParameter { - // Value of the parameter. - Value String -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model b/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model deleted file mode 100644 index c99a468e..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific add-on installation. -resource AddOnInstallation { - // Retrieves the details of the add-on installation. - method Get { - out Body AddOnInstallation - } - - // Updates the add-on installation. - method Update { - in out Body AddOnInstallation - } - - // Delete an add-on installation and remove it from the collection of add-on installations on the cluster. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model deleted file mode 100644 index d428cd39..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on installation State field. -enum AddOnInstallationState { - // The add-on is in pending state. - Pending - - // The add-on is still being installed. - Installing - - // The add-on is being deleted. - Deleting - - // Error during installation. - Failed - - // The add-on is ready to be used. - Ready -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_type.model deleted file mode 100644 index 9c4036b5..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_type.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on installation in a cluster. -class AddOnInstallation { - // Link to add-on attached to this cluster. - link Addon AddOn - - // Link to the installed version of this add-on. - link AddonVersion AddOnVersion - - // Overall state of the add-on installation. - State AddOnInstallationState - - // Reason for the current State. - StateDescription String - - // Version of the operator installed by the add-on. - OperatorVersion String - - // Billing details for add-on installation resource - Billing AddOnInstallationBilling - - // List of add-on parameters for this add-on installation. - link Parameters []AddOnInstallationParameter - - // Date and time when the add-on was initially installed in the cluster. - CreationTimestamp Date - - // Date and time when the add-on installation information was last updated. - UpdatedTimestamp Date -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model b/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model deleted file mode 100644 index 2d159776..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model +++ /dev/null @@ -1,77 +0,0 @@ -/* -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 add-on installations. -resource AddOnInstallations { - // Retrieves the list of add-on installations. - 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 an - // SQL statement, but using the names of the attributes of the add-on installation - // instead of the names of the columns of a table. For example, in order to retrieve - // all the add-on installations with a name starting with `my` the value should be: - // - // ```sql - // name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the add-on - // installations 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 add-on installation - // instead of the names of the columns of a table. For example, in order to sort the - // add-on installations descending by name the value should be: - // - // ```sql - // name 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 add-on installations. - out Items []AddOnInstallation - } - - // Create a new add-on installation and add it to the collection of add-on installations on the cluster. - method Add { - // Description of the add-on installation. - in out Body AddOnInstallation - } - - // Returns a reference to the service that manages a specific add-on installation. - locator Addoninstallation { - target AddOnInstallation - variable ID - } -} - diff --git a/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model b/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model deleted file mode 100644 index 2276478a..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -class AddOnNamespace{ - // Name of the namespace. - Name String - - // Labels to be applied to this namespace. - Labels [String]String - - // Annotations to be applied to this namespace. - Annotations [String]String -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model b/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model deleted file mode 100644 index 666917b9..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on parameter option. -struct AddOnParameterOption { - - // Name of the add-on parameter option. - Name String - - // Value of the add-on parameter option. - Value String - - // Rank of option to be used in cases where editable direction should be restricted. - Rank Integer - - // List of add-on requirements for this parameter option. - Requirements []AddOnRequirement - -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model b/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model deleted file mode 100644 index 6ef38eb5..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model +++ /dev/null @@ -1,59 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on parameter. -class AddOnParameter { - - // Link to add-on. - link Addon AddOn - - // Name of the add-on parameter. - Name String - - // Description of the add-on parameter. - Description String - - // Type of value of the add-on parameter. - ValueType String - - // Validation rule for the add-on parameter. - Validation String - - // Error message to return should the parameter be invalid. - ValidationErrMsg String - - // Indicates if this parameter is required by the add-on. - Required Boolean - - // Indicates if this parameter can be edited after creation. - Editable Boolean - - // Restricts if the parameter can be upscaled/downscaled - // Expected values are "up", "down", or "" (no restriction). - EditableDirection String - - // Indicates if this parameter is enabled for the add-on. - Enabled Boolean - - // Indicates the value default for the add-on parameter. - DefaultValue String - - // List of options for the add-on parameter value. - Options []AddOnParameterOption - - // Conditions in which this parameter is valid for - Conditions []AddOnRequirement -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model b/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model deleted file mode 100644 index 20aed86a..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on requirement status. -struct AddOnRequirementStatus { - - // Indicates if this requirement is fulfilled. - Fulfilled Boolean - - // Error messages detailing reasons for unfulfilled requirements. - ErrorMsgs []String - -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model b/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model deleted file mode 100644 index b47a3abf..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model +++ /dev/null @@ -1,35 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on requirement. -struct AddOnRequirement { - - // ID of the add-on requirement. - ID String - - // Type of resource of the add-on requirement. - Resource String - - // Data for the add-on requirement. - Data [String]Interface - - // Indicates if this requirement is enabled for the add-on. - Enabled Boolean - - // Optional cluster specific status for the add-on. - Status AddOnRequirementStatus - -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_resource.model b/model/clusters_mgmt/v2alpha1/add_on_resource.model deleted file mode 100644 index 15f921a1..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_resource.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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 a specific add-on. -resource AddOn { - // Retrieves the details of the add-on. - method Get { - out Body AddOn - } - - // Updates the add-on. - method Update { - in out Body AddOn - } - - // Deletes the add-on. - method Delete { - } - - // Reference to the resource that manages the collection of addon versions. - locator Versions { - target AddOnVersions - } -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model b/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model deleted file mode 100644 index 9b1d8ea3..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Representation of an addon secret propagation -struct AddOnSecretPropagation { - // ID of the secret propagation - ID string - - // SourceSecret is location of the source secret - SourceSecret String - - // DestinationSecret is location of the secret to be added - DestinationSecret String - - // Indicates is this secret propagation is enabled for the addon - Enabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model b/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model deleted file mode 100644 index d3710207..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on sub operator. A sub operator is an operator -// who's life cycle is controlled by the add-on umbrella operator. -struct AddOnSubOperator { - - // Name of the add-on sub operator - OperatorName String - - // Namespace of the add-on sub operator - OperatorNamespace String - - // Indicates if the sub operator is enabled for the add-on - Enabled Boolean -} - diff --git a/model/clusters_mgmt/v2alpha1/add_on_type.model b/model/clusters_mgmt/v2alpha1/add_on_type.model deleted file mode 100644 index 829900f8..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_type.model +++ /dev/null @@ -1,87 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on that can be installed in a cluster. -class AddOn { - // Name of the add-on. - Name String - - // Description of the add-on. - Description String - - // Link to documentation about the add-on. - DocsLink String - - // Label used to attach to a cluster deployment when add-on is installed. - Label String - - // Base64-encoded icon representing an add-on. The icon should be in PNG format. - Icon String - - // Indicates if this add-on can be added to clusters. - Enabled Boolean - - // Indicates if this add-on is hidden. - Hidden Boolean - - // Used to determine from where to reserve quota for this add-on. - ResourceName String - - // Used to determine how many units of quota an add-on consumes per resource name. - ResourceCost Float - - // The namespace in which the addon CRD exists. - TargetNamespace String - - // Namespaces which are required by this addon. - Namespaces []AddOnNamespace - - // Common labels to be applied to all resources created by this addon. - CommonLabels [String]String - - // Common annotations to be applied to all resources created by this addon. - CommonAnnotations [String]String - - // The mode in which the addon is deployed. - InstallMode AddOnInstallMode - - // The name of the operator installed by this add-on. - OperatorName String - - // Indicates if this add-on has external resources associated with it - HasExternalResources Boolean - - // List of credentials requests to authenticate operators to access cloud resources. - CredentialsRequests []CredentialRequest - - // List of parameters for this add-on. - link Parameters []AddOnParameter - - // List of requirements for this add-on. - Requirements []AddOnRequirement - - // List of sub operators for this add-on. - SubOperators []AddOnSubOperator - - // Additional configs to be used by the addon once its installed in the cluster. - Config AddOnConfig - - // Link to the current default version of this add-on. - link Version AddOnVersion - - // Indicates if add-on is part of a managed service - ManagedService Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_version_resource.model b/model/clusters_mgmt/v2alpha1/add_on_version_resource.model deleted file mode 100644 index 201a1c53..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_version_resource.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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 a specific add-on version. -resource AddOnVersion { - // Retrieves the details of the add-on version. - method Get { - out Body AddOnVersion - } - - // Updates the add-on version. - method Update { - in out Body AddOnVersion - } - - // Deletes the add-on version. - method Delete { - } - -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_version_type.model b/model/clusters_mgmt/v2alpha1/add_on_version_type.model deleted file mode 100644 index 16311fbc..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_version_type.model +++ /dev/null @@ -1,52 +0,0 @@ -/* -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. -*/ - -// Representation of an add-on version. -class AddOnVersion { - - // Indicates if this add-on version can be added to clusters. - Enabled Boolean - - // The pull secret name used for this addon version. - PullSecretName String - - // The catalog source image for this add-on version. - SourceImage String - - // The package image for this addon version - PackageImage String - - // The specific addon catalog source channel of packages - Channel String - - // Additional catalog sources associated with this addon version - AdditionalCatalogSources []AdditionalCatalogSource - - // List of parameters for this add-on version. - link Parameters []AddOnParameter - - // List of requirements for this add-on version. - Requirements []AddOnRequirement - - // List of sub operators for this add-on version. - SubOperators []AddOnSubOperator - - // Additional configs to be used by the addon once its installed in the cluster. - Config AddOnConfig - - // AvailableUpgrades is the list of versions this version can be upgraded to. - AvailableUpgrades []String -} diff --git a/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model b/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model deleted file mode 100644 index c99882d6..00000000 --- a/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model +++ /dev/null @@ -1,76 +0,0 @@ -/* -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 add-on versions. -resource AddOnVersions { - // Retrieves the list of add-on versions. - 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 an - // SQL statement, but using the names of the attributes of the add-on version instead - // of the names of the columns of a table. For example, in order to retrieve all the - // add-on versions with an id starting with `0.1` the value should be: - // - // ```sql - // id like '0.1.%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the add-on - // versions 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 add-on instead of - // the names of the columns of a table. For example, in order to sort the add-on - // versions descending by id the value should be: - // - // ```sql - // 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 add-on versions. - out Items []AddOnVersion - } - - // Create a new add-on version and add it to the collection of add-ons. - method Add { - // Description of the add-on version. - in out Body AddOnVersion - } - - // Returns a reference to the service that manages a specific add-on version. - locator Version { - target AddOnVersion - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/add_ons_resource.model b/model/clusters_mgmt/v2alpha1/add_ons_resource.model deleted file mode 100644 index b85d192f..00000000 --- a/model/clusters_mgmt/v2alpha1/add_ons_resource.model +++ /dev/null @@ -1,76 +0,0 @@ -/* -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 add-ons. -resource AddOns { - // Retrieves the list of add-ons. - 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 an - // SQL statement, but using the names of the attributes of the add-on instead of - // the names of the columns of a table. For example, in order to retrieve all the - // add-ons with a name starting with `my` the value should be: - // - // ```sql - // name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the add-ons - // 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 add-on instead of - // the names of the columns of a table. For example, in order to sort the add-ons - // descending by name the value should be: - // - // ```sql - // name 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 add-ons. - out Items []AddOn - } - - // Create a new add-on and add it to the collection of add-ons. - method Add { - // Description of the add-on. - in out Body AddOn - } - - // Returns a reference to the service that manages a specific add-on. - locator Addon { - target AddOn - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model deleted file mode 100644 index dbbe4b48..00000000 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 addon upgrade policies of a cluster. -resource AddonUpgradePolicies { - // Retrieves the list of addon upgrade policies. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of addon upgrade policy. - out Items []AddonUpgradePolicy - } - - // Adds a new addon upgrade policy to the cluster. - method Add { - // Description of the upgrade policy. - in out Body AddonUpgradePolicy - } - - // Reference to the service that manages an specific addon upgrade policy. - locator AddonUpgradePolicy { - target AddonUpgradePolicy - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model deleted file mode 100644 index 89476b8e..00000000 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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 a specific addon upgrade policy. -resource AddonUpgradePolicy { - // Retrieves the details of the addon upgrade policy. - method Get { - out Body AddonUpgradePolicy - } - - // Update the addon upgrade policy. - method Update { - in out Body AddonUpgradePolicy - } - - // Deletes the addon upgrade policy. - method Delete { - } - - // Reference to the state of the addon upgrade policy. - locator State { - target AddonUpgradePolicyState - } -} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model deleted file mode 100644 index 5e729c44..00000000 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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 a specific upgrade policy state. -resource AddonUpgradePolicyState { - // Retrieves the details of the upgrade policy state. - method Get { - out Body AddonUpgradePolicyState - } - - // Update the upgrade policy state. - method Update { - in out Body AddonUpgradePolicyState - } -} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model deleted file mode 100644 index 21eded26..00000000 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Representation of an addon upgrade policy state that that is set for a cluster. -class AddonUpgradePolicyState { - // State value can be 'pending', 'scheduled', 'cancelled', 'started', 'delayed', - // 'failed' or 'completed'. - Value UpgradePolicyStateValue - - // Description of the state. - Description String -} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model deleted file mode 100644 index f9a83da3..00000000 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. -*/ - -// Representation of an upgrade policy that can be set for a cluster. -class AddonUpgradePolicy { - // Cluster ID this upgrade policy is defined for. - ClusterID String - - // Addon ID this upgrade policy is defined for - AddonID String - - // Schedule cron expression that defines automatic upgrade scheduling. - Schedule String - - // Schedule type can be either "manual" (single execution) or "automatic" (re-occurring). - ScheduleType String - - // Upgrade type specify the type of the upgrade. Must be "ADDON". - UpgradeType String - - // Version is the desired upgrade version. - Version String - - // Next time the upgrade should run. - NextRun Date -} diff --git a/model/clusters_mgmt/v2alpha1/admin_credentials_type.model b/model/clusters_mgmt/v2alpha1/admin_credentials_type.model deleted file mode 100644 index 20a7fdff..00000000 --- a/model/clusters_mgmt/v2alpha1/admin_credentials_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Temporary administrator credentials generated during the installation of the -// cluster. -struct AdminCredentials { - // Cluster administrator user name. - User String - - // Cluster administrator password. - Password String -} diff --git a/model/clusters_mgmt/v2alpha1/alert_info_type.model b/model/clusters_mgmt/v2alpha1/alert_info_type.model deleted file mode 100644 index a36d700a..00000000 --- a/model/clusters_mgmt/v2alpha1/alert_info_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Provides information about a single alert firing on the cluster. -struct AlertInfo { - // The alert name. Multiple alerts with same name are possible. - Name String - - // The alert severity. - Severity AlertSeverity -} diff --git a/model/clusters_mgmt/v2alpha1/alert_severity_type.model b/model/clusters_mgmt/v2alpha1/alert_severity_type.model deleted file mode 100644 index 8fe446af..00000000 --- a/model/clusters_mgmt/v2alpha1/alert_severity_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Severity of a cluster alert received via telemetry. -enum AlertSeverity { - // This level is only used for the "Watchdog" alert that is always on. - None - - // Warning. - Warning - - // Critical. - Critical -} diff --git a/model/clusters_mgmt/v2alpha1/alerts_info_type.model b/model/clusters_mgmt/v2alpha1/alerts_info_type.model deleted file mode 100644 index 92d30f6d..00000000 --- a/model/clusters_mgmt/v2alpha1/alerts_info_type.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -// Provides information about the alerts firing on the cluster. -struct AlertsInfo { - Alerts []AlertInfo -} diff --git a/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model deleted file mode 100644 index 1bb0879a..00000000 --- a/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Provides information about the alerts firing on the cluster. -resource AlertsMetricQuery { - method Get { - out Body AlertsInfo - } -} diff --git a/model/clusters_mgmt/v2alpha1/ami_override_type.model b/model/clusters_mgmt/v2alpha1/ami_override_type.model deleted file mode 100644 index 432e7ed9..00000000 --- a/model/clusters_mgmt/v2alpha1/ami_override_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// AMIOverride specifies what Amazon Machine Image should be used for a particular product and region. -class AMIOverride { - // Link to the product type. - link Product Product - - // Link to the cloud provider region. - link Region CloudRegion - - // AMI is the id of the Amazon Machine Image. - AMI String -} diff --git a/model/clusters_mgmt/v2alpha1/audit_log_type.model b/model/clusters_mgmt/v2alpha1/audit_log_type.model deleted file mode 100644 index 47b3c2e4..00000000 --- a/model/clusters_mgmt/v2alpha1/audit_log_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to support audit log forwarding -struct AuditLog { - // ARN of the CloudWatch audit log forwarding role - RoleArn String -} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource.model deleted file mode 100644 index fb84dfaf..00000000 --- a/model/clusters_mgmt/v2alpha1/autoscaler_resource.model +++ /dev/null @@ -1,38 +0,0 @@ -/* -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 global autoscaler configurations for a cluster. -resource Autoscaler { - // Retrieves the autoscaler of a cluster. - method Get { - out Body ClusterAutoscaler - } - - // Creates a new cluster autoscaler object. - method Post { - in Request ClusterAutoscaler - out Body ClusterAutoscaler - } - - // Updates the cluster autoscaler. - method Update { - in out Body ClusterAutoscaler - } - - // Deletes the cluster autoscaler. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model deleted file mode 100644 index 8a1c4060..00000000 --- a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -struct AutoscalerResourceLimitsGPULimit { - // The type of GPU to associate with the minimum and maximum limits. - // This value is used by the Cluster Autoscaler to identify Nodes that will have GPU capacity by searching - // for it as a label value on the Node objects. For example, Nodes that carry the label key - // `cluster-api/accelerator` with the label value being the same as the Type field will be counted towards - // the resource limits by the Cluster Autoscaler. - Type String - - Range ResourceRange -} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model deleted file mode 100644 index 60260ecc..00000000 --- a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. -*/ - -struct AutoscalerResourceLimits { - // Maximum number of nodes in all node groups. - // Cluster autoscaler will not grow the cluster beyond this number. - MaxNodesTotal Integer - - // Minimum and maximum number of cores in cluster, in the format :. - // Cluster autoscaler will not scale the cluster beyond these numbers. - Cores ResourceRange - - // Minimum and maximum number of gigabytes of memory in cluster, in the format :. - // Cluster autoscaler will not scale the cluster beyond these numbers. - Memory ResourceRange - - // Minimum and maximum number of different GPUs in cluster, in the format ::. - // Cluster autoscaler will not scale the cluster beyond these numbers. Can be passed multiple times. - GPUS []AutoscalerResourceLimitsGPULimit -} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model deleted file mode 100644 index f0bccd28..00000000 --- a/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model +++ /dev/null @@ -1,35 +0,0 @@ -/* -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. -*/ - -struct AutoscalerScaleDownConfig { - // Should cluster-autoscaler scale down the cluster. - Enabled Boolean - - // How long a node should be unneeded before it is eligible for scale down. - UnneededTime String - - // Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. - UtilizationThreshold String - - // How long after scale up that scale down evaluation resumes. - DelayAfterAdd String - - // How long after node deletion that scale down evaluation resumes, defaults to scan-interval. - DelayAfterDelete String - - // How long after scale down failure that scale down evaluation resumes. - DelayAfterFailure String -} diff --git a/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model deleted file mode 100644 index 4b96c6a7..00000000 --- a/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model +++ /dev/null @@ -1,44 +0,0 @@ -/* -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 a specific available regions inquiry. -resource AvailableRegionsInquiry { - // Retrieves the list of available regions of the cloud provider. - // IMPORTANT: This list doesn't currently support paging or searching, so the returned - // `page` will always be 1 and `size` and `total` will always be the total number of available regions - // of the provider. - method Search { - // Index of the returned page, where one corresponds to the first page. As this - // collection doesn't support paging the result will always be `1`. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. As this collection - // doesn't support paging or searching the result will always be the total number of - // regions of the provider. - in out Size Integer = 100 - - // Total number of items of the collection that match the search criteria, - // regardless of the size of the page. As this collection doesn't support paging or - // searching the result will always be the total number of available regions of the provider. - out Total Integer - - // Retrieved list of regions. - out Items []CloudRegion - - // Cloud provider data needed for the inquiry - in Body CloudProviderData - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model b/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model deleted file mode 100644 index 5a4af590..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to support etcd encryption for AWS based clusters. -struct AwsEtcdEncryption { - // ARN of the KMS to be used for the etcd encryption - KMSKeyARN String -} diff --git a/model/clusters_mgmt/v2alpha1/aws_flavour_type.model b/model/clusters_mgmt/v2alpha1/aws_flavour_type.model deleted file mode 100644 index 52c099c4..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_flavour_type.model +++ /dev/null @@ -1,38 +0,0 @@ -/* -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. -*/ - -// Specification for different classes of nodes inside a flavour. -struct AWSFlavour { - // AWS default instance type for the master volume. - MasterInstanceType String - - // AWS default instance type for the worker volume. - // - // User can be overridden specifying in the cluster itself a type for compute node. - ComputeInstanceType String - - // AWS default instance type for the infra volume. - InfraInstanceType String - - // Master volume specification. - MasterVolume AWSVolume - - // Infra volume specification. - InfraVolume AWSVolume - - // Worker volume specification. - WorkerVolume AWSVolume -} diff --git a/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model b/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model deleted file mode 100644 index acbc0c9e..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Which Ec2MetadataHttpTokens to use for metadata service interaction options for EC2 instances -enum Ec2MetadataHttpTokens { - // imdsv2 is optional - Optional - - // imdsv2 is required - Required -} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model deleted file mode 100644 index e56ad1f7..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 a specific AWS infrastructure access role grant. -resource AWSInfrastructureAccessRoleGrant { - // Retrieves the details of the AWS infrastructure access role grant. - method Get { - out Body AWSInfrastructureAccessRoleGrant - } - - // Deletes the AWS infrastructure access role grant. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model deleted file mode 100644 index f642b17f..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model +++ /dev/null @@ -1,35 +0,0 @@ -/* -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. -*/ - -// State of an AWS infrastructure access role grant. -enum AWSInfrastructureAccessRoleGrantState { - // The access role grant in pending. - Pending - - // Access role has been granted to user. - Ready - - // The attempt to grant access role to user ARN failed. - Failed - - // The access role grant is in the process of being deleted. - Deleting - - // This ia a special state intended for the user know - // that the access role grant has been removed by SRE. - // The user can delete this grant from the DB. - Removed -} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model deleted file mode 100644 index 4b3ad10b..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model +++ /dev/null @@ -1,36 +0,0 @@ -/* -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. -*/ - -// Representation of an AWS infrastructure access role grant. -class AWSInfrastructureAccessRoleGrant { - // Link to AWS infrastructure access role. - // Grant must use a 'valid' role. - link Role AWSInfrastructureAccessRole - - // The user AWS IAM ARN we want to grant the role. - UserARN String - - // State of the grant. - State AWSInfrastructureAccessRoleGrantState - - // Description of the state. - // Will be empty unless state is 'Failed'. - StateDescription String - - // URL to switch to the role in AWS console. - ConsoleURL String -} - diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model deleted file mode 100644 index 72aca424..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model +++ /dev/null @@ -1,78 +0,0 @@ -/* -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 AWS infrastructure access role grants. -resource AWSInfrastructureAccessRoleGrants { - // Retrieves the list of AWS infrastructure access role grants. - 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 an - // SQL statement, but using the names of the attributes of the AWS infrastructure access role grant - // instead of the names of the columns of a table. For example, in order to retrieve - // all the AWS infrastructure access role grants with a user ARN starting with `user` the value should be: - // - // ```sql - // user_arn like '%user' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the AWS - // infrastructure access role grants 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 AWS infrastructure access role grant - // instead of the names of the columns of a table. For example, in order to sort the - // AWS infrastructure access role grants descending by user ARN the value should be: - // - // ```sql - // user_arn 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 AWS infrastructure access role grants. - out Items []AWSInfrastructureAccessRoleGrant - } - - // Create a new AWS infrastructure access role grant and add it to the collection of - // AWS infrastructure access role grants on the cluster. - method Add { - // Description of the AWS infrastructure access role grant. - in out Body AWSInfrastructureAccessRoleGrant - } - - // Returns a reference to the service that manages a specific AWS infrastructure access role grant. - locator AWSInfrastructureAccessRoleGrant { - target AWSInfrastructureAccessRoleGrant - variable ID - } -} - diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model deleted file mode 100644 index 738ded83..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific aws infrastructure access role. -resource AWSInfrastructureAccessRole { - // Retrieves the details of the aws infrastructure access role. - method Get { - out Body AWSInfrastructureAccessRole - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model deleted file mode 100644 index e36342db..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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. -*/ - -// State of an AWS infrastructure access role. -enum AWSInfrastructureAccessRoleState { - - // Access role is valid an can be used. - // Only valid roles can be used in a role grant. - Valid - - // Role definition is invalid. Role can't be used. - Invalid - - // This is a special state intended for the user know - // that the access role has been removed by SRE, - // but there are still grants referencing it. - // Role can't be used in a new grant. - Removed -} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model deleted file mode 100644 index e1e12ae2..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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. -*/ - -// A set of acces permissions for AWS resources -class AWSInfrastructureAccessRole { - // Human friendly identifier of the role, for example `Read only`. - DisplayName String - - // Description of the role. - Description String - - // State of the role. - State AWSInfrastructureAccessRoleState - -} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model deleted file mode 100644 index eb16a1a1..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model +++ /dev/null @@ -1,69 +0,0 @@ -/* -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 aws infrastructure access roles. -resource AWSInfrastructureAccessRoles { - 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 an - // SQL statement, but using the names of the attributes of the role instead of - // the names of the columns of a table. For example, in order to retrieve all the - // role with a name starting with `my`the value should be: - // - // ```sql - // display_name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the roles - // 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 role instead of - // the names of the columns of a table. For example, in order to sort the roles - // descending by dislay_name the value should be: - // - // ```sql - // display_name 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 roles. - out Items []AWSInfrastructureAccessRole - } - - // Reference to the resource that manages a specific role. - locator AWSInfrastructureAccessRole { - target AWSInfrastructureAccessRole - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model deleted file mode 100644 index c07ae240..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model +++ /dev/null @@ -1,58 +0,0 @@ -/* -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 aws inquiries. -resource AWSInquiries { - // Reference to the resource that manages a collection of vpcs. - locator Vpcs { - target VpcsInquiry - } - - // Reference to the resource that manages a collection of regions. - locator Regions { - target AvailableRegionsInquiry - } - - // Reference to the resource that manages aws sts policies. - locator STSPolicies { - target AWSSTSPoliciesInquiry - } - - // Reference to the resource that manages sts cred request. - locator STSCredentialRequests { - target STSCredentialRequestsInquiry - } - - // Reference to the resource that manages aws machine types by regions. - locator MachineTypes { - target AWSRegionMachineTypesInquiry - } - - // Reference to the resource that manages aws sts roles. - locator STSAccountRoles { - target AWSSTSAccountRolesInquiry - } - - // Reference to the resource that manages creds validation. - locator ValidateCredentials { - target AwsValidateCredentials - } - - // Reference to the resource that manages OIDC Config Thumbprint fetching. - locator OidcThumbprint { - target OidcThumbprint - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model b/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model deleted file mode 100644 index a370b002..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model +++ /dev/null @@ -1,40 +0,0 @@ -/* -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. -*/ - -// Representation of aws machine pool specific parameters. -class AWSMachinePool { - // Use spot instances on this machine pool to reduce cost. - SpotMarketOptions AWSSpotMarketOptions - - // Additional AWS Security Groups to be added machine pool. Note that machine pools can only be worker node at the time. - AdditionalSecurityGroupIds []String - - // Associates nodepool subnets with AWS Outposts. - SubnetOutposts [String]String - - // Associates nodepool availability zones with zone types (e.g. wavelength, local). - AvailabilityZoneTypes [String]String - - // Optional keys and values that the machine pool provisioner will add as AWS tags to all AWS resources it creates. - // - // AWS tags must conform to the following standards: - // - Each resource may have a maximum of 25 tags - // - Tags beginning with "aws:" are reserved for system use and may not be set - // - Tag keys may be between 1 and 128 characters in length - // - Tag values may be between 0 and 256 characters in length - // - Tags may only contain letters, numbers, spaces, and the following characters: [_ . : / = + - @] - Tags [String]String -} diff --git a/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model b/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model deleted file mode 100644 index 306a46f0..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model +++ /dev/null @@ -1,50 +0,0 @@ -/* -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. -*/ - -// Representation of aws node pool specific parameters. -class AWSNodePool { - // InstanceType is an ec2 instance type for node instances (e.g. m5.large). - InstanceType String - - // InstanceProfile is the AWS EC2 instance profile, which is a container for an IAM role that the EC2 instance uses. - InstanceProfile String - - // Optional keys and values that the installer will add as tags to all AWS resources it creates. - // - // AWS tags must conform to the following standards: - // - Each resource may have a maximum of 25 tags - // - Tags beginning with "aws:" are reserved for system use and may not be set - // - Tag keys may be between 1 and 128 characters in length - // - Tag values may be between 0 and 256 characters in length - // - Tags may only contain letters, numbers, spaces, and the following characters: [_ . : / = + - @] - Tags [String]String - - // Associates nodepool subnets with AWS Outposts. - SubnetOutposts [String]String - - // Associates nodepool availability zones with zone types (e.g. wavelength, local). - AvailabilityZoneTypes [String]String - - // Additional AWS Security Groups to be added node pool. - AdditionalSecurityGroupIds []String - - // Which Ec2MetadataHttpTokens to use for metadata service interaction options for EC2 instances - @json(name = "ec2_metadata_http_tokens") - Ec2MetadataHttpTokens Ec2MetadataHttpTokens - - // AWS Volume specification to be used to set custom worker disk size - RootVolume AWSVolume -} diff --git a/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model b/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model deleted file mode 100644 index 0dc97ba6..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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 machine types in region inquiry. -resource AWSRegionMachineTypesInquiry { - // Retrieves the list of machine types in the provided region. - method Search { - // 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 - - // 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 machine types. - out Items []MachineType - - // Cloud provider data needed for the inquiry - in Body CloudProviderData - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_resource.model b/model/clusters_mgmt/v2alpha1/aws_resource.model deleted file mode 100644 index c1ba7ead..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_resource.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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 AWS specific parts for a specific cluster. -resource AWS { - locator PrivateLinkConfiguration { - target PrivateLinkConfiguration - } - - locator RolePolicyBindings { - target RolePolicyBindings - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_security_group_type.model b/model/clusters_mgmt/v2alpha1/aws_security_group_type.model deleted file mode 100644 index f14d31b4..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_security_group_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// AWS security group object -struct SecurityGroup { - // The security group ID. - ID String - - // Name of the security group according to its `Name` tag on AWS. - Name String - - // If the resource is RH managed. - RedHatManaged Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model b/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model deleted file mode 100644 index 0c9d7d13..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Spot market options for AWS machine pool. -class AWSSpotMarketOptions { - // The max price for spot instance. Optional. - // If not set, use the on-demand price. - MaxPrice Float -} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model deleted file mode 100644 index 37f0082f..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Representation of an sts account role for a rosa cluster -struct AWSSTSAccountRole { - - //The Prefix for this Account Role - Prefix String - - //The list of STS Roles for this Account Role - Items []AWSSTSRole -} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model deleted file mode 100644 index 47a29e2e..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model +++ /dev/null @@ -1,50 +0,0 @@ -/* -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 STS Roles -resource AWSSTSAccountRolesInquiry { - // Retrieves the list of STS Account Roles in the specified AWS Account. - // IMPORTANT: This collection doesn't currently support paging or searching, so the returned - // `page` will always be 1 and `size` and `total` will always be the total number of available account roles - // in the AWS Account - - method Search { - - // AWS Account Details required for the inquiry - in Body AWS - - // Index of the returned page, where one corresponds to the first page. As this - // collection doesn't support paging the result will always be `1`. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. As this collection - // doesn't support paging or searching the result will always be the total number of - // be the total number of STS account roles. - in out Size Integer = 100 - - // Total number of items of the collection that match the search criteria, - // regardless of the size of the page. As this collection doesn't support paging or - // searching the result will always be the total number of STS account roles - out Total Integer - - // The AWS Account Id for the STS Account Roles - @json(name = "aws_acccount_id") - out AwsAccountId String - - // Retrieved list of STS Account Roles - out Items []AWSSTSAccountRole - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model deleted file mode 100644 index d71f041d..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model +++ /dev/null @@ -1,65 +0,0 @@ -/* -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 STS policies -resource AWSSTSPoliciesInquiry { - // Retrieves the list of policies. - 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 awsstspolicies instead of - // the names of the columns of a table. For example, in order to retrieve all the - // policies of type `operatorrole` - // should be: - // - // ```sql - // policy_type like 'OperatorRole%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the - // policies 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 awsstspolicies instead of - // the names of the columns of a table. For example, in order to sort the policies - // descending by operator type identifier the value should be: - // - // ```sql - // orderBy 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 policies. - out Items []AWSSTSPolicy - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model deleted file mode 100644 index 51da1bf5..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model +++ /dev/null @@ -1,31 +0,0 @@ -/* -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. -*/ - -// Representation of an sts policies for rosa cluster -struct AWSSTSPolicy { - - //Policy ID - ID String - - //Policy Details - Details String - - //Type of policy operator/account role - Type String - - //The ARN of the managed policy - ARN String -} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model deleted file mode 100644 index cde50efc..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model +++ /dev/null @@ -1,43 +0,0 @@ -/* -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. -*/ - -// Representation of an sts role for a rosa cluster -struct AWSSTSRole { - - //The AWS ARN for this Role - @json(name = "arn") - RoleARN String - - //The type of this Role - @json(name = "type") - RoleType String - - //Does this role have Admin permission? - @json(name = "isAdmin") - IsAdmin Boolean - - //The Openshift Version for this Role - @json(name = "roleVersion") - RoleVersion String - - //Does this Role have Managed Policies? - @json(name = "managedPolicies") - ManagedPolicies Boolean - - //Does this Role have HCP Managed Policies? - @json(name = "hcpManagedPolicies") - HcpManagedPolicies Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model b/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model deleted file mode 100644 index 9a6aa69e..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model +++ /dev/null @@ -1,36 +0,0 @@ -/* -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. -*/ - -// AWS subnetwork object to be used while installing a cluster -struct Subnetwork { - // The subnet ID to be used while installing a cluster. - SubnetID String - - // Name of the subnet according to its `Name` tag on AWS. - Name String - - // Whether or not it is a public subnet. - Public Boolean - - // The availability zone to which the subnet is related. - AvailabilityZone String - - // The CIDR Block of the subnet. - CIDRBlock String - - // If the resource is RH managed. - RedHatManaged Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/aws_type.model b/model/clusters_mgmt/v2alpha1/aws_type.model deleted file mode 100644 index 6b80ca13..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_type.model +++ /dev/null @@ -1,76 +0,0 @@ -/* -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. -*/ - -// _Amazon Web Services_ specific settings of a cluster. -struct AWS { - // AWS account identifier. - AccountID String - - // AWS access key identifier. - AccessKeyID String - - // AWS secret access key. - SecretAccessKey String - - // The subnet ids to be used when installing the cluster. - SubnetIDs []String - - // Sets cluster to be inaccessible externally. - PrivateLink Boolean - - // Manages additional configuration for Private Links. - PrivateLinkConfiguration PrivateLinkClusterConfiguration - - // Optional keys and values that the installer will add as tags to all AWS resources it creates - Tags [String]String - - // Contains the necessary attributes to support role-based authentication on AWS. - STS STS - - // Customer Managed Key to encrypt EBS Volume - KMSKeyArn String - - // Related etcd encryption configuration - EtcdEncryption AwsEtcdEncryption - - // BillingAccountID is the account used for billing subscriptions purchased via the marketplace - BillingAccountID String - - // Audit log forwarding configuration - AuditLog AuditLog - - // Which Ec2MetadataHttpTokens to use for metadata service interaction options for EC2 instances - @json(name = "ec2_metadata_http_tokens") - Ec2MetadataHttpTokens Ec2MetadataHttpTokens - - // ID of private hosted zone. - PrivateHostedZoneID String - - // Role ARN for private hosted zone. - PrivateHostedZoneRoleARN String - - // Additional AWS Security Groups to be added to default worker (compute) machine pool. - AdditionalComputeSecurityGroupIds []String - - // Additional AWS Security Groups to be added to default infra machine pool. - AdditionalInfraSecurityGroupIds []String - - // Additional AWS Security Groups to be added to default control plane machine pool. - AdditionalControlPlaneSecurityGroupIds []String - - // Additional allowed principal ARNs to be added to the hosted control plane's VPC Endpoint Service. - AdditionalAllowedPrincipals []String -} diff --git a/model/clusters_mgmt/v2alpha1/aws_validate_credentials_resource.model b/model/clusters_mgmt/v2alpha1/aws_validate_credentials_resource.model deleted file mode 100644 index ea15ca7b..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_validate_credentials_resource.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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 aws creds validation -resource AwsValidateCredentials { - // Manages aws creds validation. - method Post { - // Cloud provider data needed for the inquiry. - in out Body CloudProviderData - } -} diff --git a/model/clusters_mgmt/v2alpha1/aws_volume_type.model b/model/clusters_mgmt/v2alpha1/aws_volume_type.model deleted file mode 100644 index afe8063d..00000000 --- a/model/clusters_mgmt/v2alpha1/aws_volume_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Holds settings for an AWS storage volume. -struct AWSVolume { - // Volume provisioned IOPS. - IOPS Integer - - // Volume size in Gib. - Size Integer -} diff --git a/model/clusters_mgmt/v2alpha1/azure_node_pool_type.model b/model/clusters_mgmt/v2alpha1/azure_node_pool_type.model deleted file mode 100644 index 4e3ee469..00000000 --- a/model/clusters_mgmt/v2alpha1/azure_node_pool_type.model +++ /dev/null @@ -1,58 +0,0 @@ -/* -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. -*/ - -// Representation of azure node pool specific parameters. -struct AzureNodePool { - // ResourceName is the Azure Resource Name of the NodePool. - // ResourceName must be within the Azure Resource Group Name of the parent - // Cluster it belongs to. - // ResourceName must be located in the same Azure Location as the parent - // Cluster it belongs to. - // ResourceName must be located in the same Azure Subscription as the parent - // Cluster it belongs to. - // ResourceName must belong to the same Microsoft Entra Tenant ID as the parent - // Cluster it belongs to. - // Required during creation. - // Immutable. - ResourceName String - - // The Azure Virtual Machine size identifier used for the - // Nodes of the Node Pool. - // Availability of VM sizes are dependent on the Azure Location - // of the parent Cluster. - // Required during creation. - VMSize String - - // The size in GiB to assign to the OS disks of the - // Nodes in the Node Pool. The property - // is the number of bytes x 1024^3. - // If not specified, OS disk size is 30 GiB. - OSDiskSizeGibibytes Integer - - // The disk storage account type to use for the OS disks of the Nodes in the - // Node Pool. Valid values are: - // * Standard_LRS: HDD - // * StandardSSD_LRS: Standard SSD - // * Premium_LRS: Premium SDD - // * UltraSSD_LRS: Ultra SDD - // - // If not specified, `Premium_LRS` is used. - OSDiskStorageAccountType String - - // Enables Ephemeral OS Disks for the Nodes in the Node Pool. - // If not specified, no Ephemeral OS Disks are used. - EphemeralOSDiskEnabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/azure_type.model b/model/clusters_mgmt/v2alpha1/azure_type.model deleted file mode 100644 index 4b0ba8c9..00000000 --- a/model/clusters_mgmt/v2alpha1/azure_type.model +++ /dev/null @@ -1,84 +0,0 @@ -/* -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. -*/ - -// Microsoft Azure settings of a cluster. -struct Azure { - // [Required] The Azure Subscription ID associated with the cluster. It must belong to - // the Microsoft Entra Tenant ID `tenant_id`. - SubscriptionID String - - // [Required] The Azure Resource Group Name of the cluster. It must be within `subscription_id` - // of the cluster. `resource_group_name` is located in the same Azure location - // as the cluster's region. - ResourceGroupName String - - // [Required] The Azure Resource Name of the cluster. It must be within the - // Azure Resource Group Name `resource_group_name`. - // `resource_name` is located in the same Azure location as the cluster's region. - ResourceName String - - // [Required] The Microsoft Entra Tenant ID where the cluster belongs. - TenantID String - - // [Required] The name of the Azure Resource Group where the Azure Resources related - // to the cluster are created. The Azure Resource Group is created with the given - // value, within the Azure Subscription `subscription_id` of the cluster. - // `managed_resource_group_name` cannot be equal to the value of `managed_resource_group`. - // `managed_resource_group_name` is located in the same Azure location as the - // cluster's region. - // Not to be confused with `resource_group_name`, which is the Azure Resource Group Name - // where the own Azure Resource associated to the cluster resides. - ManagedResourceGroupName String - - // [Required] The Azure Resource ID of a pre-existing Azure - // Subnet. It is an Azure Subnet used for the Data Plane of the cluster. - // `subnet_resource_id` must be located in the same Azure location as the - // cluster's region. - // The Azure Subscription specified as part of the `subnet_resource_id` - // must be located in the same Azure Subscription as `subscription_id`. - // The Azure Resource Group Name specified as part of `subnet_resource_id` - // must belong to the Azure Subscription `subscription_id`, and in the same - // Azure location as the cluster's region. - // The Azure Resource Group Name specified as part of `subnet_resource_id` - // must be a different Resource Group Name than the one specified in - // `managed_resource_group_name`. - // The Azure Resource Group Name specified as part of the `subnet_resource_id` - // can be the same, or a different one than the one specified in - // `resource_group_name`. - SubnetResourceID String - - // [Required] The Azure Resource ID of a pre-existing - // Azure Network Security Group. - // The Network Security Group specified in network_security_group_resource_id - // must already be associated to the Azure Subnet `subnet_resource_id`. - // It is the Azure Network Security Group associated to the cluster's subnet - // specified in `subnet_resource_id`. - // `network_security_group_resource_id` must be located in the same Azure - // location as the cluster's region. - // The Azure Subscription specified as part of - // `network_security_group_resource_id` must be located in the same Azure - // Subscription as `subscription_id`. - // The Azure Resource Group Name specified as part of `network_security_group_resource_id` - // must belong to the Azure Subscription `subscription_id`, and in the same - // Azure location as the cluster's region. - // The Azure Resource Group Name specified as part of `network_security_group_resource_id` - // must be a different Resource Group Name than the one specified in - // `managed_resource_group_name`. - // The Azure Resource Group Name specified as part of `network_security_group_resource_id` - // can be the same, or a different one than the one specified in - // `resource_group_name`. - NetworkSecurityGroupResourceID String -} diff --git a/model/clusters_mgmt/v2alpha1/billing_model_item_type.model b/model/clusters_mgmt/v2alpha1/billing_model_item_type.model deleted file mode 100644 index d5324901..00000000 --- a/model/clusters_mgmt/v2alpha1/billing_model_item_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// BillingModelItem represents a billing model -class BillingModelItem { - // BillingModelType is the type of the BillingModel. e.g. standard, marketplace. - BillingModelType String - - // Indicates the marketplace of the billing model. e.g. gcp, aws, etc. - Marketplace String - - // User friendly display name of the billing model. - DisplayName String - - // Single line description of the billing model. - Description String -} diff --git a/model/clusters_mgmt/v2alpha1/billing_model_type.model b/model/clusters_mgmt/v2alpha1/billing_model_type.model deleted file mode 100644 index 4e8110e5..00000000 --- a/model/clusters_mgmt/v2alpha1/billing_model_type.model +++ /dev/null @@ -1,40 +0,0 @@ -/* -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. -*/ - -// Billing model for cluster resources. -enum BillingModel { - // Standard. This is the default billing model - Standard - - // BillingModel Marketplace Legacy Marketplace billing model. Currently only used for tests. Use cloud-provider specific billing models instead. - Marketplace - - // AWS Marketplace billing model. - @json(name = "marketplace-aws") - MarketplaceAWS - - // Azure Marketplace billing model. - @json(name = "marketplace-azure") - MarketplaceAzure - - // RH Marketplace billing model. - @json(name = "marketplace-rhm") - MarketplaceRHM - - // GCP Marketplace billing model. - @json(name = "marketplace-gcp") - MarketplaceGCP -} diff --git a/model/clusters_mgmt/v2alpha1/break_glass_credential_resource.model b/model/clusters_mgmt/v2alpha1/break_glass_credential_resource.model deleted file mode 100644 index aeab3200..00000000 --- a/model/clusters_mgmt/v2alpha1/break_glass_credential_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific break glass credential. -resource BreakGlassCredential { - // Retrieves the details of the break glass credential. - method Get { - out Body BreakGlassCredential - } -} diff --git a/model/clusters_mgmt/v2alpha1/break_glass_credential_type.model b/model/clusters_mgmt/v2alpha1/break_glass_credential_type.model deleted file mode 100644 index c9207dfb..00000000 --- a/model/clusters_mgmt/v2alpha1/break_glass_credential_type.model +++ /dev/null @@ -1,43 +0,0 @@ -/* -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. -*/ - -// Representation of a break glass credential. -class BreakGlassCredential { - // Username is the user which will be used for this credential. - Username String - - // ExpirationTimestamp is the date and time when the credential will expire. - ExpirationTimestamp Date - - // RevocationTimestamp is the date and time when the credential has been revoked. - RevocationTimestamp Date - - // Status is the status of this credential - Status BreakGlassCredentialStatus - - // Kubeconfig is the generated kubeconfig for this credential. It is only stored in memory - Kubeconfig String -} - -// Status of the break glass credential. -enum BreakGlassCredentialStatus { - Created - Issued - Expired - AwaitingRevocation - Revoked - Failed -} diff --git a/model/clusters_mgmt/v2alpha1/break_glass_credentials_resource.model b/model/clusters_mgmt/v2alpha1/break_glass_credentials_resource.model deleted file mode 100644 index 3bb73e8d..00000000 --- a/model/clusters_mgmt/v2alpha1/break_glass_credentials_resource.model +++ /dev/null @@ -1,79 +0,0 @@ -/* -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 break glass credentials of a cluster. -resource BreakGlassCredentials { - // Retrieves the list of break glass credentials. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items 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 break glass credentials - // instead of the names of the columns of a table. For example, in order to retrieve all - // the credentials with a specific username and status the following is required: - // - // ```sql - // username='user1' AND status='expired' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the - // break glass credentials 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 break glass credentials - // instead of the the names of the columns of a table. For example, in order to sort the - // credentials descending by identifier the value should be: - // - // ```sql - // 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. - out Total Integer - - // Retrieved list of break glass credentials. - out Items []BreakGlassCredential - } - - // Adds a new break glass credential to the cluster. - method Add { - // Description of the break glass credential. - in out Body BreakGlassCredential - } - - // Revokes all the break glass certificates signed by a specific signer. - method Delete { - } - - // Reference to the service that manages a specific break glass credential. - locator BreakGlassCredential { - target BreakGlassCredential - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/byo_oidc_type.model b/model/clusters_mgmt/v2alpha1/byo_oidc_type.model deleted file mode 100644 index 6a085419..00000000 --- a/model/clusters_mgmt/v2alpha1/byo_oidc_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// ByoOidc configuration. -struct ByoOidc { - // Boolean flag indicating if the cluster should be creating using _ByoOidc_. - // - // By default this is `false`. - // - // To enable it the cluster needs to be ROSA cluster and the organization of the user needs - // to have the `byo-oidc` feature toggle enabled. - Enabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/ccs_type.model b/model/clusters_mgmt/v2alpha1/ccs_type.model deleted file mode 100644 index 7da8a7f9..00000000 --- a/model/clusters_mgmt/v2alpha1/ccs_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -class CCS { - // Indicates if Customer Cloud Subscription is enabled on the cluster. - Enabled Boolean - - // Indicates if cloud permissions checks are disabled, - // when attempting installation of the cluster. - DisableSCPChecks Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model b/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model deleted file mode 100644 index 673d2d71..00000000 --- a/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 collection of cloud provider regions available to a particular cloud provider account -resource AvailableRegions { - // Retrieves the list of available regions of the cloud provider. - // - // IMPORTANT: This collection doesn't currently support paging or searching, so the returned - // `page` will always be 1 and `size` and `total` will always be the total number of available regions - // of the provider. - method Search { - // Index of the returned page, where one corresponds to the first page. As this - // collection doesn't support paging the result will always be `1`. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. As this collection - // doesn't support paging or searching the result will always be the total number of - // regions of the provider. - in out Size Integer = 100 - - // Total number of items of the collection that match the search criteria, - // regardless of the size of the page. As this collection doesn't support paging or - // searching the result will always be the total number of available regions of the provider. - out Total Integer - - // AWS account details - in Body AWS - - // Retrieved list of cloud regions. - out Items []CloudRegion - } -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model b/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model deleted file mode 100644 index 515ab107..00000000 --- a/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model +++ /dev/null @@ -1,35 +0,0 @@ -/* -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 a specific cloud provider. -resource CloudProvider { - // Retrieves the details of the cloud provider. - method Get { - out Body CloudProvider - } - - // Reference to the resource that manages the collection of regions for - // this cloud provider. - locator Regions { - target CloudRegions - } - - // Reference to the resource that manages the collection of available regions for - // this cloud provider. - locator AvailableRegions { - target AvailableRegions - } -} diff --git a/model/clusters_mgmt/v2alpha1/cloud_provider_type.model b/model/clusters_mgmt/v2alpha1/cloud_provider_type.model deleted file mode 100644 index e6c91058..00000000 --- a/model/clusters_mgmt/v2alpha1/cloud_provider_type.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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. -*/ - -// Cloud provider. -class CloudProvider { - // Human friendly identifier of the cloud provider, for example `aws`. - Name String - - // Name of the cloud provider for display purposes. It can contain any characters, - // including spaces. - DisplayName String - - // (optional) Provider's regions - only included when listing providers with `fetchRegions=true`. - Regions []CloudRegion -} diff --git a/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model b/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model deleted file mode 100644 index d6622cdd..00000000 --- a/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model +++ /dev/null @@ -1,74 +0,0 @@ -/* -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 cloud providers. -resource CloudProviders { - // Retrieves the list of cloud providers. - 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 cloud provider - // instead of the names of the columns of a table. For example, in order to retrieve - // all the cloud providers with a name starting with `A` the value should be: - // - // ```sql - // name like 'A%' - // ``` - // - // 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 cloud provider - // instead of the names of the columns of a table. For example, in order to sort the - // clusters descending by name identifier the value should be: - // - // ```sql - // name desc - // ``` - // - // If the parameter isn't provided, or if the value is empty, then the order of the - // results is undefined. - in Order String - - // If true, includes the regions on each provider in the output. Could slow request response time. - @http(name = "fetchRegions") - in FetchRegions Boolean - - // 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 cloud providers. - out Items []CloudProvider - } - - // Returns a reference to the service that manages an specific cloud provider. - locator CloudProvider { - target CloudProvider - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/cloud_region_resource.model b/model/clusters_mgmt/v2alpha1/cloud_region_resource.model deleted file mode 100644 index 682d98f2..00000000 --- a/model/clusters_mgmt/v2alpha1/cloud_region_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific cloud region. -resource CloudRegion { - // Retrieves the details of the region. - method Get { - out Body CloudRegion - } - - // Updates the region. - method Update { - in out Body CloudRegion - } - - // Deletes the region. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/cloud_region_type.model b/model/clusters_mgmt/v2alpha1/cloud_region_type.model deleted file mode 100644 index aee1ab67..00000000 --- a/model/clusters_mgmt/v2alpha1/cloud_region_type.model +++ /dev/null @@ -1,55 +0,0 @@ -/* -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. -*/ - -// Description of a region of a cloud provider. -class CloudRegion { - // Human friendly identifier of the region, for example `us-east-1`. - // - // NOTE: Currently for all cloud providers and all regions `id` and `name` have exactly - // the same values. - Name String - - // Name of the region for display purposes, for example `N. Virginia`. - DisplayName String - - // Link to the cloud provider that the region belongs to. - link CloudProvider CloudProvider - - // Whether the region is enabled for deploying a managed cluster. - Enabled Boolean - - // Whether the region supports multiple availability zones. - SupportsMultiAZ Boolean - - // 'true' if the region is supported only for CCS clusters, 'false' otherwise. - CCSOnly Boolean - - // 'true' if the region is supported for Hypershift deployments, 'false' otherwise. - SupportsHypershift Boolean - - // Whether the region is an AWS GovCloud region. - @json(name = "govcloud") - GovCloud Boolean - - // (GCP only) Comma-separated list of KMS location IDs that can be used with this region. - // E.g. "global,nam4,us". Order is not guaranteed. - KMSLocationID String - - // (GCP only) Comma-separated list of display names corresponding to KMSLocationID. - // E.g. "Global,nam4 (Iowa, South Carolina, and Oklahoma),US". Order is not guaranteed but will match KMSLocationID. - // Unfortunately, this API doesn't allow robust splitting - Contact ocm-feedback@redhat.com if you want to rely on this. - KMSLocationName String -} diff --git a/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model b/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model deleted file mode 100644 index 909fcedb..00000000 --- a/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model +++ /dev/null @@ -1,53 +0,0 @@ -/* -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 regions of a cloud provider. -resource CloudRegions { - // Retrieves the list of regions of the cloud provider. - // - // IMPORTANT: This collection doesn't currently support paging or searching, so the returned - // `page` will always be 1 and `size` and `total` will always be the total number of regions - // of the provider. - method List { - // Index of the returned page, where one corresponds to the first page. As this - // collection doesn't support paging the result will always be `1`. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. As this collection - // doesn't support paging or searching the result will always be the total number of - // regions of the provider. - in out Size Integer = 100 - - // Total number of items of the collection that match the search criteria, - // regardless of the size of the page. As this collection doesn't support paging or - // searching the result will always be the total number of regions of the provider. - out Total Integer - - // Retrieved list of cloud providers. - out Items []CloudRegion - } - - // Reference to the service that manages an specific region. - locator Region { - target CloudRegion - variable ID - } - - // Adds a cloud region to the database. - method Add { - in out Body CloudRegion - } -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_api_type.model b/model/clusters_mgmt/v2alpha1/cluster_api_type.model deleted file mode 100644 index f68acfe4..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_api_type.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -// Information about the API of a cluster. -struct ClusterAPI { - // The URL of the API server of the cluster. - URL String - // The listening method of the API server. - Listening ListeningMethod -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model b/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model deleted file mode 100644 index 655e7d0c..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model +++ /dev/null @@ -1,57 +0,0 @@ -/* -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. -*/ - -// Cluster-wide autoscaling configuration. -class ClusterAutoscaler { - // BalanceSimilarNodeGroups enables/disables the - // `--balance-similar-node-groups` cluster-autoscaler feature. - // This feature will automatically identify node groups with - // the same instance type and the same set of labels and try - // to keep the respective sizes of those node groups balanced. - BalanceSimilarNodeGroups Boolean - - // Enables/Disables `--skip-nodes-with-local-storage` CA feature flag. If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. true by default at autoscaler. - SkipNodesWithLocalStorage Boolean - - // Sets the autoscaler log level. - // Default value is 1, level 4 is recommended for DEBUGGING and level 6 will enable almost everything. - LogVerbosity Integer - - // Gives pods graceful termination time before scaling down. - MaxPodGracePeriod Integer - - // To allow users to schedule "best-effort" pods, which shouldn't trigger - // Cluster Autoscaler actions, but only run when there are spare resources available, - // More info: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption. - PodPriorityThreshold Integer - - // Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. false by default. - IgnoreDaemonsetsUtilization Boolean - - // Maximum time CA waits for node to be provisioned. - MaxNodeProvisionTime String - - // This option specifies labels that cluster autoscaler should ignore when considering node group similarity. - // For example, if you have nodes with "topology.ebs.csi.aws.com/zone" label, you can add name of this label here - // to prevent cluster autoscaler from splitting nodes into different node groups based on its value. - BalancingIgnoredLabels []String - - // Constraints of autoscaling resources. - ResourceLimits AutoscalerResourceLimits - - // Configuration of scale down operation. - ScaleDown AutoscalerScaleDownConfig -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model b/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model deleted file mode 100644 index 265e7a5c..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Configuration mode of a cluster. -enum ClusterConfigurationMode { - // Full configuration (default). - Full - - // Only read configuration operations are supported. - // The cluster can't be deleted, reshaped, configure IDPs, add/remove users, etc. - ReadOnly -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_console_type.model b/model/clusters_mgmt/v2alpha1/cluster_console_type.model deleted file mode 100644 index 21045e20..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_console_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Information about the console of a cluster. -struct ClusterConsole { - // The URL of the console of the cluster. - URL String -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model b/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model deleted file mode 100644 index a6d29230..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Credentials of the a cluster. -class ClusterCredentials { - // Administrator _kubeconfig_ file for the cluster. - Kubeconfig String - -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model b/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model deleted file mode 100644 index 82ff80d1..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Representation of a clusterdeployment. -class ClusterDeployment { - // Content of the clusterdeployment. - Content Interface -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model deleted file mode 100644 index 99439115..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// ClusterHealthState indicates the health of a cluster. -enum ClusterHealthState { - // Cluster is Ready and healthy. - Healthy - - // Cluster is Ready and unhealthy. - Unhealthy - - // Cluster health is unknown. - Unknown -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_link_type.model b/model/clusters_mgmt/v2alpha1/cluster_link_type.model deleted file mode 100644 index 9bb3ec7c..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_link_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Definition of a cluster link. -struct ClusterLink { - // The cluster's ID. - ID String - - // HREF for the cluster, filled in response. - HREF String -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model b/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model deleted file mode 100644 index 29c978c6..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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 volume capabilities. -struct RootVolume { - // AWS volume specification - AWS AWSVolume - - // GCP Volume specification - GCP GCPVolume -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model b/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model deleted file mode 100644 index 1e955e03..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model +++ /dev/null @@ -1,56 +0,0 @@ -/* -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. -*/ - -// Counts of different classes of nodes inside a cluster. -struct ClusterNodes { - // Total number of nodes of the cluster. - Total Integer - - // Number of master nodes of the cluster. - Master Integer - - // Number of infrastructure nodes of the cluster. - Infra Integer - - // Number of compute nodes of the cluster. - // Compute and AutoscaleCompute cannot be used together. - Compute Integer - - // Details for auto-scaling the compute machine pool. - // Compute and AutoscaleCompute cannot be used together. - AutoscaleCompute MachinePoolAutoscaling - - // The compute machine type to use, for example `r5.xlarge`. - ComputeMachineType MachineType - - // The labels set on the "default" compute machine pool. - ComputeLabels [String]String - - // The availability zones upon which the nodes are created. - AvailabilityZones []String - - // List of security groups to be applied to nodes (Optional). - SecurityGroupFilters []MachinePoolSecurityGroupFilter - - // The master machine type to use, for example `r5.xlarge` (Optional). - MasterMachineType MachineType - - // The infra machine type to use, for example `r5.xlarge` (Optional). - InfraMachineType MachineType - - // The compute machine root volume capabilities. - ComputeRootVolume RootVolume -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model b/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model deleted file mode 100644 index 0363f49a..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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. -*/ - -struct ClusterOperatorInfo { - // Time when the sample was obtained, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format. - Time Date - // Name of the operator. - Name String - // Current version of the operator. Empty string if unknown. - Version String - // Operator status. Empty string if unknown. - Condition ClusterOperatorState - // Extra detail on condition, if available. Empty string if unknown. - Reason String -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model b/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model deleted file mode 100644 index 7cdb9c01..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -// Provides detailed information about the operators installed on the cluster. -struct ClusterOperatorsInfo { - Operators []ClusterOperatorInfo -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model deleted file mode 100644 index b49e1ba7..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Provides detailed information about the Metrics of the Cluster -resource ClusterOperatorsMetricQuery { - method Get { - out Body ClusterOperatorsInfo - } -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model deleted file mode 100644 index df7f2bb2..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Overall state of a cluster operator. -enum ClusterOperatorState { - // Operator is working normally. - Available - // Operator is partially working, there is an issue. - Degraded - // Operator is not running or not working. - Failing - // Operator is upgrading to newer version, possibly degraded until upgrade completes. - Upgrading -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_registration_type.model b/model/clusters_mgmt/v2alpha1/cluster_registration_type.model deleted file mode 100644 index f0cf2140..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_registration_type.model +++ /dev/null @@ -1,49 +0,0 @@ -/* -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. -*/ - -// Registration of a new cluster to the service. -// -// For example, to register a cluster that has been provisioned outside -// of this service, send a a request like this: -// -// ```http -// POST /api/clusters_mgmt/v1/register_cluster HTTP/1.1 -// ``` -// -// With a request body like this: -// -// ```json -// { -// "external_id": "d656aecf-11a6-4782-ad86-8f72638449ba", -// "subscription_id": "...", -// "organization_id": "..." -// } -// ``` -struct ClusterRegistration { - // Subscription identifier of the cluster generated by the account - // manager. - SubscriptionID String - - // Organization identifier of the cluster generated by the - // account manager. - OrganizationID String - - // Identifier of the cluster generated by the installer. - ExternalID String - - // Optional Console URL of the cluster. - ConsoleUrl String -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_registry_config_type.model b/model/clusters_mgmt/v2alpha1/cluster_registry_config_type.model deleted file mode 100644 index ae8efe5d..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_registry_config_type.model +++ /dev/null @@ -1,88 +0,0 @@ -/* -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. -*/ - -// ClusterRegistryConfig describes the configuration of registries for the cluster. -// Its format reflects the OpenShift Image Configuration, for which docs are available on -// [docs.openshift.com](https://docs.openshift.com/container-platform/4.16/openshift_images/image-configuration.html) -// ```json -// { -// "registry_config": { -// "registry_sources": { -// "blocked_registries": [ -// "badregistry.io", -// "badregistry8.io" -// ] -// } -// } -// } -// ``` -// -struct ClusterRegistryConfig { - // PlatformAllowlist contains a reference to a RegistryAllowlist which is a list of internal registries - // which needs to be whitelisted for the platform to work. It can be omitted at creation and - // updating and its lifecycle can be managed separately if needed. - PlatformAllowlist RegistryAllowlist - // A map containing the registry hostname as the key, and the PEM-encoded certificate as the value, - // for each additional registry CA to trust. - AdditionalTrustedCa [String]String - // AllowedRegistriesForImport limits the container image registries that normal users may import - // images from. Set this list to the registries that you trust to contain valid Docker - // images and that you want applications to be able to import from. Users with - // permission to create Images or ImageStreamMappings via the API are not affected by - // this policy - typically only administrators or system integrations will have those - // permissions. - AllowedRegistriesForImport []RegistryLocation - // RegistrySources contains configuration that determines how the container runtime - // should treat individual registries when accessing images for builds+pods. (e.g. - // whether or not to allow insecure access). It does not contain configuration for the - // internal cluster registry. - RegistrySources RegistrySources -} - -// RegistrySources contains configuration that determines how the container runtime should treat individual -// registries when accessing images for builds and pods. For instance, whether or not to allow insecure access. -// It does not contain configuration for the internal cluster registry. -struct RegistrySources { - // AllowedRegistries: registries for which image pull and push actions are allowed. - // To specify all subdomains, add the asterisk (*) wildcard character as a prefix to the domain name. - // For example, *.example.com. You can specify an individual repository within a registry. - // For example: reg1.io/myrepo/myapp:latest. All other registries are blocked. - // Mutually exclusive with `BlockedRegistries` - AllowedRegistries []String - // BlockedRegistries: registries for which image pull and push actions are denied. - // To specify all subdomains, add the asterisk (*) wildcard character as a prefix to the domain name. - // For example, *.example.com. You can specify an individual repository within a registry. - // For example: reg1.io/myrepo/myapp:latest. All other registries are allowed. - // Mutually exclusive with `AllowedRegistries` - BlockedRegistries []String - // InsecureRegistries are registries which do not have a valid TLS certificate or only support HTTP connections. - // To specify all subdomains, add the asterisk (*) wildcard character as a prefix to the domain name. - // For example, *.example.com. You can specify an individual repository within a registry. - // For example: reg1.io/myrepo/myapp:latest. - InsecureRegistries []String -} - -// RegistryLocation contains a location of the registry specified by the registry domain -// name. The domain name might include wildcards, like '*' or '??'. -struct RegistryLocation { - // domainName specifies a domain name for the registry - // In case the registry use non-standard (80 or 443) port, the port should be included - // in the domain name as well. - DomainName String - // insecure indicates whether the registry is secure (https) or insecure (http) - // By default (if not specified) the registry is assumed as secure. - Insecure Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_resource.model b/model/clusters_mgmt/v2alpha1/cluster_resource.model deleted file mode 100644 index e304264c..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_resource.model +++ /dev/null @@ -1,216 +0,0 @@ -/* -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 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 { - // If false it will only delete from OCM but not the actual cluster resources. - // false is only allowed for OCP clusters. true by default. - in Deprovision Boolean = true - - // 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 - } - - // Reference to the resource that manages the detailed status of the cluster. - locator Status { - target ClusterStatus - } - - // Reference to the resource that manages the credentials of the cluster. - locator Credentials { - target Credentials - } - - // Reference to the resource that manages the collection of logs of the cluster. - locator Logs { - target Logs - } - - // Reference to the resource that manages the collection of groups. - locator Groups { - target Groups - } - - // Reference to the resource that manages the collection of identity providers. - locator IdentityProviders { - target IdentityProviders - } - - // Reference to the resource that manages the external authentication configuration. - locator ExternalAuthConfig { - target ExternalAuthConfig - } - - // Reference to the resource that manages the external configuration. - locator ExternalConfiguration { - target ExternalConfiguration - } - - // Reference to the resource that manages the break glass credentials. - locator BreakGlassCredentials { - target BreakGlassCredentials - } - - // Reference to the resource that manages the cluster's provision shard. - locator ProvisionShard { - target ProvisionShard - } - - // Reference to the resource that manages the collection of ingress resources. - locator Ingresses { - target Ingresses - } - - // Reference to the resource that manages the collection of inflight checks. - locator InflightChecks { - target InflightChecks - } - - // Reference to the resource that manages the collection of machine pool resources. - locator MachinePools { - target MachinePools - } - - // Reference to the resource that manages the collection of node pool resources. - locator NodePools { - target NodePools - } - - // Initiates cluster hibernation. While hibernating a cluster will not consume any cloud provider infrastructure - // but will be counted for quota. - method Hibernate { - - } - - // Resumes from Hibernation. - method Resume { - - } - - // Reference to the resource that manages metrics queries for the cluster. - locator MetricQueries { - target MetricQueries - } - - // Reference to the resource that manages the collection of add-ons installed on this cluster. - locator Addons { - target AddOnInstallations - } - - // Reference to the resource that manages the collection of the add-on inquiries on this cluster. - locator AddonInquiries { - target AddonInquiries - } - - // Reference to the resource that manages the collection of AWS infrastructure - // access role grants on this cluster. - locator AWSInfrastructureAccessRoleGrants { - target AWSInfrastructureAccessRoleGrants - } - - // Reference to the resource that manages the collection of upgrade policies defined for this cluster. - locator UpgradePolicies { - target UpgradePolicies - } - - // Reference to the resource that manages the collection of upgrade policies defined for control plane for this cluster. - locator ControlPlane { - target ControlPlane - } - - // Reference to the resource that manages the collection of addon upgrade policies defined for this cluster. - locator AddonUpgradePolicies { - target AddonUpgradePolicies - } - - // Reference to the resource that manages the cluster deployment. - locator Clusterdeployment { - target Clusterdeployment - } - - // Reference to cluster resources. - locator Resources { - target Resources - } - - // Reference to cluster limited support reasons. - locator LimitedSupportReasons { - target LimitedSupportReasons - } - - // Reference to cluster's agreed version gate. - locator GateAgreements { - target VersionGateAgreements - } - - locator STSOperatorRoles { - target OperatorIAMRoles - } - - locator Hypershift { - target Hypershift - } - - locator AWS { - target AWS - } - - // Reference to the resource that manages the collection of tuning configs for this cluster. - locator TuningConfigs { - target TuningConfigs - } - - locator KubeletConfigs { - target KubeletConfigs - } - - locator DeleteProtection { - target DeleteProtection - } - - locator StsSupportJumpRole{ - target StsSupportJumpRole - } - - // Reference to the resource that manages the cluster autoscaler. - locator Autoscaler { - target Autoscaler - } - - // Reference to the resource that manages the vpc resource. - locator Vpc { - target Vpc - } - - locator KubeletConfig { - target KubeletConfig - } -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_state_type.model deleted file mode 100644 index 314b9135..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_state_type.model +++ /dev/null @@ -1,51 +0,0 @@ -/* -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. -*/ - -// Overall state of a cluster. -enum ClusterState { - // The cluster is waiting for user action. - Waiting - - // The cluster is validating user input. - Validating - - // The cluster is pending resources before being provisioned. - Pending - - // The cluster is still being installed. - Installing - - // The cluster is ready to use. - Ready - - // The cluster is being uninstalled. - Uninstalling - - // The cluster is moving from 'Ready' state to 'Hibernating'. - PoweringDown - - // The cluster is moving from 'Hibernating' state to 'Ready'. - Resuming - - // The cluster will consume marginal cloud provider infrastructure but will be counted for quota. - Hibernating - - // Error during installation. - Error - - // The state of the cluster is unknown. - Unknown -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_status_resource.model b/model/clusters_mgmt/v2alpha1/cluster_status_resource.model deleted file mode 100644 index e9e3c7c5..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_status_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Provides detailed information about the status of an specific cluster. -resource ClusterStatus { - method Get { - out Body ClusterStatus - } -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_status_type.model b/model/clusters_mgmt/v2alpha1/cluster_status_type.model deleted file mode 100644 index 67f93f8e..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_status_type.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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. -*/ - -// Detailed status of a cluster. -class ClusterStatus { - // The overall state of the cluster. - State ClusterState - - // Detailed description of the cluster status. - Description String - - // DNSReady from Provisioner - DNSReady Boolean - - // OIDCReady from user configuration. - OIDCReady Boolean - - // Provisioning Error Message - ProvisionErrorMessage String - - // Provisioning Error Code - ProvisionErrorCode String - - // Configuration mode - ConfigurationMode ClusterConfigurationMode - - // Limited Support Reason Count - LimitedSupportReasonCount Integer - - // Current Replicas available for a Hosted Cluster - CurrentCompute Integer -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_type.model b/model/clusters_mgmt/v2alpha1/cluster_type.model deleted file mode 100644 index f26d1424..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_type.model +++ /dev/null @@ -1,248 +0,0 @@ -/* -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. -*/ - -// Definition of an _OpenShift_ cluster. -// -// The `cloud_provider` attribute is a reference to the cloud provider. When a -// cluster is retrieved it will be a link to the cloud provider, containing only -// the kind, id and href attributes: -// -// ```json -// { -// "cloud_provider": { -// "kind": "CloudProviderLink", -// "id": "123", -// "href": "/api/clusters_mgmt/v1/cloud_providers/123" -// } -// } -// ``` -// -// When a cluster is created this is optional, and if used it should contain the -// identifier of the cloud provider to use: -// -// ```json -// { -// "cloud_provider": { -// "id": "123", -// } -// } -// ``` -// -// If not included, then the cluster will be created using the default cloud -// provider, which is currently Amazon Web Services. -// -// The region attribute is mandatory when a cluster is created. -// -// The `aws.access_key_id`, `aws.secret_access_key` and `dns.base_domain` -// attributes are mandatory when creation a cluster with your own Amazon Web -// Services account. -class Cluster { - // Name of the cluster. This name is assigned by the user when the - // cluster is created. This is used to uniquely identify the cluster - Name String - - // DomainPrefix of the cluster. This prefix is optionally assigned by the user when the - // cluster is created. It will appear in the Cluster's domain when the cluster is provisioned. - DomainPrefix String - - // InfraID is used for example to name the VPCs. - InfraID String - - // Link to the _flavour_ that was used to create the cluster. - link Flavour Flavour - - // Information about the console of the cluster. - Console ClusterConsole - - // Flag indicating if the cluster should be created with nodes in - // different availability zones or all the nodes in a single one - // randomly selected. - MultiAZ Boolean - - // Information about the nodes of the cluster. - Nodes ClusterNodes - - // Information about the API of the cluster. - API ClusterAPI - - // Link to the cloud provider region where the cluster is installed. - link Region CloudRegion - - // DNS settings of the cluster. - DNS DNS - - // User defined properties for tagging and querying. - Properties [String]String - - // Overall state of the cluster. - State ClusterState - - // Flag indicating if the cluster is managed (by Red Hat) or - // self-managed by the user. - Managed Boolean - - // External identifier of the cluster, generated by the installer. - ExternalID String - - // Amazon Web Services settings of the cluster. - AWS AWS - - // Google cloud platform settings of the cluster. - GCP GCP - - // Microsoft Azure settings of the cluster. - Azure Azure - - // Network settings of the cluster. - Network Network - - // Proxy. - Proxy Proxy - - // Link to an optional _ClusterAutoscaler_ that is coupled with the cluster. - link Autoscaler ClusterAutoscaler - - // Additional trust bundle. - AdditionalTrustBundle String - - // GCP Network. - GCPNetwork GCPNetwork - - // Key used for encryption of GCP cluster nodes. - GCPEncryptionKey GCPEncryptionKey - - // Date and time when the cluster was initially created, using the - // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). - CreationTimestamp Date - - // Date and time when the cluster will be automatically deleted, using the format defined in - // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). If no timestamp is provided, the cluster - // will never expire. - // - // This option is unsupported. - ExpirationTimestamp Date - - // Link to the cloud provider where the cluster is installed. - link CloudProvider CloudProvider - - // Version of _OpenShift_ installed in the cluster, for example `4.0.0-0.2`. - // - // When retrieving a cluster this will always be reported. - // - // When provisioning a cluster this will be ignored, as the version to - // deploy will be determined internally. - OpenshiftVersion String - - // Link to the subscription that comes from the account management service when the cluster - // is registered. - link Subscription Subscription - - // Link to the collection of groups of user of the cluster. - link Groups []Group - - // Link to the version of _OpenShift_ that will be used to install the cluster. - link Version Version - - // Link to the collection of identity providers of the cluster. - link IdentityProviders []IdentityProvider - - // Contains configuration of a Customer Cloud Subscription cluster. - CCS CCS - - // List of add-ons on this cluster. - link Addons []AddOnInstallation - - // List of machine pools on this cluster. - link MachinePools []MachinePool - - // List of node pools on this cluster. - // NodePool is a scalable set of worker nodes attached to a hosted cluster. - link NodePools []NodePool - - // List of ingresses on this cluster. - link Ingresses []Ingress - - // List of AWS infrastructure access role grants on this cluster. - link AWSInfrastructureAccessRoleGrants []AWSInfrastructureAccessRoleGrant - - // List of inflight checks on this cluster. - link InflightChecks []InflightCheck - - // Storage quota to be assigned to the cluster. - StorageQuota Value - - // Load Balancer quota to be assigned to the cluster. - LoadBalancerQuota Integer - - // Link to the product type of this cluster. - link Product Product - - // HealthState indicates the overall health state of the cluster. - HealthState ClusterHealthState - - // ExternalConfiguration shows external configuration on the cluster. - ExternalConfiguration ExternalConfiguration - - // ProvisionShard contains the properties of the provision shard, including AWS and GCP related configurations - ProvisionShard ProvisionShard - - //Status of cluster - Status ClusterStatus - - // Node drain grace period. - NodeDrainGracePeriod Value - - // Create cluster that uses FIPS Validated / Modules in Process cryptographic libraries. - FIPS Boolean - - // Indicates whether that etcd is encrypted or not. - // This is set only during cluster creation. - EtcdEncryption Boolean - - // Billing model for cluster resources. - BillingModel BillingModel - - // Indicates whether the User workload monitoring is enabled or not - // It is enabled by default - DisableUserWorkloadMonitoring Boolean - - // Contains information about Managed Service - ManagedService ManagedService - - // Hypershift configuration. - Hypershift Hypershift - - // Contains information about BYO OIDC. - ByoOidc ByoOidc - - // Delete protection - DeleteProtection DeleteProtection - - // Details for `htpasswd` identity provider. - Htpasswd HTPasswdIdentityProvider - - // Details of cluster-wide KubeletConfig - KubeletConfig KubeletConfig - - // External authentication configuration - ExternalAuthConfig ExternalAuthConfig - - // Indicate whether the cluster is enabled for multi arch workers - MultiArchEnabled Boolean - - // Registry configuration for the cluster - RegistryConfig ClusterRegistryConfig -} diff --git a/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model b/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model deleted file mode 100644 index 18cc0784..00000000 --- a/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Provides detailed information about the status of an specific cluster. -resource Vpc { - method Get { - out Body CloudVPC - } -} diff --git a/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model b/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model deleted file mode 100644 index 6f9f28b8..00000000 --- a/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 a specific clusterdeployment. -resource Clusterdeployment { - // Deletes the clusterdeployment. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/clusters_resource.model b/model/clusters_mgmt/v2alpha1/clusters_resource.model deleted file mode 100644 index 82a30de5..00000000 --- a/model/clusters_mgmt/v2alpha1/clusters_resource.model +++ /dev/null @@ -1,79 +0,0 @@ -/* -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 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 - } -} diff --git a/model/clusters_mgmt/v2alpha1/component_route_kind_type.model b/model/clusters_mgmt/v2alpha1/component_route_kind_type.model deleted file mode 100644 index ae6b99e8..00000000 --- a/model/clusters_mgmt/v2alpha1/component_route_kind_type.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Type of Component Route. -enum ComponentRouteType { - Oauth - Downloads - Console -} diff --git a/model/clusters_mgmt/v2alpha1/component_route_type.model b/model/clusters_mgmt/v2alpha1/component_route_type.model deleted file mode 100644 index 7ff6d025..00000000 --- a/model/clusters_mgmt/v2alpha1/component_route_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of a Component Route. -class ComponentRoute { - // Hostname of the route. - Hostname String - - // TLS Secret reference of the route. - TlsSecretRef String -} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_resource.model deleted file mode 100644 index 3dd19294..00000000 --- a/model/clusters_mgmt/v2alpha1/control_plane_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific upgrade policy. -resource ControlPlane { - // Reference to the state of the upgrade policy. - locator UpgradePolicies { - target ControlPlaneUpgradePolicies - } -} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model deleted file mode 100644 index c04297bd..00000000 --- a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 upgrade policies for the control plane of a cluster. -resource ControlPlaneUpgradePolicies { - // Retrieves the list of upgrade policies for the control plane. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of upgrade policy. - out Items []ControlPlaneUpgradePolicy - } - - // Adds a new upgrade policy to the control plane of the cluster. - method Add { - // Description of the upgrade policy. - in out Body ControlPlaneUpgradePolicy - } - - // Reference to the service that manages an specific upgrade policy for the control plane. - locator ControlPlaneUpgradePolicy { - target ControlPlaneUpgradePolicy - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model deleted file mode 100644 index 506e10a2..00000000 --- a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific upgrade policy for the control plane. -resource ControlPlaneUpgradePolicy { - // Retrieves the details of the upgrade policy for the control plane. - method Get { - out Body ControlPlaneUpgradePolicy - } - - // Update the upgrade policy for the control plane. - method Update { - in out Body ControlPlaneUpgradePolicy - } - - // Deletes the upgrade policy for the control plane. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model deleted file mode 100644 index a9aad56e..00000000 --- a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model +++ /dev/null @@ -1,48 +0,0 @@ -/* -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. -*/ - -// Representation of an upgrade policy that can be set for a cluster. -class ControlPlaneUpgradePolicy { - // Cluster ID this upgrade policy for control plane is defined for. - ClusterID String - - // Schedule cron expression that defines automatic upgrade scheduling. - Schedule String - - // Schedule type of the control plane upgrade. - ScheduleType ScheduleType - - // Upgrade type of the control plane. - UpgradeType UpgradeType - - // Version is the desired upgrade version. - Version String - - // Next time the upgrade should run. - NextRun Date - - // Indicates if minor version upgrades are allowed for automatic upgrades (for manual it's always allowed). - EnableMinorVersionUpgrades Boolean - - // Timestamp for creation of resource. - CreationTimestamp Date - - // Timestamp for last update that happened to resource. - LastUpdateTimestamp Date - - // State of the upgrade policy for the hosted control plane. - State UpgradePolicyState -} diff --git a/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model deleted file mode 100644 index b6bd73f4..00000000 --- a/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -// Total cpu capacity in the cluster by node role and operating system. -resource CPUTotalByNodeRolesOSMetricQuery { - // Retrieves the metrics. - method Get { - out Body CPUTotalsNodeRoleOSMetricNode - } -} diff --git a/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model deleted file mode 100644 index 2a04ca04..00000000 --- a/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model +++ /dev/null @@ -1,29 +0,0 @@ -/* -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. -*/ - -// Representation of information from telemetry about a the CPU capacity by node role and OS. -struct CPUTotalNodeRoleOSMetricNode { - Time Date - - // Representation of the node role for a cluster. - NodeRoles []String - - // The operating system. - OperatingSystem String - - // The total CPU capacity of nodes with this set of roles and operating system. - CPUTotal Float -} diff --git a/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model deleted file mode 100644 index 9aab9e56..00000000 --- a/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - - -// Representation of information from telemetry about the CPU capacity by node -// role and OS of a cluster. -struct CPUTotalsNodeRoleOSMetricNode { - CPUTotals []CPUTotalNodeRoleOSMetricNode -} diff --git a/model/clusters_mgmt/v2alpha1/credential_request_type.model b/model/clusters_mgmt/v2alpha1/credential_request_type.model deleted file mode 100644 index 596ca792..00000000 --- a/model/clusters_mgmt/v2alpha1/credential_request_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to allow each operator to access the necessary AWS resources -struct CredentialRequest { - // Name of the credentials secret used to access cloud resources - Name String - - // Namespace where the credentials secret lives in the cluster - Namespace String - - // Service account name to use when authenticating - ServiceAccount String - - // List of policy permissions needed to access cloud resources - PolicyPermissions []String -} diff --git a/model/clusters_mgmt/v2alpha1/credentials_resource.model b/model/clusters_mgmt/v2alpha1/credentials_resource.model deleted file mode 100644 index 563912f6..00000000 --- a/model/clusters_mgmt/v2alpha1/credentials_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 credentials of a cluster. -resource Credentials { - // Retrieves the details of the credentials of a cluster. - method Get { - out Body ClusterCredentials - } -} diff --git a/model/clusters_mgmt/v2alpha1/delete_protection_resource.model b/model/clusters_mgmt/v2alpha1/delete_protection_resource.model deleted file mode 100644 index f0cbe797..00000000 --- a/model/clusters_mgmt/v2alpha1/delete_protection_resource.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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 delete protection specific parts for a specific cluster. -resource DeleteProtection { - method Get { - out Body DeleteProtection - } - method Update { - in out Body DeleteProtection - } -} diff --git a/model/clusters_mgmt/v2alpha1/delete_protection_type.model b/model/clusters_mgmt/v2alpha1/delete_protection_type.model deleted file mode 100644 index d8967a2a..00000000 --- a/model/clusters_mgmt/v2alpha1/delete_protection_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// DeleteProtection configuration. -struct DeleteProtection { - // Boolean flag indicating if the cluster should be be using _DeleteProtection_. - // - // By default this is `false`. - // - // To enable it a SREP needs to patch the value through OCM API - Enabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/dns_domain_resource.model b/model/clusters_mgmt/v2alpha1/dns_domain_resource.model deleted file mode 100644 index 3a211a5b..00000000 --- a/model/clusters_mgmt/v2alpha1/dns_domain_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 DNS domain. -resource DNSDomain { - // Retrieves the details of the DNS domain. - method Get { - out Body DNSDomain - } - - // Delete the DNS domain. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/dns_domain_type.model b/model/clusters_mgmt/v2alpha1/dns_domain_type.model deleted file mode 100644 index 4b0ba5dd..00000000 --- a/model/clusters_mgmt/v2alpha1/dns_domain_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Contains the properties of a DNS domain. -class DNSDomain { - // Link to the organization that reserved the DNS domain. - link Organization OrganizationLink - - // Link to the cluster that is registered with the DNS domain (optional). - link Cluster ClusterLink - - // Date and time when the DNS domain was reserved. - ReservedAtTimestamp Date - - // Indicates if this dns domain is user defined. - UserDefined Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/dns_domains_resource.model b/model/clusters_mgmt/v2alpha1/dns_domains_resource.model deleted file mode 100644 index f36b6df4..00000000 --- a/model/clusters_mgmt/v2alpha1/dns_domains_resource.model +++ /dev/null @@ -1,59 +0,0 @@ -/* -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 DNS domains. -resource DNSDomains { - 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 dns domain instead of - // the names of the columns of a table. For example, in order to retrieve all the - // dns domains with a ID starting with `02a5` should be: - // - // ```sql - // id like '02a5%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the - // dns domains that the user has permission to see will be returned. - in Search String - - // Total number of items of the collection. - out Total Integer - - // Retrieved a list of DNS domains. - out Items []DNSDomain - } - - // Adds a DNS domain. - method Add { - // Description of the DNS domain. - in out Body DNSDomain - } - - // Reference to the resource that manages a specific DNS doamin. - locator DNSDomain { - target DNSDomain - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/dns_type.model b/model/clusters_mgmt/v2alpha1/dns_type.model deleted file mode 100644 index 991b1b2a..00000000 --- a/model/clusters_mgmt/v2alpha1/dns_type.model +++ /dev/null @@ -1,62 +0,0 @@ -/* -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. -*/ - -// DNS settings of the cluster. -struct DNS { - // Base DNS domain of the cluster. - // - // During the installation of the cluster it is necessary to create multiple DNS records. - // They will be created as sub-domains of this domain. For example, if the domain_prefix of the - // cluster is `mycluster` and the base domain is `example.com` then the following DNS - // records will be created: - // - // ``` - // mycluster-api.example.com - // mycluster-etcd-0.example.com - // mycluster-etcd-1.example.com - // mycluster-etcd-3.example.com - // ``` - // - // The exact number, type and names of the created DNS record depends on the characteristics - // of the cluster, and may be different for different versions of _OpenShift_. Please don't - // rely on them. For example, to find what is the URL of the Kubernetes API server of the - // cluster don't assume that it will be `mycluster-api.example.com`. Instead of that use - // this API to retrieve the description of the cluster, and get it from the `api.url` - // attribute. For example, if the identifier of the cluster is `123` send a request like - // this: - // - // ```http - // GET /api/clusters_mgmt/v1/clusters/123 HTTP/1.1 - // ``` - // - // That will return a response like this, including the `api.url` attribute: - // - // ```json - // { - // "kind": "Cluster", - // "id": "123", - // "href": "/api/clusters_mgmt/v1/clusters/123", - // "api": { - // "url": "https://mycluster-api.example.com:6443" - // }, - // ... - // } - // ``` - // - // When the cluster is created in Amazon Web Services it is necessary to create this base - // DNS domain in advance, using AWS Route53 (https://console.aws.amazon.com/route53). - BaseDomain String -} diff --git a/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model b/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model deleted file mode 100644 index 19435207..00000000 --- a/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Description of a cloud provider encryption key. -class EncryptionKey { - // Name of the encryption key. - Name String -} diff --git a/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model deleted file mode 100644 index 32666859..00000000 --- a/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model +++ /dev/null @@ -1,44 +0,0 @@ -/* -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 a specific encryption keys inquiry. -resource EncryptionKeysInquiry { - // Retrieves the list of encryption keys. - // IMPORTANT: This collection doesn't currently support paging or searching, so the returned - // `page` will always be 1 and `size` and `total` will always be the total number of available regions - // of the provider. - method Search { - // Index of the returned page, where one corresponds to the first page. As this - // collection doesn't support paging the result will always be `1`. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. As this collection - // doesn't support paging or searching the result will always be the total number of - // regions of the provider. - in out Size Integer = 100 - - // Total number of items of the collection that match the search criteria, - // regardless of the size of the page. As this collection doesn't support paging or - // searching the result will always be the total number of available regions of the provider. - out Total Integer - - // Retrieved list of encryption keys. - out Items []EncryptionKey - - // Cloud provider data needed for the inquiry - in Body CloudProviderData - } -} diff --git a/model/clusters_mgmt/v2alpha1/environment_resource.model b/model/clusters_mgmt/v2alpha1/environment_resource.model deleted file mode 100644 index c879137b..00000000 --- a/model/clusters_mgmt/v2alpha1/environment_resource.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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 a specific environment. -resource Environment { - // Retrieves the details of the environment. - method Get { - out Body Environment - } - - // Updates the environment. - // - // Attributes that can be updated are: - // - // - `last_upgrade_available_check` - // - `last_limited_support_check` - method Update { - in out Body Environment - } -} diff --git a/model/clusters_mgmt/v2alpha1/environment_type.model b/model/clusters_mgmt/v2alpha1/environment_type.model deleted file mode 100644 index d43a7b78..00000000 --- a/model/clusters_mgmt/v2alpha1/environment_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Description of an environment -struct Environment { - // environment name - Name String - - // last time that the worker checked for available upgrades - LastUpgradeAvailableCheck Date - - // last time that the worker checked for limited support clusters - LastLimitedSupportCheck Date - - // the backplane url for the environment - BackplaneURL String -} diff --git a/model/clusters_mgmt/v2alpha1/errors.model b/model/clusters_mgmt/v2alpha1/errors.model deleted file mode 100644 index c8f1fd89..00000000 --- a/model/clusters_mgmt/v2alpha1/errors.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -// Can't create cluster, the given external identifier is already in use. -error DuplicatedExternalID { - code 1001 -} diff --git a/model/clusters_mgmt/v2alpha1/event_type.model b/model/clusters_mgmt/v2alpha1/event_type.model deleted file mode 100644 index b0f88a9f..00000000 --- a/model/clusters_mgmt/v2alpha1/event_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Representation of a trackable event. -struct Event { - // Key of the event to be tracked. This key should start with an - // uppercase letter followed by alphanumeric characters or - // underscores. The entire key needs to be smaller than 64 characters. - Key String - - //Body of the event to track the details of the tracking event as Key value pair - Body [String]String - -} diff --git a/model/clusters_mgmt/v2alpha1/events_resource.model b/model/clusters_mgmt/v2alpha1/events_resource.model deleted file mode 100644 index 9bb2ab79..00000000 --- a/model/clusters_mgmt/v2alpha1/events_resource.model +++ /dev/null @@ -1,29 +0,0 @@ -/* -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 a collection used to track events reported by external clients. -resource Events { - // Adds a new event to be tracked. When sending a new event request, - // it gets tracked in Prometheus, Pendo, CloudWatch, or whichever - // analytics client is configured as part of clusters service. This - // allows for reporting on events that happen outside of a regular API - // request, but are found to be useful for understanding customer - // needs and possible blockers. - method Add { - // Description of the event. - in out Body Event - } -} diff --git a/model/clusters_mgmt/v2alpha1/external_auth_config_resource.model b/model/clusters_mgmt/v2alpha1/external_auth_config_resource.model deleted file mode 100644 index f11fa886..00000000 --- a/model/clusters_mgmt/v2alpha1/external_auth_config_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 external authentication configuration for a ROSA HCP cluster. -resource ExternalAuthConfig { - method Get { - out Body ExternalAuthConfig - } - - // Reference to the resource that manages the collection of ExternalAuths resources. - locator ExternalAuths { - target ExternalAuths - } -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_auth_config_type.model b/model/clusters_mgmt/v2alpha1/external_auth_config_type.model deleted file mode 100644 index 64896571..00000000 --- a/model/clusters_mgmt/v2alpha1/external_auth_config_type.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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. -*/ - -// ExternalAuthConfig configuration -struct ExternalAuthConfig { - // Boolean flag indicating if the cluster should use an external authentication configuration. - // - // By default this is false. - // - // To enable it the cluster needs to be ROSA HCP cluster and the organization of the user needs - // to have the `external-authentication` feature toggle enabled. - Enabled Boolean - - link ExternalAuths []ExternalAuth -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_auth_resource.model b/model/clusters_mgmt/v2alpha1/external_auth_resource.model deleted file mode 100644 index fc1b117a..00000000 --- a/model/clusters_mgmt/v2alpha1/external_auth_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific external authentication. -resource ExternalAuth { - // Retrieves the details of an external authentication. - method Get { - out Body ExternalAuth - } - - // Updates the external authentication. - method Update { - in out Body ExternalAuth - } - - // Deletes the external authentication. - method Delete { - } -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_auth_type.model b/model/clusters_mgmt/v2alpha1/external_auth_type.model deleted file mode 100644 index 210e294c..00000000 --- a/model/clusters_mgmt/v2alpha1/external_auth_type.model +++ /dev/null @@ -1,129 +0,0 @@ -/* -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. -*/ - -// Representation of an external authentication provider. -class ExternalAuth { - - // The issuer describes the attributes of the OIDC token issuer. - Issuer TokenIssuer - - // The list of the platform's clients that need to request tokens from the issuer. - Clients []ExternalAuthClientConfig - - // The rules on how to transform information from an ID token into a cluster identity. - Claim ExternalAuthClaim -} - -// Representation of a token issuer used in an external authentication. -struct TokenIssuer { - - // URL is the serving URL of the token issuer. - URL String - - // Audiences is an array of audiences that the token was issued for. - // Valid tokens must include at least one of these values in their - // "aud" claim. - // Must be set to exactly one value. - Audiences []String - - // Certificate bundle to use to validate server certificates for the configured URL. - CA String -} - -// ExternalAuthClientConfig contains configuration for the platform's clients that -// need to request tokens from the issuer. -struct ExternalAuthClientConfig { - - // The component that is supposed to consume this client configuration. - Component ClientComponent - - // The identifier of the OIDC client from the OIDC provider. - ID String - - // The secret of the OIDC client from the OIDC provider. - Secret String - - // ExtraScopes is an optional set of scopes to request tokens with. - ExtraScopes []String -} - -// The reference of a component that will consume the client configuration. -struct ClientComponent { - - // The name of the component. - Name String - - // The namespace of the component. - Namespace String -} - -// The claims and validation rules used in the configuration of the external authentication. -struct ExternalAuthClaim { - - // Mapping describes rules on how to transform information from an ID token into a cluster identity. - Mappings TokenClaimMappings - - // ValidationRules are rules that are applied to validate token claims to authenticate users. - ValidationRules []TokenClaimValidationRule -} - -// The claim mappings defined for users and groups. -struct TokenClaimMappings { - - // Username is a name of the claim that should be used to construct usernames for the cluster identity. - @json(name = "username") - UserName UsernameClaim - - // Groups is a name of the claim that should be used to construct groups for the cluster identity. - Groups GroupsClaim -} - -// The username claim mapping. -struct UsernameClaim { - - // The claim used in the token. - Claim String - - // A prefix contatenated in the claim (Optional). - Prefix String - - // PrefixPolicy specifies how a prefix should apply. - // - // By default, claims other than `email` will be prefixed with the issuer URL to - // prevent naming clashes with other plugins. - // - // Set to "NoPrefix" to disable prefixing. - PrefixPolicy String -} - -struct GroupsClaim { - // The claim used in the token. - Claim String - - // A prefix contatenated in the claim (Optional). - Prefix String -} - -// The rule that is applied to validate token claims to authenticate users. -struct TokenClaimValidationRule { - - // Claim is a name of a required claim. - Claim String - - // RequiredValue is the required value for the claim. - RequiredValue String -} - diff --git a/model/clusters_mgmt/v2alpha1/external_auths_resource.model b/model/clusters_mgmt/v2alpha1/external_auths_resource.model deleted file mode 100644 index a18e5795..00000000 --- a/model/clusters_mgmt/v2alpha1/external_auths_resource.model +++ /dev/null @@ -1,44 +0,0 @@ -/* -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 external authentication defined for a ROSA HCP cluster. -resource ExternalAuths { - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of external authentications. - out Items []ExternalAuth - } - - // Adds a new authentication to the cluster. - method Add { - // Description of the external authentication. - in out Body ExternalAuth - } - - // Reference to the service that manages a specific external authentication. - locator ExternalAuth { - target ExternalAuth - variable ID - } -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_configuration_resource.model b/model/clusters_mgmt/v2alpha1/external_configuration_resource.model deleted file mode 100644 index 79c3d2af..00000000 --- a/model/clusters_mgmt/v2alpha1/external_configuration_resource.model +++ /dev/null @@ -1,41 +0,0 @@ -/* -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 a specific external configuration. -resource ExternalConfiguration { - // Retrieves the details of the external configuration. - method Get { - // Retreived log. - out Body ExternalConfiguration - } - - // Reference to the resource that manages the collection of syncsets. - locator Syncsets { - target Syncsets - } - - // Reference to the resource that manages the collection of manifests. - locator Manifests { - target Manifests - } - - // Reference to the resource that manages the collection of labels. - locator Labels { - target Labels - } - - -} diff --git a/model/clusters_mgmt/v2alpha1/external_configuration_type.model b/model/clusters_mgmt/v2alpha1/external_configuration_type.model deleted file mode 100644 index 78f31d95..00000000 --- a/model/clusters_mgmt/v2alpha1/external_configuration_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Representation of cluster external configuration. -struct ExternalConfiguration { - // list of syncsets externally configured on the cluster. - link Syncsets []Syncset - - // list of labels externally configured on the clusterdeployment. - link Labels []Label - - // list of manifest externally configured for a hosted cluster. - link Manifests []Manifest -} diff --git a/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model b/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model deleted file mode 100644 index 4edfdbd4..00000000 --- a/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Counts of different classes of nodes inside a flavour. -struct FlavourNodes { - // Number of master nodes of the cluster. - Master Integer -} diff --git a/model/clusters_mgmt/v2alpha1/flavour_resource.model b/model/clusters_mgmt/v2alpha1/flavour_resource.model deleted file mode 100644 index e02a48e0..00000000 --- a/model/clusters_mgmt/v2alpha1/flavour_resource.model +++ /dev/null @@ -1,34 +0,0 @@ -/* -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 a specific cluster flavour. -resource Flavour { - // Retrieves the details of the cluster flavour. - method Get { - out Body Flavour - } - - // Updates the flavour. - // - // Attributes that can be updated are: - // - // - `aws.infra_volume` - // - `aws.infra_instance_type` - // - `gcp.infra_instance_type` - method Update { - in out Body Flavour - } -} diff --git a/model/clusters_mgmt/v2alpha1/flavour_type.model b/model/clusters_mgmt/v2alpha1/flavour_type.model deleted file mode 100644 index e1d8d246..00000000 --- a/model/clusters_mgmt/v2alpha1/flavour_type.model +++ /dev/null @@ -1,42 +0,0 @@ -/* -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. -*/ - -// Set of predefined properties of a cluster. For example, a _huge_ flavour can be a cluster -// with 10 infra nodes and 1000 compute nodes. -class Flavour { - // Default _Amazon Web Services_ settings of the cluster. - AWS AWSFlavour - - // Default _Google Cloud Platform_ settings of the cluster. - GCP GCPFlavour - - // Number of nodes that will be used by default when creating a cluster that uses - // this flavour. - // - // These can be overridden specifying in the cluster itself a different number of nodes. - Nodes FlavourNodes - - // Human friendly identifier of the cluster, for example `4`. - // - // NOTE: Currently for all flavours the `id` and `name` attributes have exactly the - // same values. - Name String - - // Default network settings of the cluster. - // - // These can be overridden specifying in the cluster itself a different set of settings. - Network Network -} diff --git a/model/clusters_mgmt/v2alpha1/flavours_resource.model b/model/clusters_mgmt/v2alpha1/flavours_resource.model deleted file mode 100644 index b0675cc6..00000000 --- a/model/clusters_mgmt/v2alpha1/flavours_resource.model +++ /dev/null @@ -1,69 +0,0 @@ -/* -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 cluster flavours. -resource Flavours { - 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 an - // SQL statement, but using the names of the attributes of the flavour instead of - // the names of the columns of a table. For example, in order to retrieve all the - // flavours with a name starting with `my`the value should be: - // - // ```sql - // name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the flavours - // 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 flavour instead of - // the names of the columns of a table. For example, in order to sort the flavours - // descending by name the value should be: - // - // ```sql - // name 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 flavours. - out Items []Flavour - } - - // Reference to the resource that manages a specific flavour. - locator Flavour { - target Flavour - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_authentication_type.model b/model/clusters_mgmt/v2alpha1/gcp_authentication_type.model deleted file mode 100644 index 5f6e3110..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_authentication_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Google cloud platform authentication method of a cluster. -struct GcpAuthentication { - // Indicates the type of this object - Kind String - - // Unique identifier of the object - Id String - - // Self link - Href String -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model b/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model deleted file mode 100644 index c098590c..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// GCP Encryption Key for CCS clusters. -struct GCPEncryptionKey { - // Name of the encryption key - KeyName String - // Name of the key ring the encryption key is located on - KeyRing String - // Location of the encryption key ring - KeyLocation String - // Service account used to access the KMS key - KMSKeyServiceAccount String -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model b/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model deleted file mode 100644 index 96bb9cff..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model +++ /dev/null @@ -1,38 +0,0 @@ -/* -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. -*/ - -// Specification for different classes of nodes inside a flavour. -struct GCPFlavour { - // GCP default instance type for the master volume. - MasterInstanceType String - - // GCP default instance type for the worker volume. - // - // User can be overridden specifying in the cluster itself a type for compute node. - ComputeInstanceType String - - // GCP default instance type for the infra volume. - InfraInstanceType String - - // Master volume specification. - MasterVolume GCPVolume - - // Infra volume specification. - InfraVolume GCPVolume - - // Worker volume specification. - WorkerVolume GCPVolume -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model b/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model deleted file mode 100644 index 4ed08045..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// GcpImageOverride specifies what a GCP VM Image should be used for a particular product and billing model -class GCPImageOverride { - // Link to the product type. - link Product Product - - // Link to the billing model. - link BillingModel BillingModelItem - - // ImageID is the id of the Google Cloud Platform image. - ImageID String - - // ProjectID is the id of the Google Cloud Platform project that hosts the image. - ProjectID String -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model deleted file mode 100644 index 02011620..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model +++ /dev/null @@ -1,40 +0,0 @@ -/* -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 gcp inquiries. -resource GCPInquiries { - // Reference to the resource that manages a collection of vpcs. - locator Vpcs { - target VpcsInquiry - } - // Reference to the resource that manages a collection of key rings. - locator KeyRings { - target KeyRingsInquiry - } - // Reference to the resource that manages a collection of encryption keys. - locator EncryptionKeys { - target EncryptionKeysInquiry - } - // Reference to the resource that manages a collection of regions. - locator Regions { - target AvailableRegionsInquiry - } - // Reference to the resource that manages gcp machine types by regions. - locator MachineTypes { - target GCPRegionMachineTypesInquiry - } -} - diff --git a/model/clusters_mgmt/v2alpha1/gcp_network_type.model b/model/clusters_mgmt/v2alpha1/gcp_network_type.model deleted file mode 100644 index c7f5822c..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_network_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// GCP Network configuration of a cluster. -struct GCPNetwork { - // VPC mame used by the cluster. - VPCName String - - // The name of the host project where the shared VPC exists. - VPCProjectID String - - // Control plane subnet used by the cluster. - ControlPlaneSubnet String - - // Compute subnet used by the cluster. - ComputeSubnet String -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model b/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model deleted file mode 100644 index 21d17cd1..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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 machine types in region inquiry. -resource GCPRegionMachineTypesInquiry { - // Retrieves the list of machine types in the provided region. - method Search { - // 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 - - // 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 machine types. - out Items []MachineType - - // Cloud provider data needed for the inquiry - in Body CloudProviderData - } -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_resource.model b/model/clusters_mgmt/v2alpha1/gcp_resource.model deleted file mode 100644 index 2d707e5e..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 gcp endpoints. -resource GCP { - // Reference to the resource that manages wif_configs - locator WifConfigs { - target WifConfigs - } -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_security_type.model b/model/clusters_mgmt/v2alpha1/gcp_security_type.model deleted file mode 100644 index efb9134e..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_security_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Google cloud platform security settings of a cluster. -struct GcpSecurity { - // Determines if Shielded VM feature "Secure Boot" should be set for the nodes of the cluster. - SecureBoot Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_type.model b/model/clusters_mgmt/v2alpha1/gcp_type.model deleted file mode 100644 index f7aede94..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_type.model +++ /dev/null @@ -1,43 +0,0 @@ -/* -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. -*/ - -// Google cloud platform settings of a cluster. -struct GCP { - // GCP project identifier. - ProjectID String - // GCP the type of the service the key belongs to - Type String - // GCP private key identifier - PrivateKeyID String - // GCP private key - PrivateKey String - // GCP client email - ClientEmail String - // GCP client identifier - ClientID String - // GCP authentication uri - AuthURI String - // GCP token uri - TokenURI String - // GCP Authentication provider x509 certificate url - AuthProviderX509CertURL String - // GCP client x509 certificate url - ClientX509CertURL String - // GCP Security Settings - Security GcpSecurity - // GCP Authentication Method - Authentication GcpAuthentication -} diff --git a/model/clusters_mgmt/v2alpha1/gcp_volume_type.model b/model/clusters_mgmt/v2alpha1/gcp_volume_type.model deleted file mode 100644 index c56debb3..00000000 --- a/model/clusters_mgmt/v2alpha1/gcp_volume_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Holds settings for an GCP storage volume. -struct GCPVolume { - // Volume size in Gib. - Size Integer -} diff --git a/model/clusters_mgmt/v2alpha1/group_resource.model b/model/clusters_mgmt/v2alpha1/group_resource.model deleted file mode 100644 index 88b3d623..00000000 --- a/model/clusters_mgmt/v2alpha1/group_resource.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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 a specific group. -resource Group { - // Retrieves the details of the group. - method Get { - out Body Group - } - - // Reference to the resource that manages the collection of users. - locator Users { - target Users - } -} diff --git a/model/clusters_mgmt/v2alpha1/group_type.model b/model/clusters_mgmt/v2alpha1/group_type.model deleted file mode 100644 index e201e1fc..00000000 --- a/model/clusters_mgmt/v2alpha1/group_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Representation of a group of users. -class Group { - // List of users of the group. - link Users []User -} diff --git a/model/clusters_mgmt/v2alpha1/groups_resource.model b/model/clusters_mgmt/v2alpha1/groups_resource.model deleted file mode 100644 index 1b198754..00000000 --- a/model/clusters_mgmt/v2alpha1/groups_resource.model +++ /dev/null @@ -1,39 +0,0 @@ -/* -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 groups of a cluster. -resource Groups { - // Retrieves the list of groups. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of groups. - out Items []Group - } - - // Reference to the service that manages an specific group. - locator Group { - target Group - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model b/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model deleted file mode 100644 index d1599cd5..00000000 --- a/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific _HTPasswd_ user. -resource HTPasswdUser { - // Retrieves the details of the user. - method Get { - out Body HTPasswdUser - } - - // Deletes the user. - method Delete { - } - - // Updates the user's password. The username is not editable - method Update { - in out Body HTPasswdUser - } -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model b/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model deleted file mode 100644 index 8ebf29a4..00000000 --- a/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model +++ /dev/null @@ -1,31 +0,0 @@ -/* -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. -*/ - -struct HTPasswdUser { - // ID for a secondary user in the _HTPasswd_ data file. - ID String - - // Username for a secondary user in the _HTPasswd_ data file. - Username String - - // Password in plain-text for a user in the _HTPasswd_ data file. - // The value of this field is hashed before setting it in the _HTPasswd_ data file for the HTPasswd IDP - Password String - - // HTPasswd Hashed Password for a user in the _HTPasswd_ data file. - // The value of this field is set as-is in the _HTPasswd_ data file for the HTPasswd IDP - HashedPassword String -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model b/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model deleted file mode 100644 index dc28e48c..00000000 --- a/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model +++ /dev/null @@ -1,63 +0,0 @@ -/* -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 users in an _HTPasswd_ IDP of a cluster. -resource HTPasswdUsers { - // Retrieves the list of _HTPasswd_ IDP users. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of users of the IDP. - out Items []HTPasswdUser - } - - // Adds a new user to the _HTPasswd_ file. - method Add { - // New user to be added - in out Body HTPasswdUser - } - - // Adds multiple new users to the _HTPasswd_ file. - method Import { - // List of users to add to the IDP. - in Items []HTPasswdUser - - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Updated list of users of the IDP. - out Items []HTPasswdUser - } - - // Reference to the service that manages a specific _HTPasswd_ user. - locator HtpasswdUser { - target HTPasswdUser - variable ID - } -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/hypershift_config_type.model b/model/clusters_mgmt/v2alpha1/hypershift_config_type.model deleted file mode 100644 index 4e5890fc..00000000 --- a/model/clusters_mgmt/v2alpha1/hypershift_config_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Hypershift configuration. -struct HypershiftConfig { - // Boolean flag indicating if the cluster should be creating using _Hypershift_. - // - // By default this is `false`. - // - // To enable it the cluster needs to be ROSA cluster and the organization of the user needs - // to have the `hypershift` capability enabled. - Enabled Boolean - - // Contains the name of the current management cluster for this Hypershift cluster. - // Empty for non Hypershift clusters. - ManagementCluster String -} diff --git a/model/clusters_mgmt/v2alpha1/hypershift_resource.model b/model/clusters_mgmt/v2alpha1/hypershift_resource.model deleted file mode 100644 index 796b0290..00000000 --- a/model/clusters_mgmt/v2alpha1/hypershift_resource.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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 a specific Hypershift cluster. -resource Hypershift { - // Retrieves the Hypershift details for a single cluster. - method Get { - out Body HypershiftConfig - } - - // Updates the Hypershift details for a single cluster. - method Update { - in out Body HypershiftConfig - } -} diff --git a/model/clusters_mgmt/v2alpha1/hypershift_type.model b/model/clusters_mgmt/v2alpha1/hypershift_type.model deleted file mode 100644 index f92e6b16..00000000 --- a/model/clusters_mgmt/v2alpha1/hypershift_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Hypershift configuration. -struct Hypershift { - // Boolean flag indicating if the cluster should be creating using _Hypershift_. - // - // By default this is `false`. - // - // To enable it the cluster needs to be ROSA cluster and the organization of the user needs - // to have the `hypershift` capability enabled. - Enabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/identity_provider_resource.model b/model/clusters_mgmt/v2alpha1/identity_provider_resource.model deleted file mode 100644 index 664a7fd7..00000000 --- a/model/clusters_mgmt/v2alpha1/identity_provider_resource.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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 a specific identity provider. -resource IdentityProvider { - // Retrieves the details of the identity provider. - method Get { - out Body IdentityProvider - } - - // Deletes the identity provider. - method Delete { - } - - //Update identity provider in the cluster. - method Update { - in out Body IdentityProvider - } - - // Reference to the resource that manages the collection of _HTPasswd_ IDP users - locator HtpasswdUsers { - target HTPasswdUsers - } -} diff --git a/model/clusters_mgmt/v2alpha1/identity_provider_type.model b/model/clusters_mgmt/v2alpha1/identity_provider_type.model deleted file mode 100644 index 9e190ad7..00000000 --- a/model/clusters_mgmt/v2alpha1/identity_provider_type.model +++ /dev/null @@ -1,227 +0,0 @@ -/* -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. -*/ - -// Representation of an identity provider. -class IdentityProvider { - // Type of identity provider. The rest of the attributes will be populated according to this - // value. For example, if the type is `github` then only the `github` attribute will be - // populated. - Type IdentityProviderType - - // The name of the identity provider. - Name String - - // When `true` unauthenticated token requests from non-web clients (like the CLI) are sent a - // `WWW-Authenticate` challenge header for this provider. - Challenge Boolean - - // When `true` unauthenticated token requests from web clients (like the web console) are - // redirected to the authorize URL to log in. - Login Boolean - - // Controls how mappings are established between this provider's identities and user - // objects. - MappingMethod IdentityProviderMappingMethod - - // Details for `github` identity providers. - Github GithubIdentityProvider - - // Details for `gitlab` identity providers. - Gitlab GitlabIdentityProvider - - // Details for `google` identity providers. - Google GoogleIdentityProvider - - // Details for `htpasswd` identity providers. - Htpasswd HTPasswdIdentityProvider - - // Details for `ldap` identity providers. - LDAP LDAPIdentityProvider - - // Details for `openid` identity providers. - OpenID OpenIDIdentityProvider -} - -// Type of identity provider. -enum IdentityProviderType { - @json(name = "GithubIdentityProvider") - Github - - @json(name = "GitlabIdentityProvider") - Gitlab - - @json(name = "GoogleIdentityProvider") - Google - - @json(name = "HTPasswdIdentityProvider") - Htpasswd - - @json(name = "LDAPIdentityProvider") - LDAP - - @json(name = "OpenIDIdentityProvider") - OpenID -} - -// Controls how mappings are established between provider identities and user objects. -enum IdentityProviderMappingMethod { - Claim - Lookup - Generate - Add -} - -// Details for `github` identity providers. -struct GithubIdentityProvider { - // Optional trusted certificate authority bundle to use when making requests tot he server. - CA String - - // Client identifier of a registered _GitHub_ OAuth application. - ClientID String - - // Client secret of a registered _GitHub_ OAuth application. - ClientSecret String - - // For _GitHub Enterprise_ you must provide the host name of your instance, such as - // `example.com`. This value must match the _GitHub Enterprise_ host name value in the - // `/setup/settings` file and cannot include a port number. - // - // For plain _GitHub_ omit this parameter. - Hostname String - - // Optional list of organizations. Cannot be used in combination with the Teams field. - Organizations []String - - // Optional list of teams. Cannot be used in combination with the Organizations field. - Teams []String -} - -// Details for `gitlab` identity providers. -struct GitlabIdentityProvider { - // Optional trusted certificate authority bundle to use when making requests tot he server. - CA String - - // Client identifier of a registered _GitLab_ OAuth application. - ClientID String - - // Client secret issued by _GitLab_. - ClientSecret String - - // URL of the _GitLab_ instance. - URL String -} - -// Details for `google` identity providers. -struct GoogleIdentityProvider { - // Client identifier of a registered _Google_ project. - ClientID String - - // Client secret issued by _Google_. - ClientSecret String - - // Optional hosted domain to restrict sign-in accounts to. - HostedDomain String -} - -// Details for `htpasswd` identity providers. -struct HTPasswdIdentityProvider { - // Username to be used in the _HTPasswd_ data file. - Username String - - // Password to be used in the _HTPasswd_ data file. - Password String - - // Link to the collection of _HTPasswd_ users. - link Users []HTPasswdUser -} - -// Details for `ldap` identity providers. -struct LDAPIdentityProvider { - // LDAP attributes used to configure the provider. - Attributes LDAPAttributes - - // Optional distinguished name to use to bind during the search phase. - BindDN String - - // Optional password to use to bind during the search phase. - BindPassword String - - // Certificate bundle to use to validate server certificates for the configured URL. - CA String - - // An https://tools.ietf.org/html/rfc2255[RFC 2255] URL which specifies the LDAP host and - // search parameters to use. - URL String - - // When `true` no TLS connection is made to the server. When `false` `ldaps://...` URLs - // connect using TLS and `ldap://...` are upgraded to TLS. - Insecure Boolean -} - -// LDAP attributes used to configure the LDAP identity provider. -struct LDAPAttributes { - // List of attributes to use as the mail address. - Email []String - - // List of attributes to use as the identity. - ID []String - - // List of attributes to use as the display name. - Name []String - - // List of attributes to use as the preferred user name when provisioning a user. - PreferredUsername []String -} - -// Details for `openid` identity providers. -struct OpenIDIdentityProvider { - // Certificate bunde to use to validate server certificates for the configured URL. - CA String - - // Claims used to configure the provider. - Claims OpenIDClaims - - // Identifier of a client registered with the _OpenID_ provider. - ClientID String - - // Client secret. - ClientSecret String - - // Optional map of extra parameters to add to the authorization token request. - ExtraAuthorizeParameters [String]String - - // Optional list of scopes to request, in addition to the `openid` scope, during the - // authorization token request. - ExtraScopes []String - - // The URL that the OpenID Provider asserts as the Issuer Identifier - Issuer String -} - -// _OpenID_ identity provider claims. -struct OpenIDClaims { - // List of claims to use as the mail address. - Email []String - - // List of claims to use as the display name. - Name []String - - // List of claims to use as the preferred user name when provisioning a user. - PreferredUsername []String - - // List of claims to use as the group name. - Groups []String -} diff --git a/model/clusters_mgmt/v2alpha1/identity_providers_resource.model b/model/clusters_mgmt/v2alpha1/identity_providers_resource.model deleted file mode 100644 index 20132aaf..00000000 --- a/model/clusters_mgmt/v2alpha1/identity_providers_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 identity providers of a cluster. -resource IdentityProviders { - // Retrieves the list of identity providers. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of identity providers. - out Items []IdentityProvider - } - - // Adds a new identity provider to the cluster. - method Add { - // Description of the cluster. - in out Body IdentityProvider - } - - // Reference to the service that manages an specific identity provider. - locator IdentityProvider { - target IdentityProvider - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/image_overrides_type.model b/model/clusters_mgmt/v2alpha1/image_overrides_type.model deleted file mode 100644 index 4770b79f..00000000 --- a/model/clusters_mgmt/v2alpha1/image_overrides_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// ImageOverrides holds the lists of available images per cloud provider. -class ImageOverrides { - AWS []AMIOverride - GCP []GCPImageOverride -} diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_resource.model b/model/clusters_mgmt/v2alpha1/inflight_check_resource.model deleted file mode 100644 index 1e9cca05..00000000 --- a/model/clusters_mgmt/v2alpha1/inflight_check_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific inflight check. -resource InflightCheck { - // Retrieves the details of the inflight check. - method Get { - out Body InflightCheck - } -} diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model b/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model deleted file mode 100644 index c55246f8..00000000 --- a/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// State of an inflight check. -enum InflightCheckState { - // The inflight check did not start running yet. - Pending - - // The inflight check is currently running. - Running - - // The inflight check passed. - Passed - - // The inflight check failed. - Failed -} diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_type.model b/model/clusters_mgmt/v2alpha1/inflight_check_type.model deleted file mode 100644 index e6959df6..00000000 --- a/model/clusters_mgmt/v2alpha1/inflight_check_type.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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. -*/ - -// Representation of check running before the cluster is provisioned. -class InflightCheck { - // The name of the inflight check. - Name String - - // State of the inflight check. - State InflightCheckState - - // Details regarding the state of the inflight check. - Details Interface - - // The time the check started running. - StartedAt Date - - // The time the check finished running. - EndedAt Date - - // The number of times the inflight check restarted. - Restarts Integer -} - diff --git a/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model b/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model deleted file mode 100644 index 72a31254..00000000 --- a/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model +++ /dev/null @@ -1,40 +0,0 @@ -/* -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 inflight checks. -resource InflightChecks { - // Retrieves the list of inflight checks. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of inflight checks. - out Items []InflightCheck - } - - // Returns a reference to the service that manages a specific inflight check. - locator InflightCheck { - target InflightCheck - variable ID - } -} - diff --git a/model/clusters_mgmt/v2alpha1/ingress_resource.model b/model/clusters_mgmt/v2alpha1/ingress_resource.model deleted file mode 100644 index eabdcd59..00000000 --- a/model/clusters_mgmt/v2alpha1/ingress_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific ingress. -resource Ingress { - // Retrieves the details of the ingress. - method Get { - out Body Ingress - } - - // Updates the ingress. - method Update { - in out Body Ingress - } - - // Deletes the ingress. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/ingress_type.model b/model/clusters_mgmt/v2alpha1/ingress_type.model deleted file mode 100644 index 41559bcb..00000000 --- a/model/clusters_mgmt/v2alpha1/ingress_type.model +++ /dev/null @@ -1,51 +0,0 @@ -/* -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. -*/ - -// Representation of an ingress. -class Ingress { - // Indicates if this is the default ingress. - Default Boolean - - // Listening method of the ingress - Listening ListeningMethod - - // Load Balancer type of the ingress - LoadBalancerType LoadBalancerFlavor - - // DNS Name of the ingress. - DNSName String - - // A set of labels for the ingress. - RouteSelectors [String]String - - // A set of excluded namespaces for the ingress. - ExcludedNamespaces []String - - // Wildcard policy for the ingress. - RouteWildcardPolicy WildcardPolicy - - // Namespace Ownership Policy for the ingress. - RouteNamespaceOwnershipPolicy NamespaceOwnershipPolicy - - // Cluster routes hostname. - ClusterRoutesHostname String - - // Cluster routes TLS Secret reference. - ClusterRoutesTlsSecretRef String - - // Component Routes settings. - ComponentRoutes [ComponentRouteType]ComponentRoute -} diff --git a/model/clusters_mgmt/v2alpha1/ingresses_resource.model b/model/clusters_mgmt/v2alpha1/ingresses_resource.model deleted file mode 100644 index 9f7bd0ba..00000000 --- a/model/clusters_mgmt/v2alpha1/ingresses_resource.model +++ /dev/null @@ -1,50 +0,0 @@ -/* -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 ingresses of a cluster. -resource Ingresses { - // Retrieves the list of ingresses. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of ingresses. - out Items []Ingress - } - - // Adds a new ingress to the cluster. - method Add { - // Description of the ingress - in out Body Ingress - } - - // Updates all ingresses - method Update { - in out Body []Ingress - } - - // Reference to the service that manages a specific ingress. - locator Ingress { - target Ingress - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/instance_iam_roles.model b/model/clusters_mgmt/v2alpha1/instance_iam_roles.model deleted file mode 100644 index 634cbbd7..00000000 --- a/model/clusters_mgmt/v2alpha1/instance_iam_roles.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to support role-based authentication on AWS. -struct InstanceIAMRoles { - // The IAM role ARN that will be attached to master instances - MasterRoleARN String - - // The IAM role ARN that will be attached to worker instances - WorkerRoleARN String - - -} diff --git a/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model b/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model deleted file mode 100644 index cb568565..00000000 --- a/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Description of a cloud provider key ring. -class KeyRing { - // Name of the key ring. - Name String -} diff --git a/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model deleted file mode 100644 index 5debf0e4..00000000 --- a/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model +++ /dev/null @@ -1,44 +0,0 @@ -/* -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 key rings inquiry. -resource KeyRingsInquiry { - // Retrieves the list of available key rings of the cloud provider. - // IMPORTANT: This collection doesn't currently support paging or searching, so the returned - // `page` will always be 1 and `size` and `total` will always be the total number of available regions - // of the provider. - method Search { - // Index of the returned page, where one corresponds to the first page. As this - // collection doesn't support paging the result will always be `1`. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. As this collection - // doesn't support paging or searching the result will always be the total number of - // key rings of the provider. - in out Size Integer = 100 - - // Total number of items of the collection that match the search criteria, - // regardless of the size of the page. As this collection doesn't support paging or - // searching the result will always be the total number of available key rings of the provider. - out Total Integer - - // Retrieved list of key rings. - out Items []KeyRing - - // Cloud provider data needed for the inquiry - in Body CloudProviderData - } -} diff --git a/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model b/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model deleted file mode 100644 index c00e6e88..00000000 --- a/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model +++ /dev/null @@ -1,55 +0,0 @@ -/* -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 global KubeletConfig configuration for worker nodes in a cluster. -resource KubeletConfig { - // Retrieves the KubeletConfig for a cluster - method Get { - out Body KubeletConfig - } - - // Creates a new cluster KubeletConfig - method Post { - in out Body KubeletConfig - } - - // Updates the existing cluster KubeletConfig - method Update { - in out Body KubeletConfig - } - - // Deletes the cluster KubeletConfig - method Delete { - } -} - -// Manages KubeletConfig configuration for Hosted Control Plane clusters. This resource does not support POST operations -// in contrast to the KubeletConfig resource for Classic clusters. -resource HcpKubeletConfig { - // Retrieves the KubeletConfig specified by the id. - method Get { - out Body KubeletConfig - } - - // Updates the KubeletConfig specified by the id. - method Update { - in out Body KubeletConfig - } - - // Deletes the KubeletConfig specified by the id. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/kubelet_config_type.model b/model/clusters_mgmt/v2alpha1/kubelet_config_type.model deleted file mode 100644 index 8c0986dd..00000000 --- a/model/clusters_mgmt/v2alpha1/kubelet_config_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// OCM representation of KubeletConfig, exposing the fields of Kubernetes -// KubeletConfig that can be managed by users -class KubeletConfig { - // Allows the user to specify the podPidsLimit to be applied via KubeletConfig. - // Useful if workloads have greater PIDs limit requirements than the OCP default. - PodPidsLimit Integer - - // Allows the user to specify the name to be used to identify this KubeletConfig. - // Optional. A name will be generated if not provided. - Name String -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/kubelet_configs_resource.model b/model/clusters_mgmt/v2alpha1/kubelet_configs_resource.model deleted file mode 100644 index dd7d118f..00000000 --- a/model/clusters_mgmt/v2alpha1/kubelet_configs_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 KubeletConfigs for a cluster. -resource KubeletConfigs { - // Retrieves the list of KubeletConfigs for the cluster. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of KubeletConfigs. - out Items []KubeletConfig - } - - // Adds a new KubeletConfig to the cluster. - method Add { - // Description of the KubeletConfig. - in out Body KubeletConfig - } - - // Reference to the service that manages a specific KubeletConfig. - locator KubeletConfig { - target HcpKubeletConfig - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/label_resource.model b/model/clusters_mgmt/v2alpha1/label_resource.model deleted file mode 100644 index d0f2c6f8..00000000 --- a/model/clusters_mgmt/v2alpha1/label_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific label. -resource Label { - // Retrieves the details of the label. - method Get { - out Body Label - } - - // Update the label. - method Update { - in out Body Label - } - - // Deletes the label. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/label_type.model b/model/clusters_mgmt/v2alpha1/label_type.model deleted file mode 100644 index 5eebde31..00000000 --- a/model/clusters_mgmt/v2alpha1/label_type.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -// Representation of a label in clusterdeployment. -class Label { - // the key of the label - Key String - // the value to set in the label - Value String -} diff --git a/model/clusters_mgmt/v2alpha1/labels_resource.model b/model/clusters_mgmt/v2alpha1/labels_resource.model deleted file mode 100644 index df3b89fd..00000000 --- a/model/clusters_mgmt/v2alpha1/labels_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 labels of a cluster. -resource Labels { - // Retrieves the list of labels. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of labels. - out Items []Label - } - - // Adds a new label to the cluster. - method Add { - // Description of the label. - in out Body Label - } - - // Reference to the service that manages an specific label. - locator Label { - target Label - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model deleted file mode 100644 index 1278167d..00000000 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 a specific reason. -resource LimitedSupportReason { - // Retrieves the details of the reason. - method Get { - out Body LimitedSupportReason - } - - // Deletes the reason. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model deleted file mode 100644 index 3aa683b0..00000000 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific limited support reason template. -resource LimitedSupportReasonTemplate { - // Retrieves the details of the template. - method Get { - out Body LimitedSupportReasonTemplate - } -} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model deleted file mode 100644 index d4933e5b..00000000 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// A template for cluster limited support reason. -class LimitedSupportReasonTemplate { - // Summary of the reason. - Summary String - - // A detailed description of the reason. - Details String -} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model deleted file mode 100644 index 33bd7d28..00000000 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model +++ /dev/null @@ -1,39 +0,0 @@ -/* -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 limited support reason templates. -resource LimitedSupportReasonTemplates { - // Retrieves the list of templates. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of template. - out Items []LimitedSupportReasonTemplate - } - - // Reference to the service that manages an specific template. - locator LimitedSupportReasonTemplate { - target LimitedSupportReasonTemplate - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model deleted file mode 100644 index 61dfe352..00000000 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. -*/ - -enum DetectionType { - Manual - Auto -} - -// A reason that a cluster is in limited support. -class LimitedSupportReason { - // Summary of the reason. - Summary String - - // URL with a link to a detailed description of the reason. - Details String - - // Optional link to a template with summary and details. - link Template LimitedSupportReasonTemplate - - // The time the reason was detected. - CreationTimestamp Date - - // Indicates if the reason was detected automatically or manually. - // When creating a new reason this field should be empty or "manual". - DetectionType DetectionType -} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model deleted file mode 100644 index a6052445..00000000 --- a/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model +++ /dev/null @@ -1,46 +0,0 @@ -/* -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 limited support reason on a cluster. -resource LimitedSupportReasons { - // Retrieves the list of reasons. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of template. - out Items []LimitedSupportReason - } - - // Adds a new reason to the cluster. - method Add { - // Description of the reason. - in out Body LimitedSupportReason - } - - - // Reference to the service that manages an specific reason. - locator LimitedSupportReason { - target LimitedSupportReason - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/listening_method_type.model b/model/clusters_mgmt/v2alpha1/listening_method_type.model deleted file mode 100644 index 44b21b22..00000000 --- a/model/clusters_mgmt/v2alpha1/listening_method_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Cluster components listening method. -enum ListeningMethod { - // Uses only internal traffic. - Internal - - // Uses both external and internal traffic. - External -} diff --git a/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model b/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model deleted file mode 100644 index 835272ea..00000000 --- a/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Type of load balancer for AWS cloud provider parameters. -enum LoadBalancerFlavor { - // Classic Load Balancer. - @json(name = "classic") - Classic - - // Network Load Balancer. - @json(name = "nlb") - Nlb -} diff --git a/model/clusters_mgmt/v2alpha1/load_balancer_quota_values_resource.model b/model/clusters_mgmt/v2alpha1/load_balancer_quota_values_resource.model deleted file mode 100644 index a3554fa0..00000000 --- a/model/clusters_mgmt/v2alpha1/load_balancer_quota_values_resource.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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 load balancer quota values. -resource LoadBalancerQuotaValues { - // Retrieves the list of Load Balancer Quota Values. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of values. - out Items []Integer - } -} diff --git a/model/clusters_mgmt/v2alpha1/log_resource.model b/model/clusters_mgmt/v2alpha1/log_resource.model deleted file mode 100644 index 2b8f2c11..00000000 --- a/model/clusters_mgmt/v2alpha1/log_resource.model +++ /dev/null @@ -1,34 +0,0 @@ -/* -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 a specific log. -resource Log { - // Retrieves the details of the log. - method Get { - // Line offset to start logs from. if 0 retreive entire log. - // If offset > #lines return an empty log. - in Offset Integer = 0 - - // Returns the number of tail lines from the end of the log. - // If there are no line breaks or the number of lines < tail - // return the entire log. - // Either 'tail' or 'offset' can be set. Not both. - in Tail Integer = 0 - - // Retreived log. - out Body Log - } -} diff --git a/model/clusters_mgmt/v2alpha1/log_type.model b/model/clusters_mgmt/v2alpha1/log_type.model deleted file mode 100644 index 5cfc17d3..00000000 --- a/model/clusters_mgmt/v2alpha1/log_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Log of the cluster. -class Log { - // Content of the log. - Content String -} diff --git a/model/clusters_mgmt/v2alpha1/logs_resource.model b/model/clusters_mgmt/v2alpha1/logs_resource.model deleted file mode 100644 index 4241cbdd..00000000 --- a/model/clusters_mgmt/v2alpha1/logs_resource.model +++ /dev/null @@ -1,43 +0,0 @@ -/* -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 a collection of log links. -resource Logs { - - // Retrieves the list of log links. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of log links. - out Items []Log - } - - locator Install { - target Log - } - - locator Uninstall { - target Log - } - -} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model deleted file mode 100644 index 397f490f..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of a autoscaling in a machine pool. -class MachinePoolAutoscaling { - // The minimum number of replicas for the machine pool. - MinReplicas Integer - - // The maximum number of replicas for the machine pool. - MaxReplicas Integer -} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model deleted file mode 100644 index 1ad26c5e..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Security Group Filter object, containing name of the filter tag and value of the filter tag -struct MachinePoolSecurityGroupFilter { - Name String - Value String -} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_resource.model b/model/clusters_mgmt/v2alpha1/machine_pool_resource.model deleted file mode 100644 index 2ccdf420..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_pool_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific machine pool. -resource MachinePool { - // Retrieves the details of the machine pool. - method Get { - out Body MachinePool - } - - // Updates the machine pool. - method Update { - in out Body MachinePool - } - - // Deletes the machine pool. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_type.model deleted file mode 100644 index 26fadff4..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_pool_type.model +++ /dev/null @@ -1,50 +0,0 @@ -/* -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. -*/ - -// Representation of a machine pool in a cluster. -class MachinePool { - // The number of Machines (and Nodes) to create. - // Replicas and autoscaling cannot be used together. - Replicas Integer - - // Details for auto-scaling the machine pool. - // Replicas and autoscaling cannot be used together. - Autoscaling MachinePoolAutoscaling - - // The instance type of Nodes to create. - InstanceType String - - // The availability zones upon which the nodes are created. - AvailabilityZones []String - - // The subnets upon which the nodes are created. - Subnets []String - - // The labels set on the Nodes created. - Labels [String]String - - // The taints set on the Nodes created. - Taints []Taint - - // AWS specific parameters (Optional). - AWS AWSMachinePool - - // List of security groups to be applied to MachinePool (Optional) - SecurityGroupFilters []MachinePoolSecurityGroupFilter - - // The machine root volume capabilities. - RootVolume RootVolume -} diff --git a/model/clusters_mgmt/v2alpha1/machine_pools_resource.model b/model/clusters_mgmt/v2alpha1/machine_pools_resource.model deleted file mode 100644 index c09a271b..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_pools_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 machine pools of a cluster. -resource MachinePools { - // Retrieves the list of machine pools. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of machine pools. - out Items []MachinePool - } - - // Adds a new machine pool to the cluster. - method Add { - // Description of the machine pool - in out Body MachinePool - } - - // Reference to the service that manages a specific machine pool. - locator MachinePool { - target MachinePool - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/machine_type_category_type.model b/model/clusters_mgmt/v2alpha1/machine_type_category_type.model deleted file mode 100644 index 99f20278..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_type_category_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Machine type category. -enum MachineTypeCategory { - // General Purpose machine type. - GeneralPurpose - - // Memory Optimized machine type. - MemoryOptimized - - // Compute Optimized machine type. - ComputeOptimized - - // Accelerated Computing machine type. - AcceleratedComputing -} diff --git a/model/clusters_mgmt/v2alpha1/machine_type_resource.model b/model/clusters_mgmt/v2alpha1/machine_type_resource.model deleted file mode 100644 index 238916dc..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_type_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific machine type. -resource MachineType { - // Retrieves the details of the machine type. - method Get { - out Body MachineType - } -} diff --git a/model/clusters_mgmt/v2alpha1/machine_type_size_type.model b/model/clusters_mgmt/v2alpha1/machine_type_size_type.model deleted file mode 100644 index 6bfb7e92..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_type_size_type.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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. -*/ - -// Machine type size. -enum MachineTypeSize { - // Small machine type (e.g. m5.xlarge, custom-4-16384) - Small - - // Medium machine type (e.g. r5.2xlarge, custom-8-32768) - Medium - - // Large machine type (e.g. c5.4xlarge, custom-16-65536) - Large -} - diff --git a/model/clusters_mgmt/v2alpha1/machine_type_type.model b/model/clusters_mgmt/v2alpha1/machine_type_type.model deleted file mode 100644 index 2d230fff..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_type_type.model +++ /dev/null @@ -1,48 +0,0 @@ -/* -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. -*/ - -// Machine type. -class MachineType { - // Human friendly identifier of the machine type, for example `r5.xlarge - Memory Optimized`. - Name String - - // The category which the machine type is suitable for. - Category MachineTypeCategory - - // The amount of memory of the machine type. - Memory Value - - // The amount of cpu's of the machine type. - CPU Value - - // The size of the machine type. - Size MachineTypeSize - - // Generic name for quota purposes, for example `highmem-4`. - // Cloud provider agnostic - many values are shared between "similar" - // machine types on different providers. - // Corresponds to `resource_name` values in "compute.node" quota cost data. - GenericName String - - // Link to the cloud provider that the machine type belongs to. - link CloudProvider CloudProvider - - // 'true' if the instance type is supported only for CCS clusters, 'false' otherwise. - CCSOnly Boolean - - // The architecture of the machine type. - Architecture ProcessorType -} diff --git a/model/clusters_mgmt/v2alpha1/machine_types_resource.model b/model/clusters_mgmt/v2alpha1/machine_types_resource.model deleted file mode 100644 index 965d84f9..00000000 --- a/model/clusters_mgmt/v2alpha1/machine_types_resource.model +++ /dev/null @@ -1,70 +0,0 @@ -/* -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 machine types. -resource MachineTypes { - // Retrieves the list of machine types. - 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 machine type - // instead of the names of the columns of a table. For example, in order to retrieve - // all the machine types with a name starting with `A` the value should be: - // - // ```sql - // name like 'A%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the machine - // types 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 machine type - // instead of the names of the columns of a table. For example, in order to sort the - // machine types descending by name identifier the value should be: - // - // ```sql - // name 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 cloud providers. - out Items []MachineType - } - - // Returns a reference to the service that manages an specific MachineType. - locator MachineType { - target MachineType - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/managedservice_type.model b/model/clusters_mgmt/v2alpha1/managedservice_type.model deleted file mode 100644 index a3b0d887..00000000 --- a/model/clusters_mgmt/v2alpha1/managedservice_type.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to support role-based authentication on AWS. -struct ManagedService { - // Indicates whether the cluster belongs to a managed service - // This should only be set by the "Managed Service" service. - // clusters with this set can only be modified by the "Managed Service" service. - Enabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/manifest_resource.model b/model/clusters_mgmt/v2alpha1/manifest_resource.model deleted file mode 100644 index 22bde4c5..00000000 --- a/model/clusters_mgmt/v2alpha1/manifest_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific Manifest. -resource Manifest { - // Retrieves the details of the manifest. - method Get { - out Body Manifest - } - - // Update the manifest. - method Update { - in out Body Manifest - } - - // Deletes the manifest. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/manifest_type.model b/model/clusters_mgmt/v2alpha1/manifest_type.model deleted file mode 100644 index 73ff046f..00000000 --- a/model/clusters_mgmt/v2alpha1/manifest_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Representation of a manifestwork. -class Manifest { - // List of k8s objects to deploy on a hosted cluster. - Workloads []Interface -} diff --git a/model/clusters_mgmt/v2alpha1/manifests_resource.model b/model/clusters_mgmt/v2alpha1/manifests_resource.model deleted file mode 100644 index 29c6d665..00000000 --- a/model/clusters_mgmt/v2alpha1/manifests_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 Manifests of a cluster. -resource Manifests { - // Retrieves the list of manifests. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of Manifests. - out Items []Manifest - } - - // Adds a new manifest to a cluster. - method Add { - // Description of the manifest. - in out Body Manifest - } - - // Reference to the service that manages a specific manifest. - locator Manifest { - target Manifest - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/metric_queries_resource.model b/model/clusters_mgmt/v2alpha1/metric_queries_resource.model deleted file mode 100644 index c7431f05..00000000 --- a/model/clusters_mgmt/v2alpha1/metric_queries_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 telemetry queries for a cluster. -resource MetricQueries { - // Reference to the resource that retrieves the total cpu - // capacity in the cluster by node role and operating system. - locator CPUTotalByNodeRolesOS { - target CPUTotalByNodeRolesOSMetricQuery - } - - // Reference to the resource that retrieves the total socket - // capacity in the cluster by node role and operating system. - locator SocketTotalByNodeRolesOS { - target SocketTotalByNodeRolesOSMetricQuery - } - - // Reference to the resource that retrieves the firing alerts in the cluster. - locator Alerts { - target AlertsMetricQuery - } - - // Reference to the resource that retrieves the cluster operator status metrics. - locator ClusterOperators { - target ClusterOperatorsMetricQuery - } - - // Reference to the resource that retrieves the nodes in the cluster. - locator Nodes { - target NodesMetricQuery - } -} diff --git a/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model b/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model deleted file mode 100644 index 89f61ed9..00000000 --- a/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Type of Namespace Ownership Policy. -enum NamespaceOwnershipPolicy { - // Strict. - @json(name = "Strict") - Strict - - // InterNamespaceAllowed. - @json(name = "InterNamespaceAllowed") - InterNamespaceAllowed -} diff --git a/model/clusters_mgmt/v2alpha1/network_type.model b/model/clusters_mgmt/v2alpha1/network_type.model deleted file mode 100644 index 81f22e07..00000000 --- a/model/clusters_mgmt/v2alpha1/network_type.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. -*/ - -// Network configuration of a cluster. -struct Network { - // The main controller responsible for rendering the core networking components. - Type String - - // IP address block from which to assign pod IP addresses, for example `10.128.0.0/14`. - PodCIDR String - - // IP address block from which to assign machine IP addresses, for example `10.0.0.0/16`. - MachineCIDR String - - // IP address block from which to assign service IP addresses, for example `172.30.0.0/16`. - ServiceCIDR String - - // Network host prefix which is defaulted to `23` if not specified. - HostPrefix Integer -} diff --git a/model/clusters_mgmt/v2alpha1/network_verification_resource.model b/model/clusters_mgmt/v2alpha1/network_verification_resource.model deleted file mode 100644 index 4030dbe4..00000000 --- a/model/clusters_mgmt/v2alpha1/network_verification_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a subnet network verification. -resource NetworkVerification { - // Retrieves the details of a subnet network verification. - method Get { - out Body SubnetNetworkVerification - } -} diff --git a/model/clusters_mgmt/v2alpha1/network_verification_type.model b/model/clusters_mgmt/v2alpha1/network_verification_type.model deleted file mode 100644 index 3d35b5cf..00000000 --- a/model/clusters_mgmt/v2alpha1/network_verification_type.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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. -*/ - -struct NetworkVerification { - // Cloud provider data to execute the network verification. - CloudProviderData CloudProviderData - - // Cluster ID needed to execute the network verification. - ClusterId String - - // Platform needed to execute the network verification. - Platform Platform - - // Amount of network verifier executions started. - Total Integer - - // Details about each subnet network verification. - Items []SubnetNetworkVerification -} diff --git a/model/clusters_mgmt/v2alpha1/network_verifications_resource.model b/model/clusters_mgmt/v2alpha1/network_verifications_resource.model deleted file mode 100644 index 8fc50308..00000000 --- a/model/clusters_mgmt/v2alpha1/network_verifications_resource.model +++ /dev/null @@ -1,29 +0,0 @@ -/* -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 subnet network verifications. -resource NetworkVerifications { - // Creates an entry for a network verification for each subnet supplied setting then to initial state. - method Add { - in out Body NetworkVerification - } - - // Reference to the service that manages a specific network verification. - locator NetworkVerification { - target NetworkVerification - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/node_info_type.model b/model/clusters_mgmt/v2alpha1/node_info_type.model deleted file mode 100644 index fbfe154a..00000000 --- a/model/clusters_mgmt/v2alpha1/node_info_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Provides information about a node from specific type in the cluster. -struct NodeInfo { - // The amount of the nodes from this type. - Amount Integer - - // The Node type. - Type NodeType -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model b/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model deleted file mode 100644 index 001d01cd..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of a autoscaling in a node pool. -class NodePoolAutoscaling { - // The minimum number of replicas for the node pool. - MinReplica Integer - - // The maximum number of replicas for the node pool. - MaxReplica Integer -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_management_upgrade_type.model b/model/clusters_mgmt/v2alpha1/node_pool_management_upgrade_type.model deleted file mode 100644 index 9a540a3c..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_management_upgrade_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Representation of node pool management. -class NodePoolManagementUpgrade { - // Type of strategy for handling upgrades. - Type String - - // Maximum number of nodes in the NodePool of a ROSA HCP cluster that can be unavailable during the upgrade. - MaxUnavailable String - - // Maximum number of nodes in the NodePool of a ROSA HCP cluster that can be scheduled above the desired number of nodes during the upgrade. - MaxSurge String -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_resource.model deleted file mode 100644 index b47a0fd0..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_resource.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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 a specific nodepool. -resource NodePool { - // Retrieves the details of the node pool. - method Get { - out Body NodePool - } - - // Updates the node pool. - method Update { - in out Body NodePool - } - - // Deletes the node pool. - method Delete { - } - - // Reference to the state of the upgrade policy. - locator UpgradePolicies { - target NodePoolUpgradePolicies - } -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_state_type.model b/model/clusters_mgmt/v2alpha1/node_pool_state_type.model deleted file mode 100644 index 9636d829..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_state_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of the status of a node pool. -class NodePoolState { - // The current state of the node pool. - Value NodePoolStateValues - - // Detailed user friendly status for node pool state. - Details String -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_state_values_type.model b/model/clusters_mgmt/v2alpha1/node_pool_state_values_type.model deleted file mode 100644 index de93cbf3..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_state_values_type.model +++ /dev/null @@ -1,42 +0,0 @@ -/* -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. -*/ - -// Overall state of a node pool. -enum NodePoolStateValues { - // The node pool is being uninstalled. - Deleting - - // Error during installation or change. - Error - - // The node pool is still being created. - Creating - - // The node pool is pending resources before being provisioned. - Pending - - // The node pool is ready to use. - Ready - - // The state of the node pool is unknown. - Unknown - - // The state of the node pool is unknown. - Updating - - // The node pool is validating user input. - Validating -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_status_type.model b/model/clusters_mgmt/v2alpha1/node_pool_status_type.model deleted file mode 100644 index ec8d1ce1..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_status_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Representation of the status of a node pool. -class NodePoolStatus { - // The current number of replicas for the node pool. - CurrentReplicas Integer - - // Adds additional information about the NodePool status when the node pool doesn't reach the desired replicas. - Message String - - // The Current NodePool state. - State NodePoolState -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_type.model b/model/clusters_mgmt/v2alpha1/node_pool_type.model deleted file mode 100644 index 582d2308..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_type.model +++ /dev/null @@ -1,65 +0,0 @@ -/* -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. -*/ - -// Representation of a node pool in a cluster. -class NodePool { - // The number of Machines (and Nodes) to create. - // Replicas and autoscaling cannot be used together. - Replicas Integer - - // Details for auto-scaling the machine pool. - // Replicas and autoscaling cannot be used together. - Autoscaling NodePoolAutoscaling - - // Specifies whether health checks should be enabled for machines in the NodePool. - AutoRepair Boolean - - // AWS specific parameters (Optional). - AWSNodePool AWSNodePool - - // Azure specific parameters. - AzureNodePool AzureNodePool - - // The availability zone upon which the node is created. - AvailabilityZone String - - // The subnet upon which the nodes are created. - Subnet String - - // NodePool status. - Status NodePoolStatus - - // Version of the node pool. - Version Version - - // The labels set on the Nodes created. - Labels [String]String - - // The taints set on the Nodes created. - Taints []Taint - - // The names of the tuning configs for this node pool. - TuningConfigs []String - - // The names of the KubeletConfigs for this node pool. - KubeletConfigs []String - - // Time to wait for a NodePool to drain when it is upgraded or replaced before it is forcibly removed. - NodeDrainGracePeriod Value - - // Management parameters (Optional). - ManagementUpgrade NodePoolManagementUpgrade -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model deleted file mode 100644 index 260ac45f..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 upgrade policies for the node pool of a cluster. -resource NodePoolUpgradePolicies { - // Retrieves the list of upgrade policies for the node pool. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of upgrade policy. - out Items []NodePoolUpgradePolicy - } - - // Adds a new upgrade policy to the node pool of the cluster. - method Add { - // Description of the upgrade policy. - in out Body NodePoolUpgradePolicy - } - - // Reference to the service that manages an specific upgrade policy for the node pool. - locator NodePoolUpgradePolicy { - target NodePoolUpgradePolicy - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model deleted file mode 100644 index 61aeaea2..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific upgrade policy for the node pool. -resource NodePoolUpgradePolicy { - // Retrieves the details of the upgrade policy for the node pool. - method Get { - out Body NodePoolUpgradePolicy - } - - // Update the upgrade policy for the node pool. - method Update { - in out Body NodePoolUpgradePolicy - } - - // Deletes the upgrade policy for the node pool. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model deleted file mode 100644 index 0ac420e5..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model +++ /dev/null @@ -1,51 +0,0 @@ -/* -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. -*/ - -// Representation of an upgrade policy that can be set for a node pool. -class NodePoolUpgradePolicy { - // Cluster ID this upgrade policy for node pool is defined for. - ClusterID String - - // Node Pool ID this upgrade policy is defined for. - NodePoolID String - - // Schedule cron expression that defines automatic upgrade scheduling. - Schedule String - - // Schedule type of the upgrade. - ScheduleType ScheduleType - - // Upgrade type of the node pool. - UpgradeType UpgradeType - - // Version is the desired upgrade version. - Version String - - // Next time the upgrade should run. - NextRun Date - - // Indicates if minor version upgrades are allowed for automatic upgrades (for manual it's always allowed). - EnableMinorVersionUpgrades Boolean - - // Timestamp for creation of resource. - CreationTimestamp Date - - // Timestamp for last update that happened to resource. - LastUpdateTimestamp Date - - // State of the upgrade policy for the node pool. - State UpgradePolicyState -} diff --git a/model/clusters_mgmt/v2alpha1/node_pools_resource.model b/model/clusters_mgmt/v2alpha1/node_pools_resource.model deleted file mode 100644 index aa232a28..00000000 --- a/model/clusters_mgmt/v2alpha1/node_pools_resource.model +++ /dev/null @@ -1,75 +0,0 @@ -/* -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 node pools of a cluster. -resource NodePools { - // Retrieves the list of node pools. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items 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 node pools instead of - // the names of the columns of a table. For example, in order to retrieve all the - // node pools with replicas of two the following is required: - // - // ```sql - // replicas = 2 - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the - // node pools 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 node pools instead of - // the names of the columns of a table. For example, in order to sort the node pools - // descending by identifier the value should be: - // - // ```sql - // 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. - out Total Integer - - // Retrieved list of node pools. - out Items []NodePool - } - - // Adds a new node pool to the cluster. - method Add { - // Description of the node pool - in out Body NodePool - } - - // Reference to the service that manages a specific node pool. - locator NodePool { - target NodePool - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/node_type.model b/model/clusters_mgmt/v2alpha1/node_type.model deleted file mode 100644 index 41dec79c..00000000 --- a/model/clusters_mgmt/v2alpha1/node_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Type of node received via telemetry. -enum NodeType { - // Master. - Master - - // Infra. - Infra - - // Compute. - Compute -} diff --git a/model/clusters_mgmt/v2alpha1/nodes_info_type.model b/model/clusters_mgmt/v2alpha1/nodes_info_type.model deleted file mode 100644 index bbb9a803..00000000 --- a/model/clusters_mgmt/v2alpha1/nodes_info_type.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -// Provides information about the nodes in the cluster. -struct NodesInfo { - Nodes []NodeInfo -} diff --git a/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model deleted file mode 100644 index 9e5559b0..00000000 --- a/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Provides information about the nodes in the cluster. -resource NodesMetricQuery { - method Get { - out Body NodesInfo - } -} diff --git a/model/clusters_mgmt/v2alpha1/oidc_config_resource.model b/model/clusters_mgmt/v2alpha1/oidc_config_resource.model deleted file mode 100644 index 924dcffd..00000000 --- a/model/clusters_mgmt/v2alpha1/oidc_config_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 an Oidc Config configuration. -resource OidcConfig { - // Retrieves the details of an OidcConfig. - method Get { - out Body OidcConfig - } - - // Updates attributes of an OidcConfig. - method Update { - in out Body OidcConfig - } - - // Deletes the OidcConfig. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/oidc_config_type.model b/model/clusters_mgmt/v2alpha1/oidc_config_type.model deleted file mode 100644 index de8773ba..00000000 --- a/model/clusters_mgmt/v2alpha1/oidc_config_type.model +++ /dev/null @@ -1,51 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to support oidc configuration hosting under Red Hat or registering a Customer's byo oidc config. -struct OidcConfig { - // ARN of the AWS role to assume when installing the cluster as to reveal the secret, supplied in request. It is only to be used in Unmanaged Oidc Config. - InstallerRoleArn String - - // Secrets Manager ARN for the OIDC private key, supplied in request. It is only to be used in Unmanaged Oidc Config. - SecretArn String - - // ID for the oidc config, filled in response. - ID String - - // HREF for the oidc config, filled in response. - HREF String - - // Organization ID, filled in response respecting token provided. - OrganizationId String - - // Issuer URL, filled in response when Managed and supplied in Unmanaged. - IssuerUrl String - - // Creation timestamp, filled in response. - CreationTimestamp Date - - // Last used timestamp, filled by the latest cluster that used this oidc config. - LastUsedTimestamp Date - - // Last update timestamp, filled when patching a valid attribute of this oidc config. - LastUpdateTimestamp Date - - // Indicates whether it is Managed or Unmanaged (Customer hosted). - Managed boolean - - // Indicates whether the Oidc Config can be reused. - Reusable boolean -} diff --git a/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model b/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model deleted file mode 100644 index 7b6d9853..00000000 --- a/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 oidc configurations. -resource OidcConfigs { - // Retrieves the list of oidc configs. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of identity providers. - out Items []OidcConfig - } - - - // Creates a hosting under Red Hat's S3 bucket for byo oidc configuration. - method Add { - in out Body OidcConfig - } - - // Reference to the service that manages an specific identity provider. - locator OidcConfig { - target OidcConfig - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/oidc_thumbprint_input_type.model b/model/clusters_mgmt/v2alpha1/oidc_thumbprint_input_type.model deleted file mode 100644 index 11c37042..00000000 --- a/model/clusters_mgmt/v2alpha1/oidc_thumbprint_input_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to fetch an OIDC Configuration thumbprint -struct OidcThumbprintInput { - - // OidcConfigId is the ID for the oidc config used, exclusive from ClusterId. - OidcConfigId String - - // ClusterId is the for the cluster used, exclusive from OidcConfigId. - ClusterId String -} diff --git a/model/clusters_mgmt/v2alpha1/oidc_thumbprint_resource.model b/model/clusters_mgmt/v2alpha1/oidc_thumbprint_resource.model deleted file mode 100644 index 33a48d9e..00000000 --- a/model/clusters_mgmt/v2alpha1/oidc_thumbprint_resource.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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 an Oidc Config Thumbprint configuration. -resource OidcThumbprint { - // Fetches/creates an OIDC Config Thumbprint from either a cluster ID, or an oidc config ID. - method Post { - out Body OidcThumbprint - in Body OidcThumbprintInput - } -} diff --git a/model/clusters_mgmt/v2alpha1/oidc_thumbprint_type.model b/model/clusters_mgmt/v2alpha1/oidc_thumbprint_type.model deleted file mode 100644 index 9be38b34..00000000 --- a/model/clusters_mgmt/v2alpha1/oidc_thumbprint_type.model +++ /dev/null @@ -1,34 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to support oidc configuration thumbprint operations such as fetching/creation of a thumbprint -struct OidcThumbprint { - - // OidcConfigId is the ID for the oidc config used, filled in response. - OidcConfigId String - - // ClusterId is the for the cluster used, filled in response. - ClusterId String - - // Thumbprint is the thumbprint itself, filled in response. - Thumbprint String - - // HREF for the oidc config thumbprint, filled in response. - HREF String - - // Kind is the resource type, filled in response. - Kind String -} diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model b/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model deleted file mode 100644 index 6c030084..00000000 --- a/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 a list of operator roles for STS clusters. -resource OperatorIAMRole { - // Deletes the operator role. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model b/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model deleted file mode 100644 index 23d78809..00000000 --- a/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to allow each operator to access the necessary AWS resources -struct OperatorIAMRole { - // Randomly-generated ID to identify the operator role - ID String - - // Name of the credentials secret used to access cloud resources - Name String - - // Namespace where the credentials secret lives in the cluster - Namespace String - - // Role to assume when accessing AWS resources - RoleARN String - - // Service account name to use when authenticating - ServiceAccount String -} diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model b/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model deleted file mode 100644 index 36a5f1f8..00000000 --- a/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model +++ /dev/null @@ -1,46 +0,0 @@ -/* -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 operator roles. -resource OperatorIAMRoles { - // Retrieves the list of operator roles. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. - in out Size Integer = 100 - - // 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 operator roles. - out Items []OperatorIAMRole - } - - // Adds a new operator role to the cluster. - method Add { - // Description of the operator role. - in out Body OperatorIAMRole - } - - // Returns a reference to the service that manages a specific operator role. - locator OperatorIAMRole { - target OperatorIAMRole - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/organization_link_type.model b/model/clusters_mgmt/v2alpha1/organization_link_type.model deleted file mode 100644 index f33fa91d..00000000 --- a/model/clusters_mgmt/v2alpha1/organization_link_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Definition of an organization link. -struct OrganizationLink { - // The organization's ID. - ID String - - // HREF for the Organization, filled in response. - HREF String -} diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model deleted file mode 100644 index 6d7b9864..00000000 --- a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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 a specific pending delete cluster. -resource PendingDeleteCluster { - // Retrieves the details of the pending delete cluster. - method Get { - out Body PendingDeleteCluster - } - - // Updates the pending delete cluster entry. - method Update { - in out Body PendingDeleteCluster - } -} diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model deleted file mode 100644 index 94827fec..00000000 --- a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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. -*/ - -// Represents a pending delete entry for a specific cluster. -class PendingDeleteCluster { - // Cluster is the details of the cluster that is pending deletion. - link Cluster Cluster - - // Date and time when the cluster was initially created, using the - // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). - CreationTimestamp Date - - // Flag indicating if the cluster deletion should be best-effort mode or not. - BestEffort Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model b/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model deleted file mode 100644 index c924c3b8..00000000 --- a/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model +++ /dev/null @@ -1,70 +0,0 @@ -/* -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 pending delete clusters. -resource PendingDeleteClusters { - // Retrieves the list of pending delete 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 pending delete cluster instead of - // the names of the columns of a table. For example, in order to retrieve all the - // pending delete clusters with creation time later than 2023-03-01T00:00:00Z the following is required: - // - // ```sql - // creation_timestamp > '2023-03-01T00:00:00Z' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the - // pending delete 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 pending delete cluster instead of - // the names of the columns of a table. For example, in order to sort the pending delete clusters - // descending by creation timestamp (i.e. their deletion time) the value should be: - // - // ```sql - // creation_timestamp 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 pending delete clusters. - out Items []PendingDeleteCluster - } - - // Returns a reference to the service that manages an specific pending delete cluster. - locator PendingDeleteCluster { - target PendingDeleteCluster - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/platform_type.model b/model/clusters_mgmt/v2alpha1/platform_type.model deleted file mode 100644 index 4855ba38..00000000 --- a/model/clusters_mgmt/v2alpha1/platform_type.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. -*/ - -// Representation of an platform type field. -enum Platform { - @json(name = "aws") - Aws - - @json(name = "gcp") - Gcp - - @json(name = "hostedcluster") - HostedCluster - - @json(name = "aws-classic") - AwsClassic - - @json(name = "aws-hosted-cp") - AwsHostedCp -} diff --git a/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model b/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model deleted file mode 100644 index 02c38430..00000000 --- a/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 configuration for the Private Links. -struct PrivateLinkClusterConfiguration { - // List of additional principals for the Private Link - Principals []PrivateLinkPrincipal -} - - diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model deleted file mode 100644 index 5ca2d38b..00000000 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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 a principal for a Private Link. -resource PrivateLinkPrincipal { - // Retrieves the details of the principal. - method Get { - out Body PrivateLinkPrincipal - } - - // Deletes the principal. - method Delete { - } -} - diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model deleted file mode 100644 index 6662fc07..00000000 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -class PrivateLinkPrincipal { - // ARN for a principal that is allowed for this Private Link. - Principal String -} diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model deleted file mode 100644 index 6c9d679f..00000000 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model +++ /dev/null @@ -1,61 +0,0 @@ -/* -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. -*/ - -// Contains a list of principals for the Private Link. -resource PrivateLinkPrincipals { - - // Retrieves the list of principals. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of principals. - out Items []PrivateLinkPrincipal - - // Search criteria. - // - // The syntax of this parameter is similar to the syntax of the _where_ clause - // of an SQL statement, but using the names of the attributes of the role binding - // instead of the names of the columns of a table. For example, in order to - // retrieve role bindings with role_id AuthenticatedUser: - // - // ```sql - // role_id = 'AuthenticatedUser' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the - // items that the user has permission to see will be returned. - in Search String - } - - // Adds a new principal for the Private Link. - method Add { - // Properties of the principal. - in out Body PrivateLinkPrincipal - } - - locator Principal { - target PrivateLinkPrincipal - variable ID - } -} - diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model deleted file mode 100644 index 1ae6a1dd..00000000 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Contains a list of principals for the Private Link. -class PrivateLinkPrincipals { - // List of additional principals for the Private Link - Principals []PrivateLinkPrincipal -} diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model deleted file mode 100644 index 2d1c6c12..00000000 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 configuration for the Private Links. -resource PrivateLinkConfiguration { - // Retrieves the details of the configuration for the Private Link. - method Get { - out Body PrivateLinkConfiguration - } - - locator Principals { - target PrivateLinkPrincipals - } -} diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model deleted file mode 100644 index 39295b40..00000000 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 configuration for the Private Links. -struct PrivateLinkConfiguration { - // List of additional principals for the Private Link - link Principals PrivateLinkPrincipals -} - - diff --git a/model/clusters_mgmt/v2alpha1/processor_type_type.model b/model/clusters_mgmt/v2alpha1/processor_type_type.model deleted file mode 100644 index 22ed4fd2..00000000 --- a/model/clusters_mgmt/v2alpha1/processor_type_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Processor type category. -enum ProcessorType { - // Amd64 - AMD64 - - // Arm64 - ARM64 -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model b/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model deleted file mode 100644 index 5692e343..00000000 --- a/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific product minimal version. -resource ProductMinimalVersion { - // Retrieves the details of the product minimal version. - method Get { - out Body ProductMinimalVersion - } -} diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model b/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model deleted file mode 100644 index 8504a2dd..00000000 --- a/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of a product minimal version. -class ProductMinimalVersion { - // The start date for this minimal version. - StartDate Date - - // The ROSA CLI minimal version. - RosaCli String -} diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model b/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model deleted file mode 100644 index 3d7fc30c..00000000 --- a/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model +++ /dev/null @@ -1,70 +0,0 @@ -/* -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 product minimal versions. -resource ProductMinimalVersions { - // Retrieves the list of product minimal versions. - 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 an - // SQL statement, but using the names of the attributes of the product instead of - // the names of the columns of a table. For example, in order to retrieve all the - // products with a name starting with `my` the value should be: - // - // ```sql - // name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the products - // 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 product instead of - // the names of the columns of a table. For example, in order to sort the products - // descending by name the value should be: - // - // ```sql - // name 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 product minimal versions. - out Items []ProductMinimalVersion - } - - // Returns a reference to the service that manages a specific product product minimal version. - locator MinimalVersion { - target ProductMinimalVersion - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/product_resource.model b/model/clusters_mgmt/v2alpha1/product_resource.model deleted file mode 100644 index 799e9444..00000000 --- a/model/clusters_mgmt/v2alpha1/product_resource.model +++ /dev/null @@ -1,31 +0,0 @@ -/* -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 a specific product. -resource Product { - // Retrieves the details of the product. - method Get { - out Body Product - } - - locator MinimalVersions { - target ProductMinimalVersions - } - - locator TechnologyPreviews { - target ProductTechnologyPreviews - } -} diff --git a/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model b/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model deleted file mode 100644 index 9c9e92c2..00000000 --- a/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific product technology preview. -resource ProductTechnologyPreview { - // Retrieves the details of the product technology preview. - method Get { - out Body ProductTechnologyPreview - } -} diff --git a/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model b/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model deleted file mode 100644 index 9ef9341e..00000000 --- a/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Representation of a product technology preview. -class ProductTechnologyPreview { - // The start date for this technology preview. - StartDate Date - - // The end date for this technology preview. - EndDate Date - - // Message associated with this technology preview. - AdditionalText String -} diff --git a/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model b/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model deleted file mode 100644 index 3d3b2566..00000000 --- a/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model +++ /dev/null @@ -1,70 +0,0 @@ -/* -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 product technology previews. -resource ProductTechnologyPreviews { - // Retrieves the list of product technology previews. - 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 an - // SQL statement, but using the names of the attributes of the product instead of - // the names of the columns of a table. For example, in order to retrieve all the - // products with a name starting with `my` the value should be: - // - // ```sql - // name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the products - // 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 product instead of - // the names of the columns of a table. For example, in order to sort the products - // descending by name the value should be: - // - // ```sql - // name 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 product technology previews. - out Items []ProductTechnologyPreview - } - - // Returns a reference to the service that manages a specific product technology preview. - locator TechnologyPreview { - target ProductTechnologyPreview - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/product_type.model b/model/clusters_mgmt/v2alpha1/product_type.model deleted file mode 100644 index 9eb111e2..00000000 --- a/model/clusters_mgmt/v2alpha1/product_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Representation of an product that can be selected as a cluster type. -class Product { - // Name of the product. - Name String -} diff --git a/model/clusters_mgmt/v2alpha1/products_resource.model b/model/clusters_mgmt/v2alpha1/products_resource.model deleted file mode 100644 index 6ffcb5b6..00000000 --- a/model/clusters_mgmt/v2alpha1/products_resource.model +++ /dev/null @@ -1,70 +0,0 @@ -/* -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 products. -resource Products { - // Retrieves the list of products. - 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 an - // SQL statement, but using the names of the attributes of the product instead of - // the names of the columns of a table. For example, in order to retrieve all the - // products with a name starting with `my` the value should be: - // - // ```sql - // name like 'my%' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the products - // 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 product instead of - // the names of the columns of a table. For example, in order to sort the products - // descending by name the value should be: - // - // ```sql - // name 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 products. - out Items []Product - } - - // Returns a reference to the service that manages a specific product. - locator Product { - target Product - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model b/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model deleted file mode 100644 index b430a268..00000000 --- a/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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. -*/ - -// Description of a cloud provider data used for cloud provider inquiries. -struct CloudProviderData { - // Amazon Web Services settings. - AWS AWS - - // Google cloud platform settings. - GCP GCP - - // Region - Region CloudRegion - - // Key location - KeyLocation String - - // Key ring name - KeyRingName String - - // Openshift version - Version Version - - // Availability zone - AvailabilityZones []String - - // Subnets - Subnets []String - - // VPC ids - VpcIds []string -} diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_resource.model b/model/clusters_mgmt/v2alpha1/provision_shard_resource.model deleted file mode 100644 index 273cba58..00000000 --- a/model/clusters_mgmt/v2alpha1/provision_shard_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 provision shard. -resource ProvisionShard { - // Retrieves the details of the provision shard. - method Get { - out Body ProvisionShard - } - - // Updates the details of the provision shard. - method Update { - in out Body ProvisionShard - } - - // Delete the provision shard. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model b/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model deleted file mode 100644 index 00161b3c..00000000 --- a/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -enum ProvisionShardTopology { - - // Provision shard for hosted clusters is configured in a "dedicated" topology. - @json(name = "dedicated") - Dedicated -} diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_type.model b/model/clusters_mgmt/v2alpha1/provision_shard_type.model deleted file mode 100644 index adee330f..00000000 --- a/model/clusters_mgmt/v2alpha1/provision_shard_type.model +++ /dev/null @@ -1,58 +0,0 @@ -/* -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. -*/ - -// Contains the properties of the provision shard, including AWS and GCP related configurations -class ProvisionShard { - - // Contains the configuration for Hive. - HiveConfig ServerConfig - - // Contains the configuration for the AWS account operator. - AWSAccountOperatorConfig ServerConfig - - // Contains the configuration for the GCP project operator. - GCPProjectOperator ServerConfig - - // Contains the AWS base domain. - AWSBaseDomain String - - // Contains the GCP base domain. - GCPBaseDomain String - - // Contains the cloud-provider region in which the provisioner spins up the cluster. - link Region CloudRegion - - // Contains the cloud provider name. - link CloudProvider CloudProvider - - // Contains the configuration for Hypershift. - HypershiftConfig ServerConfig - - // Contains the name of the management cluster for Hypershift clusters that are assigned to this shard. - // This field is populated by OCM, and must not be overwritten via API. - ManagementCluster String - - // Status of the provision shard. Possible values: active/maintenance/offline. - Status String - - // Date and time when the provision shard was initially created, using the - // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). - CreationTimestamp Date - - // Date and time when the provision shard was last updated, using the - // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). - LastUpdateTimestamp Date -} diff --git a/model/clusters_mgmt/v2alpha1/provision_shards_resource.model b/model/clusters_mgmt/v2alpha1/provision_shards_resource.model deleted file mode 100644 index d8fe21ef..00000000 --- a/model/clusters_mgmt/v2alpha1/provision_shards_resource.model +++ /dev/null @@ -1,61 +0,0 @@ -/* -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 provision shards. -resource ProvisionShards { - 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 - // provision shards that the user has permission to see will be returned. - in Search String - - // Total number of items of the collection. - out Total Integer - - // Retrieved a list of provision shards. - out Items []ProvisionShard - } - - // Adds a provision shard. - method Add { - // Description of the provision shard. - in out Body ProvisionShard - } - - - // Reference to the resource that manages a specific provision shard. - locator ProvisionShard { - target ProvisionShard - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/proxy_type.model b/model/clusters_mgmt/v2alpha1/proxy_type.model deleted file mode 100644 index 23cd6dbf..00000000 --- a/model/clusters_mgmt/v2alpha1/proxy_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Proxy configuration of a cluster. -struct Proxy { - // HTTPProxy is the URL of the proxy for HTTP requests. - HTTPProxy String - - // HTTPSProxy is the URL of the proxy for HTTPS requests. - HTTPSProxy String - - // NoProxy is a comma-separated list of domains and CIDRs for which - // the proxy should not be used - NoProxy String - - -} diff --git a/model/clusters_mgmt/v2alpha1/registry_allowlist_resource.model b/model/clusters_mgmt/v2alpha1/registry_allowlist_resource.model deleted file mode 100644 index 39906414..00000000 --- a/model/clusters_mgmt/v2alpha1/registry_allowlist_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 a specific registry allowlist. -resource RegistryAllowlist { - // Retrieves the details of the allowlist. - method Get { - out Body RegistryAllowlist - } - - // Deletes the allowlist. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/registry_allowlist_type.model b/model/clusters_mgmt/v2alpha1/registry_allowlist_type.model deleted file mode 100644 index 993346fc..00000000 --- a/model/clusters_mgmt/v2alpha1/registry_allowlist_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// RegistryAllowlist represents a single registry allowlist. -class RegistryAllowlist { - // CreationTimestamp is the date and time when the allow list has been created. - CreationTimestamp Date - // Registries is the list of registries contained in this Allowlist. - Registries []String - // CloudProvider is the cloud provider for which this allowlist is valid. - CloudProvider CloudProvider -} diff --git a/model/clusters_mgmt/v2alpha1/registry_allowlists_resource.model b/model/clusters_mgmt/v2alpha1/registry_allowlists_resource.model deleted file mode 100644 index 777226a7..00000000 --- a/model/clusters_mgmt/v2alpha1/registry_allowlists_resource.model +++ /dev/null @@ -1,75 +0,0 @@ -/* -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 registry allowlists. -resource RegistryAllowlists { - // Retrieves the list of registry allowlists. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items 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 registry allowlists - // instead of the names of the columns of a table. For example, in order to retrieve all - // the allowlists with a specific cloud provider and creation time the following is required: - // - // ```sql - // cloud_provider.id='aws' and creation_timestamp > '2023-03-01T00:00:00Z' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the - // registry allowlists 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 registry allowlists - // instead of the the names of the columns of a table. For example, in order to sort the - // allowlists descending by identifier the value should be: - // - // ```sql - // creation_timestamp 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. - out Total Integer - - // Retrieved list of registry allowlists. - out Items []RegistryAllowlist - } - - // Adds a new break registry allowlist. - method Add { - // Data of the new registry allowlist. - in out Body RegistryAllowlist - } - - // Reference to the service that manages a specific registry allowlist. - locator RegistryAllowlist { - target RegistryAllowlist - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/release_image_details_type.model b/model/clusters_mgmt/v2alpha1/release_image_details_type.model deleted file mode 100644 index 997eafb9..00000000 --- a/model/clusters_mgmt/v2alpha1/release_image_details_type.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -struct ReleaseImageDetails { - // ReleaseImage contains the URI of Openshift release image. - ReleaseImage String - - // AvailableUpgrades is the list of versions this version can be upgraded to. - AvailableUpgrades []String -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/release_images_type.model b/model/clusters_mgmt/v2alpha1/release_images_type.model deleted file mode 100644 index 45b095cf..00000000 --- a/model/clusters_mgmt/v2alpha1/release_images_type.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -struct ReleaseImages { - // Arm64 will contain the reference for the arm64 image which will be used for cluster deployments - ARM64 ReleaseImageDetails - - // Multi will contain the reference for the multi image which will be used for cluster deployments - Multi ReleaseImageDetails -} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/resource_range_type.model b/model/clusters_mgmt/v2alpha1/resource_range_type.model deleted file mode 100644 index fa64aaba..00000000 --- a/model/clusters_mgmt/v2alpha1/resource_range_type.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -struct ResourceRange { - Min Integer - Max Integer -} diff --git a/model/clusters_mgmt/v2alpha1/resource_resource.model b/model/clusters_mgmt/v2alpha1/resource_resource.model deleted file mode 100644 index 01c7fed7..00000000 --- a/model/clusters_mgmt/v2alpha1/resource_resource.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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 currently available cluster resources -resource ClusterResources { - // Retrieves currently available cluster resources - method Get { - // List of cluster resources - out Body ClusterResources - } -} diff --git a/model/clusters_mgmt/v2alpha1/resource_type.model b/model/clusters_mgmt/v2alpha1/resource_type.model deleted file mode 100644 index b5ea89d7..00000000 --- a/model/clusters_mgmt/v2alpha1/resource_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Cluster Resource which belongs to a cluster, example Cluster Deployment. -class ClusterResources { - // Cluster ID for the fetched resources - ClusterID String - // Returned map of cluster resources fetched. - Resources [String]String - // Date and time when the resources were fetched. - CreationTimestamp Date -} diff --git a/model/clusters_mgmt/v2alpha1/resources_resource.model b/model/clusters_mgmt/v2alpha1/resources_resource.model deleted file mode 100644 index 9fa4f816..00000000 --- a/model/clusters_mgmt/v2alpha1/resources_resource.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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 a collection of resources for a cluster -resource Resources { - // Retrieves a list of resources for a cluster in error state - method Get { - // List of cluster resources - out Body ClusterResources - } - - // Retrieves a list of currently available resources for a cluster - locator Live { - // Retrieved list of currently available resources for a cluster - target ClusterResources - } -} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_binding_status_type.model b/model/clusters_mgmt/v2alpha1/role_policy_binding_status_type.model deleted file mode 100644 index 684ae3b9..00000000 --- a/model/clusters_mgmt/v2alpha1/role_policy_binding_status_type.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -struct RolePolicyBindingStatus { - Value String - Description String -} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_binding_type.model b/model/clusters_mgmt/v2alpha1/role_policy_binding_type.model deleted file mode 100644 index 81752364..00000000 --- a/model/clusters_mgmt/v2alpha1/role_policy_binding_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -struct RolePolicyBinding { - Name String - Arn String - Type String - Status RolePolicyBindingStatus - CreationTimestamp Date - LastUpdateTimestamp Date - Policies []RolePolicy -} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_bindings_resource.model b/model/clusters_mgmt/v2alpha1/role_policy_bindings_resource.model deleted file mode 100644 index 55378ff0..00000000 --- a/model/clusters_mgmt/v2alpha1/role_policy_bindings_resource.model +++ /dev/null @@ -1,35 +0,0 @@ -/* -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. -*/ - -resource RolePolicyBindings { - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // If true, retrieves role policy binding states from AWS. - @http(name = "fetchCurrent") - in FetchCurrent Boolean - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of role policy bindings. - out Items []RolePolicyBinding - } -} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_type.model b/model/clusters_mgmt/v2alpha1/role_policy_type.model deleted file mode 100644 index bd4086c2..00000000 --- a/model/clusters_mgmt/v2alpha1/role_policy_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -struct RolePolicy { - Name String - Arn String - Type String -} diff --git a/model/clusters_mgmt/v2alpha1/root_resource.model b/model/clusters_mgmt/v2alpha1/root_resource.model deleted file mode 100644 index e69d44a4..00000000 --- a/model/clusters_mgmt/v2alpha1/root_resource.model +++ /dev/null @@ -1,139 +0,0 @@ -/* -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 clusters management service. -resource Root { - // Reference to the resource that manages the collection of add-ons. - locator Addons { - target AddOns - } - - // Reference to the resource that manages the collection of cloud providers. - locator CloudProviders { - target CloudProviders - } - - // Reference to the resource that manages the collection of clusters. - locator Clusters { - target Clusters - } - - // Reference to the service that manages the collection of flavours. - locator Flavours { - target Flavours - } - - // Reference to the resource that manage the collection of versions. - locator Versions { - target Versions - } - - // Reference to the resource that manage the collection of machine types. - locator MachineTypes { - target MachineTypes - } - - // Reference to the resource that manages the collection of AWS - // infrastructure access roles. - locator AWSInfrastructureAccessRoles { - target AWSInfrastructureAccessRoles - } - - // Reference to the resource that manages the collection of products. - locator Products { - target Products - } - - // Reference to the resource that manages the collection of provision shards. - locator ProvisionShards { - target ProvisionShards - } - - // Reference to the resource that manages the collection of trackable events. - locator Events { - target Events - } - - // Reference to the resource that manages the collection of aws inquiries. - locator AWSInquiries { - target AWSInquiries - } - - // Reference to the resource that manages the collection of gcp inquiries. - locator GCPInquiries { - target GCPInquiries - } - - // Reference to limited support reason templates. - locator LimitedSupportReasonTemplates { - target LimitedSupportReasonTemplates - } - - // Reference to version gates. - locator VersionGates { - target VersionGates - } - - // Reference to the resource that manages the environment. - locator Environment { - target Environment - } - - // Reference to the resource that manages oidc. - locator OidcConfigs { - target OidcConfigs - } - - // Reference to the resource that manages the collection of pending delete clusters. - locator PendingDeleteClusters { - target PendingDeleteClusters - } - - //Reference to the resource that manages dns domains. - locator DNSDomains { - target DNSDomains - } - - // Reference to the resource that manages network verifications. - locator NetworkVerifications { - target NetworkVerifications - } - - // Reference to the resource that manages the collection of trusted ip addresses. - locator TrustedIPAddresses { - target TrustedIps - } - - // Reference to the resource that manages the load balancer quota values. - locator LoadBalancerQuotaValues{ - target LoadBalancerQuotaValues - } - - // Reference to the resource that manages the storage quota values. - locator StorageQuotaValues { - target StorageQuotaValues - } - - // Reference to the resource that manages the collection of gcp endpoints. - locator GCP { - target GCP - } - - // Reference to the resource that manages the collection of registry allowlists. - locator RegistryAllowlists { - target RegistryAllowlists - } -} diff --git a/model/clusters_mgmt/v2alpha1/server_config_type.model b/model/clusters_mgmt/v2alpha1/server_config_type.model deleted file mode 100644 index 3264360b..00000000 --- a/model/clusters_mgmt/v2alpha1/server_config_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// Representation of a server config -class ServerConfig { - // The URL of the server. - Server String - - // The kubeconfig of the server. - Kubeconfig String - - // The topology of a provision shard (Optional). - Topology ProvisionShardTopology -} diff --git a/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model deleted file mode 100644 index 6872f6e2..00000000 --- a/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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. -*/ - -// Total socket capacity in the cluster by node role and operating system. -resource SocketTotalByNodeRolesOSMetricQuery { - // Retrieves the metrics. - method Get { - out Body SocketTotalsNodeRoleOSMetricNode - } -} diff --git a/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model deleted file mode 100644 index 5a2d3d2b..00000000 --- a/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model +++ /dev/null @@ -1,30 +0,0 @@ -/* -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. -*/ - -// Representation of information from telemetry about a the socket capacity -// by node role and OS. -struct SocketTotalNodeRoleOSMetricNode { - Time Date - - // Representation of the node role for a cluster. - NodeRoles []String - - // The operating system. - OperatingSystem String - - // The total socket capacity of nodes with this set of roles and operating system. - SocketTotal Float -} diff --git a/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model deleted file mode 100644 index 655d81ab..00000000 --- a/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - - -// Representation of information from telemetry about the socket capacity by node -// role and OS of a cluster. -struct SocketTotalsNodeRoleOSMetricNode { - SocketTotals []SocketTotalNodeRoleOSMetricNode -} diff --git a/model/clusters_mgmt/v2alpha1/storage_quota_type.model b/model/clusters_mgmt/v2alpha1/storage_quota_type.model deleted file mode 100644 index 05b36571..00000000 --- a/model/clusters_mgmt/v2alpha1/storage_quota_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of a storage quota -struct StorageQuota { - // Numerical value - Value Float - - // Unit of storage - Unit String -} diff --git a/model/clusters_mgmt/v2alpha1/storage_quota_values_resource.model b/model/clusters_mgmt/v2alpha1/storage_quota_values_resource.model deleted file mode 100644 index 1baaf40f..00000000 --- a/model/clusters_mgmt/v2alpha1/storage_quota_values_resource.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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 storage quota values. -resource StorageQuotaValues { - // Retrieves the list of Storage Quota Values. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of values. - out Items []StorageQuota - } -} diff --git a/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model b/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model deleted file mode 100644 index c8c8d61e..00000000 --- a/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Representation of an credRequest -struct STSCredentialRequest { - - //Name of CredRequest - Name String - - //Operator Details - link Operator STSOperator - -} diff --git a/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model deleted file mode 100644 index 739ccde8..00000000 --- a/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model +++ /dev/null @@ -1,34 +0,0 @@ -/* -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 STS Credential Request -resource STSCredentialRequestsInquiry { - // Retrieves the list of policies. - 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 - - // 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 CredRequest. - out Items []STSCredentialRequest - } -} diff --git a/model/clusters_mgmt/v2alpha1/sts_operator_type.model b/model/clusters_mgmt/v2alpha1/sts_operator_type.model deleted file mode 100644 index 22751889..00000000 --- a/model/clusters_mgmt/v2alpha1/sts_operator_type.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. -*/ - -// Representation of an sts operator -struct STSOperator { - //Operator Name - Name String - - //Operator Namespace - Namespace String - - //Service Accounts - ServiceAccounts []String - - //Minimum ocp version supported - MinVersion String - - //Maximum ocp version supported - MaxVersion String -} diff --git a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model deleted file mode 100644 index 08defcaa..00000000 --- a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model +++ /dev/null @@ -1,22 +0,0 @@ -/* -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. -*/ - -// Provides the role arn to use to assume the support role in the customer's aws account. -resource StsSupportJumpRole { - method Get { - out Body StsSupportJumpRole - } -} diff --git a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model deleted file mode 100644 index d3a926f5..00000000 --- a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Isolated STS support role created per organization. -struct StsSupportJumpRole { - // ARN of the support role created in the SRE jump account. - RoleArn String -} diff --git a/model/clusters_mgmt/v2alpha1/sts_type.model b/model/clusters_mgmt/v2alpha1/sts_type.model deleted file mode 100644 index 6e001190..00000000 --- a/model/clusters_mgmt/v2alpha1/sts_type.model +++ /dev/null @@ -1,55 +0,0 @@ -/* -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. -*/ - -// Contains the necessary attributes to support role-based authentication on AWS. -struct STS { - - // If STS is enabled or disabled - Enabled Boolean - - // ARN of the AWS role to assume when installing the cluster - RoleARN String - - // Optional unique identifier when assuming role in another account - ExternalID String - - // ARN of the AWS role used by SREs to access the cluster AWS account in order to provide support - SupportRoleARN String - - // URL of the location where OIDC configuration and keys are available - OIDCEndpointURL String - - // List of roles necessary to access the AWS resources of the various operators used during installation - OperatorIAMRoles []OperatorIAMRole - - // Instance IAM roles to use for the instance profiles of the master and worker instances - InstanceIAMRoles InstanceIAMRoles - - // Auto creation mode for cluster - OCM will create the operator roles and OIDC provider. false by default. - AutoMode Boolean - - // Optional user provided prefix for operator roles. - OperatorRolePrefix String - - // Optional user provided permission boundary. - PermissionBoundary String - - // If true, cluster account and operator roles have managed policies attached. - ManagedPolicies Boolean - - // Registered Oidc Config, if available holds information related to the oidc config. - OidcConfig OidcConfig -} diff --git a/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model b/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model deleted file mode 100644 index a342d424..00000000 --- a/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model +++ /dev/null @@ -1,29 +0,0 @@ -/* -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. -*/ - -class SubnetNetworkVerification { - // Slice of failures that happened during a subnet network verification. - Details []String - - // State of the subnet network verification. - State String - - // Tags supplied to the network verifier for this subnet. - Tags [String]String - - // Platform supplied to the network verifier for this subnet. - Platform Platform -} diff --git a/model/clusters_mgmt/v2alpha1/subscription_type.model b/model/clusters_mgmt/v2alpha1/subscription_type.model deleted file mode 100644 index db685902..00000000 --- a/model/clusters_mgmt/v2alpha1/subscription_type.model +++ /dev/null @@ -1,19 +0,0 @@ -/* -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. -*/ - -// Definition of a subscription. -class Subscription { -} diff --git a/model/clusters_mgmt/v2alpha1/syncset_resource.model b/model/clusters_mgmt/v2alpha1/syncset_resource.model deleted file mode 100644 index 7a98be7b..00000000 --- a/model/clusters_mgmt/v2alpha1/syncset_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific syncset. -resource Syncset { - // Retrieves the details of the syncset. - method Get { - out Body Syncset - } - - // Update the syncset. - method Update { - in out Body Syncset - } - - // Deletes the syncset. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/syncset_type.model b/model/clusters_mgmt/v2alpha1/syncset_type.model deleted file mode 100644 index f1472953..00000000 --- a/model/clusters_mgmt/v2alpha1/syncset_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Representation of a syncset. -class Syncset { - // List of k8s objects to configure for the cluster. - Resources []Interface -} diff --git a/model/clusters_mgmt/v2alpha1/syncsets_resource.model b/model/clusters_mgmt/v2alpha1/syncsets_resource.model deleted file mode 100644 index dcf9114e..00000000 --- a/model/clusters_mgmt/v2alpha1/syncsets_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 syncsets of a cluster. -resource Syncsets { - // Retrieves the list of syncsets. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of syncsets. - out Items []Syncset - } - - // Adds a new syncset to the cluster. - method Add { - // Description of the syncset. - in out Body Syncset - } - - // Reference to the service that manages an specific syncset. - locator Syncset { - target Syncset - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/taint_type.model b/model/clusters_mgmt/v2alpha1/taint_type.model deleted file mode 100644 index 9335e035..00000000 --- a/model/clusters_mgmt/v2alpha1/taint_type.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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. -*/ - - -// Representation of a Taint set on a MachinePool in a cluster. -struct Taint { - // The key for the taint - Key String - - // The value for the taint. - Value String - - // The effect on the node for the pods matching the taint, i.e: NoSchedule, NoExecute, PreferNoSchedule. - Effect String -} diff --git a/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model b/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model deleted file mode 100644 index 17ab36db..00000000 --- a/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific trusted ip address. -resource TrustedIp { - // Retrieves the trusted ip adresses. - method Get { - out Body TrustedIp - } -} diff --git a/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model b/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model deleted file mode 100644 index d2035a8d..00000000 --- a/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model +++ /dev/null @@ -1,33 +0,0 @@ -/* -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 trusted ip addresses of a cluster. -resource TrustedIps { - // Retrieves the list of trusted ip addresses. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of trusted ip addresses. - out Items []TrustedIp - } -} diff --git a/model/clusters_mgmt/v2alpha1/trusted_ips_type.model b/model/clusters_mgmt/v2alpha1/trusted_ips_type.model deleted file mode 100644 index 7e3e97a8..00000000 --- a/model/clusters_mgmt/v2alpha1/trusted_ips_type.model +++ /dev/null @@ -1,21 +0,0 @@ -/* -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. -*/ - -// Representation of a trusted ip address in clusterdeployment. -class TrustedIp { - // The boolean set to show if the ip is enabled. - Enabled Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/tuning_config_resource.model b/model/clusters_mgmt/v2alpha1/tuning_config_resource.model deleted file mode 100644 index bf6ee56a..00000000 --- a/model/clusters_mgmt/v2alpha1/tuning_config_resource.model +++ /dev/null @@ -1,32 +0,0 @@ -/* -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 a specific tuning config. -resource TuningConfig { - // Retrieves the details of the tuning config. - method Get { - out Body TuningConfig - } - - // Updates the tuning config. - method Update { - in out Body TuningConfig - } - - // Deletes the tuning config. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/tuning_config_type.model b/model/clusters_mgmt/v2alpha1/tuning_config_type.model deleted file mode 100644 index 0ba63fe5..00000000 --- a/model/clusters_mgmt/v2alpha1/tuning_config_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// Representation of a tuning config. -class TuningConfig { - // Name of the tuning config. - Name String - - // Spec of the tuning config. - Spec Interface -} diff --git a/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model b/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model deleted file mode 100644 index 98013cdc..00000000 --- a/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 tuning configs for a cluster. -resource TuningConfigs { - // Retrieves the list of tuning configs. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of tuning configs. - out Items []TuningConfig - } - - // Adds a new tuning config to the cluster. - method Add { - // Description of the tuning config. - in out Body TuningConfig - } - - // Reference to the service that manages a specific tuning config. - locator TuningConfig { - target TuningConfig - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model deleted file mode 100644 index 52e64797..00000000 --- a/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 upgrade policies of a cluster. -resource UpgradePolicies { - // Retrieves the list of upgrade policies. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of upgrade policy. - out Items []UpgradePolicy - } - - // Adds a new upgrade policy to the cluster. - method Add { - // Description of the upgrade policy. - in out Body UpgradePolicy - } - - // Reference to the service that manages an specific upgrade policy. - locator UpgradePolicy { - target UpgradePolicy - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model deleted file mode 100644 index b34a5471..00000000 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model +++ /dev/null @@ -1,37 +0,0 @@ -/* -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 a specific upgrade policy. -resource UpgradePolicy { - // Retrieves the details of the upgrade policy. - method Get { - out Body UpgradePolicy - } - - // Update the upgrade policy. - method Update { - in out Body UpgradePolicy - } - - // Deletes the upgrade policy. - method Delete { - } - - // Reference to the state of the upgrade policy. - locator State { - target UpgradePolicyState - } -} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model deleted file mode 100644 index 8537bd88..00000000 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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. -*/ - -// ScheduleType defines which type of scheduling should be used for the upgrade policy. -enum ScheduleType { - // Manual schedule type is for upgrades scheduled manually by a user, to a specific version, at a specific time. - Manual - - // Automatic schedule type for automatically upgrade to the latest available version, at the next scheduled time, - // as defined by the 'scheduled' cron expression. Note that by default, automatic upgrade will pick only - // the latest Z stream. To enable minor version upgrades automatically, you will need to set the - // 'enable_minor_version_upgrades' to be 'true'. Major version upgrades are not supported. - Automatic -} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model deleted file mode 100644 index 2687a0a6..00000000 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model +++ /dev/null @@ -1,28 +0,0 @@ -/* -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 a specific upgrade policy state. -resource UpgradePolicyState { - // Retrieves the details of the upgrade policy state. - method Get { - out Body UpgradePolicyState - } - - // Update the upgrade policy state. - method Update { - in out Body UpgradePolicyState - } -} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model deleted file mode 100644 index a6d7adbf..00000000 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model +++ /dev/null @@ -1,25 +0,0 @@ -/* -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. -*/ - -// Representation of an upgrade policy state that that is set for a cluster. -class UpgradePolicyState { - // State value can be 'pending', 'scheduled', 'cancelled', 'started', 'delayed', - // 'failed' or 'completed'. - Value UpgradePolicyStateValue - - // Description of the state. - Description String -} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model deleted file mode 100644 index 77b8cb5a..00000000 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. -*/ - -// Representation of an upgrade policy that can be set for a cluster. -class UpgradePolicy { - // Cluster ID this upgrade policy is defined for. - ClusterID String - - // Schedule cron expression that defines automatic upgrade scheduling. - Schedule String - - // Schedule type of the upgrade. - ScheduleType ScheduleType - - // Upgrade type specify the type of the upgrade. - UpgradeType UpgradeType - - // Version is the desired upgrade version. - Version String - - // Next time the upgrade should run. - NextRun Date - - // Indicates if minor version upgrades are allowed for automatic upgrades (for manual it's always allowed). - EnableMinorVersionUpgrades Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model deleted file mode 100644 index 5e41742c..00000000 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model +++ /dev/null @@ -1,34 +0,0 @@ -/* -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. -*/ - -// UpgradeType defines which type of upgrade should be used. -enum UpgradeType { - // Upgrade of OSD cluster, which will upgrade the cluster's control plane, and all the node pools. - @json(name = "OSD") - OSD - - // Control plane upgrade, relevant only for hosted control plane clusters. - @json(name = "ControlPlane") - ControlPlane - - // Node pool upgrade, relevant only for hosted control plane clusters. - @json(name = "NodePool") - NodePool - - // Upgrade of an AddOn - @json(name = "ADDON") - AddOn -} diff --git a/model/clusters_mgmt/v2alpha1/user_resource.model b/model/clusters_mgmt/v2alpha1/user_resource.model deleted file mode 100644 index d2780642..00000000 --- a/model/clusters_mgmt/v2alpha1/user_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 a specific user. -resource User { - // Retrieves the details of the user. - method Get { - out Body User - } - - // Deletes the user. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/user_type.model b/model/clusters_mgmt/v2alpha1/user_type.model deleted file mode 100644 index 5c5772c9..00000000 --- a/model/clusters_mgmt/v2alpha1/user_type.model +++ /dev/null @@ -1,19 +0,0 @@ -/* -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. -*/ - -// Representation of a user. -class User { -} diff --git a/model/clusters_mgmt/v2alpha1/users_resource.model b/model/clusters_mgmt/v2alpha1/users_resource.model deleted file mode 100644 index 52b49cf9..00000000 --- a/model/clusters_mgmt/v2alpha1/users_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 users of a group. -resource Users { - // Retrieves the list of users. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of users. - out Items []User - } - - // Adds a new user to the group. - method Add { - // Description of the user. - in out Body User - } - - // Reference to the service that manages an specific user. - locator User { - target User - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/value_type.model b/model/clusters_mgmt/v2alpha1/value_type.model deleted file mode 100644 index 1b3cbad4..00000000 --- a/model/clusters_mgmt/v2alpha1/value_type.model +++ /dev/null @@ -1,41 +0,0 @@ -/* -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. -*/ - -// Numeric value and the unit used to measure it. -// -// Units are not mandatory, and they're not specified for some resources. For -// resources that use bytes, the accepted units are: -// -// - 1 B = 1 byte -// - 1 KB = 10^3 bytes -// - 1 MB = 10^6 bytes -// - 1 GB = 10^9 bytes -// - 1 TB = 10^12 bytes -// - 1 PB = 10^15 bytes -// -// - 1 B = 1 byte -// - 1 KiB = 2^10 bytes -// - 1 MiB = 2^20 bytes -// - 1 GiB = 2^30 bytes -// - 1 TiB = 2^40 bytes -// - 1 PiB = 2^50 bytes -struct Value { - // Numeric value. - Value Float - - // Name of the unit used to measure the value. - Unit String -} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model deleted file mode 100644 index 77a3c4d8..00000000 --- a/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 a specific version gate agreement. -resource VersionGateAgreement { - // Retrieves the details of the version gate agreement. - method Get { - out Body VersionGateAgreement - } - - // Deletes the version gate agreement. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model b/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model deleted file mode 100644 index 5d96a437..00000000 --- a/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. -*/ - -// VersionGateAgreement represents a version gate that the user agreed to for a specific cluster. -class VersionGateAgreement { - // link to the version gate that the user agreed to - link VersionGate VersionGate - - // The time the user agreed to the version gate - AgreedTimestamp Date -} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model deleted file mode 100644 index 692dd7ff..00000000 --- a/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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 version gates agreements for a cluster. -resource VersionGateAgreements { - // Retrieves the list of reasons. - method List { - // Index of the requested page, where one corresponds to the first page. - in out Page Integer = 1 - - // Number of items contained in the returned page. - in out Size Integer = 100 - - // Total number of items of the collection. - out Total Integer - - // Retrieved list of version gate agreement. - out Items []VersionGateAgreement - } - - // Adds a new agreed version gate to the cluster. - method Add { - // Details of the version gate agreement. - in out Body VersionGateAgreement - } - - // Reference to the service that manages a specific version gate agreement. - locator VersionGateAgreement { - target VersionGateAgreement - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_resource.model deleted file mode 100644 index 1ef98a10..00000000 --- a/model/clusters_mgmt/v2alpha1/version_gate_resource.model +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 a specific version gate. -resource VersionGate { - // Retrieves the details of the version gate. - method Get { - out Body VersionGate - } - - // Deletes the version gate. - method Delete { - } -} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_type.model b/model/clusters_mgmt/v2alpha1/version_gate_type.model deleted file mode 100644 index 67362a7a..00000000 --- a/model/clusters_mgmt/v2alpha1/version_gate_type.model +++ /dev/null @@ -1,43 +0,0 @@ -/* -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. -*/ - -// Representation of an _OpenShift_ version gate. -class VersionGate { - // VersionRawIDPrefix represents the versions prefix that the gate applies to. - VersionRawIDPrefix String - - // Label representing the version gate in OpenShift. - Label String - - // Value represents the required value of the label. - Value String - - // WarningMessage is a warning that will be displayed to the user before they acknowledge the gate - WarningMessage String - - // Description of the version gate. - Description String - - // DocumentationURL is the URL for the documentation of the version gate. - DocumentationURL String - - // STSOnly indicates if this version gate is for STS clusters only - STSOnly Boolean - - // CreationTimestamp is the date and time when the version gate was created, - // format defined in https://www.ietf.org/rfc/rfc3339.txt[RC3339]. - CreationTimestamp Date -} diff --git a/model/clusters_mgmt/v2alpha1/version_gates_resource.model b/model/clusters_mgmt/v2alpha1/version_gates_resource.model deleted file mode 100644 index 0af5b713..00000000 --- a/model/clusters_mgmt/v2alpha1/version_gates_resource.model +++ /dev/null @@ -1,73 +0,0 @@ -/* -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 version gates. -resource VersionGates { - // Retrieves a list of version gates. - 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. - // - // Default value is `100`. - in out Size Integer = 100 - - // Search criteria. - // - // The syntax of this parameter is similar to the syntax of the _where_ clause of an - // SQL statement, but using the names of the attributes of the version gate instead of - // the names of the columns of a table. - // - // If the parameter isn't provided, or if the value is empty, then all the version gates - // 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 - // an SQL statement, but using the names of the attributes of the version gate instead of - // the names of the columns of a table. For example, in order to sort the version gates - // descending by identifier the value should be: - // - // ```sql - // 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 version gates. - out Items []VersionGate - } - - // Adds a new version gate - method Add { - // Details of the version gate - in out Body VersionGate - } - - // Reference to the resource that manages a specific version gate. - locator VersionGate { - target VersionGate - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/version_resource.model b/model/clusters_mgmt/v2alpha1/version_resource.model deleted file mode 100644 index 4f47b48b..00000000 --- a/model/clusters_mgmt/v2alpha1/version_resource.model +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 a specific version. -resource Version { - // Retrieves the details of the version. - method Get { - out Body Version - } -} diff --git a/model/clusters_mgmt/v2alpha1/version_type.model b/model/clusters_mgmt/v2alpha1/version_type.model deleted file mode 100644 index 77d30c60..00000000 --- a/model/clusters_mgmt/v2alpha1/version_type.model +++ /dev/null @@ -1,62 +0,0 @@ -/* -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. -*/ - -// Representation of an _OpenShift_ version. -class Version { - // RawID is the id of the version - without channel group and prefix. - RawID String - - // Indicates if this version can be used to create clusters. - Enabled Boolean - - // Indicates if this should be selected as the default version when a cluster is created - // without specifying explicitly the version. - Default Boolean - - // ChannelGroup is the name of the group where this image belongs. - // ChannelGroup is a mechanism to partition the images to different groups, - // each image belongs to only a single group. - ChannelGroup String - - // ROSAEnabled indicates whether this version can be used to create ROSA clusters. - ROSAEnabled Boolean - - // HostedControlPlaneEnabled indicates whether this version can be used to create HCP clusters. - HostedControlPlaneEnabled Boolean - - // HostedControlPlaneDefault is a flag that indicates if this should be selected as the default version when a - // HCP cluster is created without specifying explicitly the version. - HostedControlPlaneDefault Boolean - - // AvailableUpgrades is the list of versions this version can be upgraded to. - AvailableUpgrades []String - - // EndOfLifeTimestamp is the date and time when the version will get to End of Life, using the - // format defined in https://www.ietf.org/rfc/rfc3339.txt[RC3339]. - EndOfLifeTimestamp Date - - // ReleaseImage contains the URI of Openshift release image for amd64 architecture. - ReleaseImage String - - // ImageOverrides contains the lists of images per cloud provider. - ImageOverrides ImageOverrides - - // GCPMarketplaceEnabled indicates if this version can be used to create GCP Marketplace clusters. - GCPMarketplaceEnabled Boolean - - // ReleaseImages contains the URI of OpenShift release images for arm64 and multi architectures. - ReleaseImages ReleaseImages -} diff --git a/model/clusters_mgmt/v2alpha1/versions_resource.model b/model/clusters_mgmt/v2alpha1/versions_resource.model deleted file mode 100644 index 371be799..00000000 --- a/model/clusters_mgmt/v2alpha1/versions_resource.model +++ /dev/null @@ -1,72 +0,0 @@ -/* -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 versions. -resource Versions { - // Retrieves a list of versions. - 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. - // - // Default value is `100`. - 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 version instead of - // the names of the columns of a table. For example, in order to retrieve all the - // versions that are enabled: - // - // ```sql - // enabled = 't' - // ``` - // - // If the parameter isn't provided, or if the value is empty, then all the versions - // 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 version instead of - // the names of the columns of a table. For example, in order to sort the versions - // descending by identifier the value should be: - // - // ```sql - // 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 versions. - out Items []Version - } - - // Reference to the resource that manages a specific version. - locator Version { - target Version - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model b/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model deleted file mode 100644 index e5d478e7..00000000 --- a/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. -*/ - -// Description of a cloud provider virtual private cloud. -struct CloudVPC { - // Name of virtual private cloud according to its `Name` tag on AWS. - Name String - - // ID of virtual private cloud. - ID String - - // List of subnets used by the virtual private cloud. - Subnets []String - - // List of AWS subnetworks with details. - AWSSubnets []Subnetwork - - // List of AWS security groups with details. - AWSSecurityGroups []SecurityGroup - - // CIDR block of the virtual private cloud. - CIDRBlock String - - // If the resource is RH managed. - RedHatManaged Boolean -} diff --git a/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model deleted file mode 100644 index 561b48c5..00000000 --- a/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model +++ /dev/null @@ -1,44 +0,0 @@ -/* -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 vpcs inquiry. -resource VpcsInquiry { - // Retrieves the list of available vpcs of the cloud provider for specific region. - // IMPORTANT: This collection doesn't currently support paging or searching, so the returned - // `page` will always be 1 and `size` and `total` will always be the total number of available vpcs - // of the provider. - method Search { - // Index of the returned page, where one corresponds to the first page. As this - // collection doesn't support paging the result will always be `1`. - in out Page Integer = 1 - - // Number of items that will be contained in the returned page. As this collection - // doesn't support paging or searching the result will always be the total number of - // vpcs of the provider. - in out Size Integer = 100 - - // Total number of items of the collection that match the search criteria, - // regardless of the size of the page. As this collection doesn't support paging or - // searching the result will always be the total number of available vpcs of the provider. - out Total Integer - - // Retrieved list of cloud VPC. - out Items []CloudVPC - - // Cloud provider data needed for the inquiry - in Body CloudProviderData - } -} diff --git a/model/clusters_mgmt/v2alpha1/wif_config_resource.model b/model/clusters_mgmt/v2alpha1/wif_config_resource.model deleted file mode 100644 index a00712bb..00000000 --- a/model/clusters_mgmt/v2alpha1/wif_config_resource.model +++ /dev/null @@ -1,29 +0,0 @@ -/* -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 a specific wif_config. -resource WifConfig { - // Retrieves the details of the WifConfig. - method Get { - out Body WifConfig - } - - // Deletes the wif_config. - method Delete { - // Dry run flag is used to check if the operation can be completed, but won't delete. - in DryRun Boolean = false - } -} diff --git a/model/clusters_mgmt/v2alpha1/wif_config_type.model b/model/clusters_mgmt/v2alpha1/wif_config_type.model deleted file mode 100644 index 874fc371..00000000 --- a/model/clusters_mgmt/v2alpha1/wif_config_type.model +++ /dev/null @@ -1,57 +0,0 @@ -/* -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. -*/ - -// Definition of an wif_config resource. -class WifConfig { - // The name OCM clients will display for this wif_config. - DisplayName String - // Holds GCP related data. - Gcp WifGcp - // The OCM organization that this wif_config resource belongs to. - Organization OrganizationLink -} - -struct WifGcp { - // This is the service account email that OCM will use to access other SAs. - ImpersonatorEmail String - // This represents the GCP project ID in which the wif resources will be configured. - ProjectId String - // The list of service accounts and their associated roles that will need to be - // configured on the user's GCP project. - ServiceAccounts []WifServiceAccount - // Defines the access configuration for support. - Support WifSupport - // The workload identity configuration data that will be used to create the - // workload identity pool on the user's account. - WorkloadIdentityPool WifPool -} - -struct WifPool { - // Identity provider configuration data that will be created as part of the - // workload identity pool. - IdentityProvider WifIdentityProvider - // The Id of the workload identity pool. - PoolId String - // The display name of the workload identity pool. - PoolName String -} - -struct WifIdentityProvider { - AllowedAudiences []String - IdentityProviderId String - IssuerUrl String - Jwks string -} diff --git a/model/clusters_mgmt/v2alpha1/wif_configs_resources.model b/model/clusters_mgmt/v2alpha1/wif_configs_resources.model deleted file mode 100644 index 43db9150..00000000 --- a/model/clusters_mgmt/v2alpha1/wif_configs_resources.model +++ /dev/null @@ -1,77 +0,0 @@ -/* -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 wif_configs. -resource WifConfigs { - // Retrieves the list of wif_configs - 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 - // wif_configs 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 wif_configs. - out Items []WifConfig - } - - // Provision a new wif_config resource and add it to the collection of wif_configs. - method Add { - // Description of the wif_config. - in out Body WifConfig - } - - // Returns a reference to the service that manages an specific wif_config. - locator WifConfig { - target WifConfig - variable ID - } -} diff --git a/model/clusters_mgmt/v2alpha1/wif_service_account_type.model b/model/clusters_mgmt/v2alpha1/wif_service_account_type.model deleted file mode 100644 index 00c9477e..00000000 --- a/model/clusters_mgmt/v2alpha1/wif_service_account_type.model +++ /dev/null @@ -1,45 +0,0 @@ -/* -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. -*/ - -struct WifServiceAccount { - AccessMethod WifAccessMethod - CredentialRequest WifCredentialRequest - ServiceAccountId String - OsdRole String - Roles []WifRole -} - -enum WifAccessMethod { - Impersonate - Vm - Wif -} - -struct WifCredentialRequest { - SecretRef WifSecretRef - ServiceAccountNames []String -} - -struct WifSecretRef { - Name String - Namespace String -} - -struct WifRole { - RoleId String - Predefined Boolean - Permissions []String -} diff --git a/model/clusters_mgmt/v2alpha1/wif_support_type.model b/model/clusters_mgmt/v2alpha1/wif_support_type.model deleted file mode 100644 index 1ecd7110..00000000 --- a/model/clusters_mgmt/v2alpha1/wif_support_type.model +++ /dev/null @@ -1,20 +0,0 @@ -/* -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. -*/ - -struct WifSupport { - Principal String - Roles []WifRole -} diff --git a/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model b/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model deleted file mode 100644 index c4b53695..00000000 --- a/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model +++ /dev/null @@ -1,26 +0,0 @@ -/* -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. -*/ - -// Type of wildcard policy. -enum WildcardPolicy { - // Wildcards Allowed. - @json(name = "WildcardsAllowed") - WildcardsAllowed - - // Wildcards Disallowed. - @json(name = "WildcardsDisallowed") - WildcardsDisallowed -}