diff --git a/main.tsp b/main.tsp index f4a537d..941c257 100644 --- a/main.tsp +++ b/main.tsp @@ -20,7 +20,7 @@ using OpenAPI; * */ @service(#{ title: "HyperFleet API" }) -@info(#{ version: "1.0.4", contact: #{ name: "HyperFleet Team" }, license: #{ name: "Apache 2.0" ,url: "https://www.apache.org/licenses/LICENSE-2.0"} }) +@info(#{ version: "1.0.5", contact: #{ name: "HyperFleet Team" }, license: #{ name: "Apache 2.0" ,url: "https://www.apache.org/licenses/LICENSE-2.0"} }) @server("https://hyperfleet.redhat.com", "Production") @route("/api/hyperfleet/v1") namespace HyperFleet; diff --git a/models-core/cluster/example_cluster.tsp b/models-core/cluster/example_cluster.tsp index b7034ee..78f3d04 100644 --- a/models-core/cluster/example_cluster.tsp +++ b/models-core/cluster/example_cluster.tsp @@ -6,6 +6,7 @@ const exampleCluster: Cluster = #{ kind: "Cluster", id: "cluster-123", href: "https://api.hyperfleet.com/v1/clusters/cluster-123", + uuid: "550e8400-e29b-41d4-a716-446655440000", name: "cluster-123", labels: #{ environment: "production", team: "platform" }, spec: #{}, diff --git a/models-core/nodepool/example_nodepool.tsp b/models-core/nodepool/example_nodepool.tsp index 349a518..dfecaaa 100644 --- a/models-core/nodepool/example_nodepool.tsp +++ b/models-core/nodepool/example_nodepool.tsp @@ -6,6 +6,7 @@ const exampleNodePool: NodePool = #{ kind: "NodePool", id: "nodepool-123", href: "https://api.hyperfleet.com/v1/nodepools/nodepool-123", + uuid: "7c9e6679-7425-40de-944b-e07fc1f90ae7", name: "worker-pool-1", labels: #{ environment: "production", pooltype: "worker" }, spec: #{}, diff --git a/models-gcp/cluster/example_cluster.tsp b/models-gcp/cluster/example_cluster.tsp index a732e36..ec0935f 100644 --- a/models-gcp/cluster/example_cluster.tsp +++ b/models-gcp/cluster/example_cluster.tsp @@ -6,6 +6,7 @@ const exampleCluster: Cluster = #{ kind: "Cluster", id: "cluster-123", href: "https://api.hyperfleet.com/v1/clusters/cluster-123", + uuid: "550e8400-e29b-41d4-a716-446655440000", name: "cluster-123", labels: #{ environment: "production", team: "platform" }, spec: #{ diff --git a/models-gcp/nodepool/example_nodepool.tsp b/models-gcp/nodepool/example_nodepool.tsp index 3f158fc..a376efb 100644 --- a/models-gcp/nodepool/example_nodepool.tsp +++ b/models-gcp/nodepool/example_nodepool.tsp @@ -5,6 +5,7 @@ const exampleNodePool: NodePool = #{ kind: "NodePool", id: "nodepool-123", href: "https://api.hyperfleet.com/v1/nodepools/nodepool-123", + uuid: "7c9e6679-7425-40de-944b-e07fc1f90ae7", name: "worker-pool-1", labels: #{ environment: "production", pooltype: "worker" }, generation: 1, diff --git a/models/clusters/model.tsp b/models/clusters/model.tsp index dca17b2..e935b52 100644 --- a/models/clusters/model.tsp +++ b/models/clusters/model.tsp @@ -44,6 +44,15 @@ model Cluster { ...ClusterBase; ...APICreatedResource; + /** + * RFC4122 UUID identifier for the cluster (immutable, assigned at creation). + * This provides a stable, standards-compliant identifier for platform integrations + * that require UUID format (e.g., Hypershift spec.clusterID). + */ + @format("uuid") + @example("550e8400-e29b-41d4-a716-446655440000") + uuid?: string; + /** * Generation field is updated on customer updates, reflecting the version of the "intent" of the customer */ diff --git a/models/nodepools/model.tsp b/models/nodepools/model.tsp index 4dd5d37..9d9f636 100644 --- a/models/nodepools/model.tsp +++ b/models/nodepools/model.tsp @@ -41,6 +41,15 @@ model NodePool { ...NodePoolBase; ...APICreatedResource; + /** + * RFC4122 UUID identifier for the nodepool (immutable, assigned at creation). + * This provides a stable, standards-compliant identifier for platform integrations + * that require UUID format. + */ + @format("uuid") + @example("7c9e6679-7425-40de-944b-e07fc1f90ae7") + uuid?: string; + /** * Generation field is updated on customer updates, reflecting the version of the "intent" of the customer */ diff --git a/schemas/core/openapi.yaml b/schemas/core/openapi.yaml index 24e44b0..349482a 100644 --- a/schemas/core/openapi.yaml +++ b/schemas/core/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: HyperFleet API - version: 1.0.4 + version: 1.0.5 contact: name: HyperFleet Team license: @@ -745,6 +745,14 @@ components: updated_by: type: string format: email + uuid: + type: string + format: uuid + description: |- + RFC4122 UUID identifier for the cluster (immutable, assigned at creation). + This provides a stable, standards-compliant identifier for platform integrations + that require UUID format (e.g., Hypershift spec.clusterID). + example: 550e8400-e29b-41d4-a716-446655440000 generation: type: integer format: int32 @@ -756,6 +764,7 @@ components: kind: Cluster id: cluster-123 href: https://api.hyperfleet.com/v1/clusters/cluster-123 + uuid: 550e8400-e29b-41d4-a716-446655440000 name: cluster-123 labels: environment: production @@ -1002,6 +1011,14 @@ components: updated_by: type: string format: email + uuid: + type: string + format: uuid + description: |- + RFC4122 UUID identifier for the nodepool (immutable, assigned at creation). + This provides a stable, standards-compliant identifier for platform integrations + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 generation: type: integer format: int32 @@ -1015,6 +1032,7 @@ components: kind: NodePool id: nodepool-123 href: https://api.hyperfleet.com/v1/nodepools/nodepool-123 + uuid: 7c9e6679-7425-40de-944b-e07fc1f90ae7 name: worker-pool-1 labels: environment: production @@ -1144,6 +1162,14 @@ components: updated_by: type: string format: email + uuid: + type: string + format: uuid + description: |- + RFC4122 UUID identifier for the nodepool (immutable, assigned at creation). + This provides a stable, standards-compliant identifier for platform integrations + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 generation: type: integer format: int32 diff --git a/schemas/core/swagger.yaml b/schemas/core/swagger.yaml index a4ecca9..d8092e0 100644 --- a/schemas/core/swagger.yaml +++ b/schemas/core/swagger.yaml @@ -16,7 +16,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: HyperFleet API - version: 1.0.4 + version: 1.0.5 host: hyperfleet.redhat.com basePath: / schemes: @@ -874,6 +874,7 @@ definitions: type: Adapter2Successful updated_by: user-123@example.com updated_time: '2021-01-01T00:00:00Z' + uuid: 550e8400-e29b-41d4-a716-446655440000 properties: created_by: format: email @@ -918,6 +919,18 @@ definitions: updated_time: format: date-time type: string + uuid: + description: >- + RFC4122 UUID identifier for the cluster (immutable, assigned at + creation). + + This provides a stable, standards-compliant identifier for platform + integrations + + that require UUID format (e.g., Hypershift spec.clusterID). + example: 550e8400-e29b-41d4-a716-446655440000 + format: uuid + type: string required: - name - spec @@ -1148,6 +1161,7 @@ definitions: type: Adapter2Successful updated_by: user-123@example.com updated_time: '2021-01-01T00:00:00Z' + uuid: 7c9e6679-7425-40de-944b-e07fc1f90ae7 properties: created_by: format: email @@ -1194,6 +1208,18 @@ definitions: updated_time: format: date-time type: string + uuid: + description: >- + RFC4122 UUID identifier for the nodepool (immutable, assigned at + creation). + + This provides a stable, standards-compliant identifier for platform + integrations + + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 + format: uuid + type: string required: - name - spec @@ -1286,6 +1312,18 @@ definitions: updated_time: format: date-time type: string + uuid: + description: >- + RFC4122 UUID identifier for the nodepool (immutable, assigned at + creation). + + This provides a stable, standards-compliant identifier for platform + integrations + + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 + format: uuid + type: string required: - name - spec diff --git a/schemas/gcp/openapi.yaml b/schemas/gcp/openapi.yaml index 2e9b451..4ad8354 100644 --- a/schemas/gcp/openapi.yaml +++ b/schemas/gcp/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: HyperFleet API - version: 1.0.4 + version: 1.0.5 contact: name: HyperFleet Team license: @@ -624,6 +624,14 @@ components: updated_by: type: string format: email + uuid: + type: string + format: uuid + description: |- + RFC4122 UUID identifier for the cluster (immutable, assigned at creation). + This provides a stable, standards-compliant identifier for platform integrations + that require UUID format (e.g., Hypershift spec.clusterID). + example: 550e8400-e29b-41d4-a716-446655440000 generation: type: integer format: int32 @@ -635,6 +643,7 @@ components: kind: Cluster id: cluster-123 href: https://api.hyperfleet.com/v1/clusters/cluster-123 + uuid: 550e8400-e29b-41d4-a716-446655440000 name: cluster-123 labels: environment: production @@ -959,6 +968,14 @@ components: updated_by: type: string format: email + uuid: + type: string + format: uuid + description: |- + RFC4122 UUID identifier for the nodepool (immutable, assigned at creation). + This provides a stable, standards-compliant identifier for platform integrations + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 generation: type: integer format: int32 @@ -972,6 +989,7 @@ components: kind: NodePool id: nodepool-123 href: https://api.hyperfleet.com/v1/nodepools/nodepool-123 + uuid: 7c9e6679-7425-40de-944b-e07fc1f90ae7 name: worker-pool-1 labels: environment: production @@ -1139,6 +1157,14 @@ components: updated_by: type: string format: email + uuid: + type: string + format: uuid + description: |- + RFC4122 UUID identifier for the nodepool (immutable, assigned at creation). + This provides a stable, standards-compliant identifier for platform integrations + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 generation: type: integer format: int32 diff --git a/schemas/gcp/swagger.yaml b/schemas/gcp/swagger.yaml index 1f0c7a2..612069b 100644 --- a/schemas/gcp/swagger.yaml +++ b/schemas/gcp/swagger.yaml @@ -16,7 +16,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: HyperFleet API - version: 1.0.4 + version: 1.0.5 host: hyperfleet.redhat.com basePath: / schemes: @@ -761,6 +761,7 @@ definitions: type: Adapter2Successful updated_by: user-123@example.com updated_time: '2021-01-01T00:00:00Z' + uuid: 550e8400-e29b-41d4-a716-446655440000 properties: created_by: format: email @@ -805,6 +806,18 @@ definitions: updated_time: format: date-time type: string + uuid: + description: >- + RFC4122 UUID identifier for the cluster (immutable, assigned at + creation). + + This provides a stable, standards-compliant identifier for platform + integrations + + that require UUID format (e.g., Hypershift spec.clusterID). + example: 550e8400-e29b-41d4-a716-446655440000 + format: uuid + type: string required: - name - spec @@ -1111,6 +1124,7 @@ definitions: type: NodePoolSuccessful updated_by: user-123@example.com updated_time: '2021-01-01T00:00:00Z' + uuid: 7c9e6679-7425-40de-944b-e07fc1f90ae7 properties: created_by: format: email @@ -1157,6 +1171,18 @@ definitions: updated_time: format: date-time type: string + uuid: + description: >- + RFC4122 UUID identifier for the nodepool (immutable, assigned at + creation). + + This provides a stable, standards-compliant identifier for platform + integrations + + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 + format: uuid + type: string required: - name - spec @@ -1268,6 +1294,18 @@ definitions: updated_time: format: date-time type: string + uuid: + description: >- + RFC4122 UUID identifier for the nodepool (immutable, assigned at + creation). + + This provides a stable, standards-compliant identifier for platform + integrations + + that require UUID format. + example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 + format: uuid + type: string required: - name - spec