From 994feb45fa5f6453f07d1767df3fbfa44a432cc6 Mon Sep 17 00:00:00 2001 From: hkepley Date: Mon, 5 Aug 2024 17:44:03 -0400 Subject: [PATCH] OCM-6419 | feat: add OidcThumbprint / OidcThumbprintInput to support thumbprints --- CHANGES.md | 5 +++ .../v1/aws_inquiries_resource.model | 5 +++ .../v1/oidc_thumbprint_input_type.model | 25 ++++++++++++++ .../v1/oidc_thumbprint_resource.model | 24 +++++++++++++ .../v1/oidc_thumbprint_type.model | 34 +++++++++++++++++++ .../v2alpha1/aws_inquiries_resource.model | 5 +++ .../v2alpha1/oidc_thumbprint_input_type.model | 25 ++++++++++++++ .../v2alpha1/oidc_thumbprint_resource.model | 24 +++++++++++++ .../v2alpha1/oidc_thumbprint_type.model | 34 +++++++++++++++++++ 9 files changed, 181 insertions(+) create mode 100644 model/clusters_mgmt/v1/oidc_thumbprint_input_type.model create mode 100644 model/clusters_mgmt/v1/oidc_thumbprint_resource.model create mode 100644 model/clusters_mgmt/v1/oidc_thumbprint_type.model create mode 100644 model/clusters_mgmt/v2alpha1/oidc_thumbprint_input_type.model create mode 100644 model/clusters_mgmt/v2alpha1/oidc_thumbprint_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/oidc_thumbprint_type.model diff --git a/CHANGES.md b/CHANGES.md index 1f1d8d8f..2ef05da8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,11 @@ This document describes the relevant changes between releases of the API model. +## 0.0.388 Aug 06 2024 +- Add 'OidcThumbprint' type model to v1 and v2alpha1 +- Add 'OidcThumbprintInput' type model to v1 and v2alpha1 +- Add 'OidcThumbprint' resource model to v1 and v2alpha1 + ## 0.0.387 Aug 05 2024 - Add `ProjectNumber` field to `WifConfig` model diff --git a/model/clusters_mgmt/v1/aws_inquiries_resource.model b/model/clusters_mgmt/v1/aws_inquiries_resource.model index 305bcbf4..ad4d1ab3 100644 --- a/model/clusters_mgmt/v1/aws_inquiries_resource.model +++ b/model/clusters_mgmt/v1/aws_inquiries_resource.model @@ -50,4 +50,9 @@ resource AWSInquiries { locator ValidateCredentials { target AwsValidateCredentials } + + // Reference to the resource that manages OIDC Config Thumbprint fetching. + locator OidcThumbprint { + target OidcThumbprint + } } diff --git a/model/clusters_mgmt/v1/oidc_thumbprint_input_type.model b/model/clusters_mgmt/v1/oidc_thumbprint_input_type.model new file mode 100644 index 00000000..11c37042 --- /dev/null +++ b/model/clusters_mgmt/v1/oidc_thumbprint_input_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT 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/v1/oidc_thumbprint_resource.model b/model/clusters_mgmt/v1/oidc_thumbprint_resource.model new file mode 100644 index 00000000..33a48d9e --- /dev/null +++ b/model/clusters_mgmt/v1/oidc_thumbprint_resource.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// 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/v1/oidc_thumbprint_type.model b/model/clusters_mgmt/v1/oidc_thumbprint_type.model new file mode 100644 index 00000000..9be38b34 --- /dev/null +++ b/model/clusters_mgmt/v1/oidc_thumbprint_type.model @@ -0,0 +1,34 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT 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/aws_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model index 857bd43d..c07ae240 100644 --- a/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model @@ -50,4 +50,9 @@ resource AWSInquiries { 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/oidc_thumbprint_input_type.model b/model/clusters_mgmt/v2alpha1/oidc_thumbprint_input_type.model new file mode 100644 index 00000000..11c37042 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/oidc_thumbprint_input_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT 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 new file mode 100644 index 00000000..33a48d9e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/oidc_thumbprint_resource.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// 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 new file mode 100644 index 00000000..9be38b34 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/oidc_thumbprint_type.model @@ -0,0 +1,34 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT 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 +}