new '/grants' endpoint for synchronizing grants for an account (#744)

This commit is contained in:
Michael Quigley
2024-09-04 16:10:19 -04:00
parent 34754704ea
commit a26cf19ade
19 changed files with 1228 additions and 0 deletions

View File

@ -42,6 +42,7 @@ from zrok_api.models.environments import Environments
from zrok_api.models.error_message import ErrorMessage
from zrok_api.models.frontend import Frontend
from zrok_api.models.frontends import Frontends
from zrok_api.models.grants_body import GrantsBody
from zrok_api.models.identity_body import IdentityBody
from zrok_api.models.inline_response200 import InlineResponse200
from zrok_api.models.inline_response201 import InlineResponse201

View File

@ -400,6 +400,95 @@ class AdminApi(object):
_request_timeout=params.get('_request_timeout'),
collection_formats=collection_formats)
def grants(self, **kwargs): # noqa: E501
"""grants # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.grants(async_req=True)
>>> result = thread.get()
:param async_req bool
:param GrantsBody body:
:return: None
If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.grants_with_http_info(**kwargs) # noqa: E501
else:
(data) = self.grants_with_http_info(**kwargs) # noqa: E501
return data
def grants_with_http_info(self, **kwargs): # noqa: E501
"""grants # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.grants_with_http_info(async_req=True)
>>> result = thread.get()
:param async_req bool
:param GrantsBody body:
:return: None
If the method is called asynchronously,
returns the request thread.
"""
all_params = ['body'] # noqa: E501
all_params.append('async_req')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
all_params.append('_request_timeout')
params = locals()
for key, val in six.iteritems(params['kwargs']):
if key not in all_params:
raise TypeError(
"Got an unexpected keyword argument '%s'"
" to method grants" % key
)
params[key] = val
del params['kwargs']
collection_formats = {}
path_params = {}
query_params = []
header_params = {}
form_params = []
local_var_files = {}
body_params = None
if 'body' in params:
body_params = params['body']
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/zrok.v1+json']) # noqa: E501
# Authentication setting
auth_settings = ['key'] # noqa: E501
return self.api_client.call_api(
'/grants', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type=None, # noqa: E501
auth_settings=auth_settings,
async_req=params.get('async_req'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
_request_timeout=params.get('_request_timeout'),
collection_formats=collection_formats)
def invite_token_generate(self, **kwargs): # noqa: E501
"""invite_token_generate # noqa: E501

View File

@ -32,6 +32,7 @@ from zrok_api.models.environments import Environments
from zrok_api.models.error_message import ErrorMessage
from zrok_api.models.frontend import Frontend
from zrok_api.models.frontends import Frontends
from zrok_api.models.grants_body import GrantsBody
from zrok_api.models.identity_body import IdentityBody
from zrok_api.models.inline_response200 import InlineResponse200
from zrok_api.models.inline_response201 import InlineResponse201

View File

@ -0,0 +1,110 @@
# coding: utf-8
"""
zrok
zrok client access # noqa: E501
OpenAPI spec version: 0.3.0
Generated by: https://github.com/swagger-api/swagger-codegen.git
"""
import pprint
import re # noqa: F401
import six
class GrantsBody(object):
"""NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
"""
"""
Attributes:
swagger_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
swagger_types = {
'email': 'str'
}
attribute_map = {
'email': 'email'
}
def __init__(self, email=None): # noqa: E501
"""GrantsBody - a model defined in Swagger""" # noqa: E501
self._email = None
self.discriminator = None
if email is not None:
self.email = email
@property
def email(self):
"""Gets the email of this GrantsBody. # noqa: E501
:return: The email of this GrantsBody. # noqa: E501
:rtype: str
"""
return self._email
@email.setter
def email(self, email):
"""Sets the email of this GrantsBody.
:param email: The email of this GrantsBody. # noqa: E501
:type: str
"""
self._email = email
def to_dict(self):
"""Returns the model properties as a dict"""
result = {}
for attr, _ in six.iteritems(self.swagger_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
value
))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else item,
value.items()
))
else:
result[attr] = value
if issubclass(GrantsBody, dict):
for key, value in self.items():
result[key] = value
return result
def to_str(self):
"""Returns the string representation of the model"""
return pprint.pformat(self.to_dict())
def __repr__(self):
"""For `print` and `pprint`"""
return self.to_str()
def __eq__(self, other):
"""Returns true if both objects are equal"""
if not isinstance(other, GrantsBody):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other