Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use "default" identifier to represent default quotas and rate limits. #14

Merged
merged 3 commits into from
Jan 14, 2021
Merged

Use "default" identifier to represent default quotas and rate limits. #14

merged 3 commits into from
Jan 14, 2021

Conversation

timburks
Copy link
Contributor

@timburks timburks commented Jan 12, 2021

This addresses #7 with a simpler suggestion than what was most recently discussed in the thread. In that discussion, we favored using glob patterns (using "*" as a wildcard) to match groups of paths.

While they are widely used, I did not find standard definitions for glob patterns that seemed suitable for citing from a standards document. One person that I discussed this with suggested using the robots.txt specification, which defines the "*" special character as "matching 0 or more instances of any character" (presumably excluding "/"). The exclusion of "/" makes this inappropriate for our usage, as we would want a way to specify all paths with a single expression. We might consider redefining "*" or using a different wildcard (e.g. "**") but I feel that it would not be good to use a close-but-different meaning or to define our own wildcards for this relatively-small specification extension.

Ideally a method for specifying groups of paths would be part of the broader OpenAPI Specification.

In proposals/004_Overlays.md, Darrel Miller proposes a mechanism for applying JSON (or YAML) fragments to an OpenAPI document at targets specified with JMESPath expressions. If approved, this might allow quotas and rates to be applied to groups of operations using overlays. However, it assumes that quotas and rates for individual paths could be attached directly to path objects in an OpenAPI description, and this does not seem to be possible with the current structure of the SLA4OAI Specification, which places paths in rates and quotas objects.

This seems worth discussing with the OpenAPI technical committee. The most recent overlays proposal is a year old and might still be revised before being accepted into the standard, and the committee may have suggestions for ways to restructure the SLA4OAI spec to be more compatible with overlays.

"default" is proposed here because it seems to be the simplest way to provide for default values while avoiding the complexity of nonstandard definitions of wildcards and the difficulties (noted above) of using overlays with the SLA4OAI spec.

@pjmolina pjmolina merged commit c4474fd into isa-group:main Jan 14, 2021
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.

2 participants