Skip to content

Avoid diffs due to order of elements returned by the controller - #11

Open
bltavares wants to merge 1 commit into
cormacrelf:masterfrom
bltavares:reduce-diffs-due-to-ordering
Open

Avoid diffs due to order of elements returned by the controller #11
bltavares wants to merge 1 commit into
cormacrelf:masterfrom
bltavares:reduce-diffs-due-to-ordering

Conversation

@bltavares

@bltavares bltavares commented Mar 17, 2019

Copy link
Copy Markdown
Contributor

The network and member resource use a couple of settings which could be
defined multiple times.

For example: the assigned ips on a member could change the order, while
the semantic means the same.

The provider was using a schema.ListType, which according to the
documentation is an ordered list of elements, where the order
matter.

On those resource seetings, the order is not relevant, as they are
sematically equivalent. There is a schema.SetType which provides an
unordered collection of settings, and grants the same order given the
same settings.

This commit changes the schema of those resources to use
schema.SetType instead of schema.ListType to avoid diff loops
depending on the sorting of the response from the API.

The network and member resource use a couple of settings which could be
defined multiple times.

For example: the assigned ips on a member could change the order, while
the semantic means the same.

The provider was using a `schema.ListType`, which according to the
documentation is an *ordered* list of elements, where the order
matter.

On those resource seetings, the order is not relevant, as they are
sematically equivalent. There is a `schema.SetType` which provides an
*unordered* collection of settings, and grants the same order given the
same settings.

This commit changes the schema of those resources to use
`schema.SetType` instead of `schema.ListType` to avoid diff loops
depending on the sorting of the response from the API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant