From 1b25ff88b6580758a4d2228b00e76b7dc9b2a290 Mon Sep 17 00:00:00 2001 From: Max Bowsher Date: Wed, 31 May 2023 19:10:24 +0000 Subject: [PATCH] backport of commit e65d295c8809f4cc61b63bbc03293586c71c5483 --- changelog/20881.txt | 3 +++ sdk/framework/openapi.go | 4 ++++ 2 files changed, 7 insertions(+) create mode 100644 changelog/20881.txt diff --git a/changelog/20881.txt b/changelog/20881.txt new file mode 100644 index 000000000000..fd3e6d5fa44f --- /dev/null +++ b/changelog/20881.txt @@ -0,0 +1,3 @@ +```release-note:improvement +sdk/framework: Fix non-deterministic ordering of 'required' fields in OpenAPI spec +``` diff --git a/sdk/framework/openapi.go b/sdk/framework/openapi.go index d69e0b83e69d..e43c5ff89eea 100644 --- a/sdk/framework/openapi.go +++ b/sdk/framework/openapi.go @@ -373,6 +373,10 @@ func documentPath(p *Path, specialPaths *logical.Paths, requestResponsePrefix st s.Properties[name] = &p } + // Make the ordering deterministic, so that the generated OpenAPI spec document, observed over several + // versions, doesn't contain spurious non-semantic changes. + sort.Strings(s.Required) + // If examples were given, use the first one as the sample // of this schema. if len(props.Examples) > 0 {