|
|
|
@@ -40,6 +40,7 @@ from hanzoai.cloud.models.iam_delete_output import IamDeleteOutput
|
|
|
|
|
from hanzoai.cloud.models.iam_delete_response import IamDeleteResponse
|
|
|
|
|
from hanzoai.cloud.models.iam_delete_result import IamDeleteResult
|
|
|
|
|
from hanzoai.cloud.models.iam_delete_session_out import IamDeleteSessionOut
|
|
|
|
|
from hanzoai.cloud.models.iam_identifier_body import IamIdentifierBody
|
|
|
|
|
from hanzoai.cloud.models.iam_input import IamInput
|
|
|
|
|
from hanzoai.cloud.models.iam_invitation import IamInvitation
|
|
|
|
|
from hanzoai.cloud.models.iam_invitations_delete_output import IamInvitationsDeleteOutput
|
|
|
|
@@ -24659,6 +24660,317 @@ class IamApi:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@validate_call
|
|
|
|
|
def post_iam_auth_identifier(
|
|
|
|
|
self,
|
|
|
|
|
iam_identifier_body: IamIdentifierBody,
|
|
|
|
|
cf_connecting_ip: Optional[StrictStr] = None,
|
|
|
|
|
x_forwarded_for: Optional[StrictStr] = None,
|
|
|
|
|
_request_timeout: Union[
|
|
|
|
|
None,
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)],
|
|
|
|
|
Tuple[
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)],
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)]
|
|
|
|
|
]
|
|
|
|
|
] = None,
|
|
|
|
|
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
|
|
|
_content_type: Optional[StrictStr] = None,
|
|
|
|
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
|
|
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
|
|
|
) -> IamAnswer:
|
|
|
|
|
"""Answers whether an account holds an email address at an application, and whether that account signs in with a password.
|
|
|
|
|
|
|
|
|
|
Answers whether an account holds an email address at an application, and whether that account signs in with a password. Only an application that registers strangers answers, since its signup says as much already. The address is resolved exactly as sign-in resolves it, so the screen and the sign-in cannot disagree. A client asking faster than a person types is refused with 429.
|
|
|
|
|
|
|
|
|
|
:param iam_identifier_body: (required)
|
|
|
|
|
:type iam_identifier_body: IamIdentifierBody
|
|
|
|
|
:param cf_connecting_ip:
|
|
|
|
|
:type cf_connecting_ip: str
|
|
|
|
|
:param x_forwarded_for:
|
|
|
|
|
:type x_forwarded_for: str
|
|
|
|
|
:param _request_timeout: timeout setting for this request. If one
|
|
|
|
|
number provided, it will be total request
|
|
|
|
|
timeout. It can also be a pair (tuple) of
|
|
|
|
|
(connection, read) timeouts.
|
|
|
|
|
:type _request_timeout: int, tuple(int, int), optional
|
|
|
|
|
:param _request_auth: set to override the auth_settings for an a single
|
|
|
|
|
request; this effectively ignores the
|
|
|
|
|
authentication in the spec for a single request.
|
|
|
|
|
:type _request_auth: dict, optional
|
|
|
|
|
:param _content_type: force content-type for the request.
|
|
|
|
|
:type _content_type: str, Optional
|
|
|
|
|
:param _headers: set to override the headers for a single
|
|
|
|
|
request; this effectively ignores the headers
|
|
|
|
|
in the spec for a single request.
|
|
|
|
|
:type _headers: dict, optional
|
|
|
|
|
:param _host_index: set to override the host_index for a single
|
|
|
|
|
request; this effectively ignores the host_index
|
|
|
|
|
in the spec for a single request.
|
|
|
|
|
:type _host_index: int, optional
|
|
|
|
|
:return: Returns the result object.
|
|
|
|
|
""" # noqa: E501
|
|
|
|
|
|
|
|
|
|
_param = self._post_iam_auth_identifier_serialize(
|
|
|
|
|
iam_identifier_body=iam_identifier_body,
|
|
|
|
|
cf_connecting_ip=cf_connecting_ip,
|
|
|
|
|
x_forwarded_for=x_forwarded_for,
|
|
|
|
|
_request_auth=_request_auth,
|
|
|
|
|
_content_type=_content_type,
|
|
|
|
|
_headers=_headers,
|
|
|
|
|
_host_index=_host_index
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
|
|
|
'200': "IamAnswer",
|
|
|
|
|
'400': "IamAnswer",
|
|
|
|
|
'429': "IamAnswer",
|
|
|
|
|
}
|
|
|
|
|
response_data = self.api_client.call_api(
|
|
|
|
|
*_param,
|
|
|
|
|
_request_timeout=_request_timeout
|
|
|
|
|
)
|
|
|
|
|
response_data.read()
|
|
|
|
|
return self.api_client.response_deserialize(
|
|
|
|
|
response_data=response_data,
|
|
|
|
|
response_types_map=_response_types_map,
|
|
|
|
|
).data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@validate_call
|
|
|
|
|
def post_iam_auth_identifier_with_http_info(
|
|
|
|
|
self,
|
|
|
|
|
iam_identifier_body: IamIdentifierBody,
|
|
|
|
|
cf_connecting_ip: Optional[StrictStr] = None,
|
|
|
|
|
x_forwarded_for: Optional[StrictStr] = None,
|
|
|
|
|
_request_timeout: Union[
|
|
|
|
|
None,
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)],
|
|
|
|
|
Tuple[
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)],
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)]
|
|
|
|
|
]
|
|
|
|
|
] = None,
|
|
|
|
|
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
|
|
|
_content_type: Optional[StrictStr] = None,
|
|
|
|
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
|
|
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
|
|
|
) -> ApiResponse[IamAnswer]:
|
|
|
|
|
"""Answers whether an account holds an email address at an application, and whether that account signs in with a password.
|
|
|
|
|
|
|
|
|
|
Answers whether an account holds an email address at an application, and whether that account signs in with a password. Only an application that registers strangers answers, since its signup says as much already. The address is resolved exactly as sign-in resolves it, so the screen and the sign-in cannot disagree. A client asking faster than a person types is refused with 429.
|
|
|
|
|
|
|
|
|
|
:param iam_identifier_body: (required)
|
|
|
|
|
:type iam_identifier_body: IamIdentifierBody
|
|
|
|
|
:param cf_connecting_ip:
|
|
|
|
|
:type cf_connecting_ip: str
|
|
|
|
|
:param x_forwarded_for:
|
|
|
|
|
:type x_forwarded_for: str
|
|
|
|
|
:param _request_timeout: timeout setting for this request. If one
|
|
|
|
|
number provided, it will be total request
|
|
|
|
|
timeout. It can also be a pair (tuple) of
|
|
|
|
|
(connection, read) timeouts.
|
|
|
|
|
:type _request_timeout: int, tuple(int, int), optional
|
|
|
|
|
:param _request_auth: set to override the auth_settings for an a single
|
|
|
|
|
request; this effectively ignores the
|
|
|
|
|
authentication in the spec for a single request.
|
|
|
|
|
:type _request_auth: dict, optional
|
|
|
|
|
:param _content_type: force content-type for the request.
|
|
|
|
|
:type _content_type: str, Optional
|
|
|
|
|
:param _headers: set to override the headers for a single
|
|
|
|
|
request; this effectively ignores the headers
|
|
|
|
|
in the spec for a single request.
|
|
|
|
|
:type _headers: dict, optional
|
|
|
|
|
:param _host_index: set to override the host_index for a single
|
|
|
|
|
request; this effectively ignores the host_index
|
|
|
|
|
in the spec for a single request.
|
|
|
|
|
:type _host_index: int, optional
|
|
|
|
|
:return: Returns the result object.
|
|
|
|
|
""" # noqa: E501
|
|
|
|
|
|
|
|
|
|
_param = self._post_iam_auth_identifier_serialize(
|
|
|
|
|
iam_identifier_body=iam_identifier_body,
|
|
|
|
|
cf_connecting_ip=cf_connecting_ip,
|
|
|
|
|
x_forwarded_for=x_forwarded_for,
|
|
|
|
|
_request_auth=_request_auth,
|
|
|
|
|
_content_type=_content_type,
|
|
|
|
|
_headers=_headers,
|
|
|
|
|
_host_index=_host_index
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
|
|
|
'200': "IamAnswer",
|
|
|
|
|
'400': "IamAnswer",
|
|
|
|
|
'429': "IamAnswer",
|
|
|
|
|
}
|
|
|
|
|
response_data = self.api_client.call_api(
|
|
|
|
|
*_param,
|
|
|
|
|
_request_timeout=_request_timeout
|
|
|
|
|
)
|
|
|
|
|
response_data.read()
|
|
|
|
|
return self.api_client.response_deserialize(
|
|
|
|
|
response_data=response_data,
|
|
|
|
|
response_types_map=_response_types_map,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@validate_call
|
|
|
|
|
def post_iam_auth_identifier_without_preload_content(
|
|
|
|
|
self,
|
|
|
|
|
iam_identifier_body: IamIdentifierBody,
|
|
|
|
|
cf_connecting_ip: Optional[StrictStr] = None,
|
|
|
|
|
x_forwarded_for: Optional[StrictStr] = None,
|
|
|
|
|
_request_timeout: Union[
|
|
|
|
|
None,
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)],
|
|
|
|
|
Tuple[
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)],
|
|
|
|
|
Annotated[StrictFloat, Field(gt=0)]
|
|
|
|
|
]
|
|
|
|
|
] = None,
|
|
|
|
|
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
|
|
|
_content_type: Optional[StrictStr] = None,
|
|
|
|
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
|
|
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
|
|
|
) -> RESTResponseType:
|
|
|
|
|
"""Answers whether an account holds an email address at an application, and whether that account signs in with a password.
|
|
|
|
|
|
|
|
|
|
Answers whether an account holds an email address at an application, and whether that account signs in with a password. Only an application that registers strangers answers, since its signup says as much already. The address is resolved exactly as sign-in resolves it, so the screen and the sign-in cannot disagree. A client asking faster than a person types is refused with 429.
|
|
|
|
|
|
|
|
|
|
:param iam_identifier_body: (required)
|
|
|
|
|
:type iam_identifier_body: IamIdentifierBody
|
|
|
|
|
:param cf_connecting_ip:
|
|
|
|
|
:type cf_connecting_ip: str
|
|
|
|
|
:param x_forwarded_for:
|
|
|
|
|
:type x_forwarded_for: str
|
|
|
|
|
:param _request_timeout: timeout setting for this request. If one
|
|
|
|
|
number provided, it will be total request
|
|
|
|
|
timeout. It can also be a pair (tuple) of
|
|
|
|
|
(connection, read) timeouts.
|
|
|
|
|
:type _request_timeout: int, tuple(int, int), optional
|
|
|
|
|
:param _request_auth: set to override the auth_settings for an a single
|
|
|
|
|
request; this effectively ignores the
|
|
|
|
|
authentication in the spec for a single request.
|
|
|
|
|
:type _request_auth: dict, optional
|
|
|
|
|
:param _content_type: force content-type for the request.
|
|
|
|
|
:type _content_type: str, Optional
|
|
|
|
|
:param _headers: set to override the headers for a single
|
|
|
|
|
request; this effectively ignores the headers
|
|
|
|
|
in the spec for a single request.
|
|
|
|
|
:type _headers: dict, optional
|
|
|
|
|
:param _host_index: set to override the host_index for a single
|
|
|
|
|
request; this effectively ignores the host_index
|
|
|
|
|
in the spec for a single request.
|
|
|
|
|
:type _host_index: int, optional
|
|
|
|
|
:return: Returns the result object.
|
|
|
|
|
""" # noqa: E501
|
|
|
|
|
|
|
|
|
|
_param = self._post_iam_auth_identifier_serialize(
|
|
|
|
|
iam_identifier_body=iam_identifier_body,
|
|
|
|
|
cf_connecting_ip=cf_connecting_ip,
|
|
|
|
|
x_forwarded_for=x_forwarded_for,
|
|
|
|
|
_request_auth=_request_auth,
|
|
|
|
|
_content_type=_content_type,
|
|
|
|
|
_headers=_headers,
|
|
|
|
|
_host_index=_host_index
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
_response_types_map: Dict[str, Optional[str]] = {
|
|
|
|
|
'200': "IamAnswer",
|
|
|
|
|
'400': "IamAnswer",
|
|
|
|
|
'429': "IamAnswer",
|
|
|
|
|
}
|
|
|
|
|
response_data = self.api_client.call_api(
|
|
|
|
|
*_param,
|
|
|
|
|
_request_timeout=_request_timeout
|
|
|
|
|
)
|
|
|
|
|
return response_data.response
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _post_iam_auth_identifier_serialize(
|
|
|
|
|
self,
|
|
|
|
|
iam_identifier_body,
|
|
|
|
|
cf_connecting_ip,
|
|
|
|
|
x_forwarded_for,
|
|
|
|
|
_request_auth,
|
|
|
|
|
_content_type,
|
|
|
|
|
_headers,
|
|
|
|
|
_host_index,
|
|
|
|
|
) -> RequestSerialized:
|
|
|
|
|
|
|
|
|
|
_host = None
|
|
|
|
|
|
|
|
|
|
_collection_formats: Dict[str, str] = {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_path_params: Dict[str, str] = {}
|
|
|
|
|
_query_params: List[Tuple[str, str]] = []
|
|
|
|
|
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
|
|
|
_form_params: List[Tuple[str, str]] = []
|
|
|
|
|
_files: Dict[
|
|
|
|
|
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
|
|
|
] = {}
|
|
|
|
|
_body_params: Optional[bytes] = None
|
|
|
|
|
|
|
|
|
|
# process the path parameters
|
|
|
|
|
# process the query parameters
|
|
|
|
|
# process the header parameters
|
|
|
|
|
if cf_connecting_ip is not None:
|
|
|
|
|
_header_params['CF-Connecting-IP'] = cf_connecting_ip
|
|
|
|
|
if x_forwarded_for is not None:
|
|
|
|
|
_header_params['X-Forwarded-For'] = x_forwarded_for
|
|
|
|
|
# process the form parameters
|
|
|
|
|
# process the body parameter
|
|
|
|
|
if iam_identifier_body is not None:
|
|
|
|
|
_body_params = iam_identifier_body
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# set the HTTP header `Accept`
|
|
|
|
|
if 'Accept' not in _header_params:
|
|
|
|
|
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
|
|
|
[
|
|
|
|
|
'application/json',
|
|
|
|
|
'application/problem+json'
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# set the HTTP header `Content-Type`
|
|
|
|
|
if _content_type:
|
|
|
|
|
_header_params['Content-Type'] = _content_type
|
|
|
|
|
else:
|
|
|
|
|
_default_content_type = (
|
|
|
|
|
self.api_client.select_header_content_type(
|
|
|
|
|
[
|
|
|
|
|
'application/json'
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
if _default_content_type is not None:
|
|
|
|
|
_header_params['Content-Type'] = _default_content_type
|
|
|
|
|
|
|
|
|
|
# authentication setting
|
|
|
|
|
_auth_settings: List[str] = [
|
|
|
|
|
'bearer'
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
return self.api_client.param_serialize(
|
|
|
|
|
method='POST',
|
|
|
|
|
resource_path='/v1/iam/auth/identifier',
|
|
|
|
|
path_params=_path_params,
|
|
|
|
|
query_params=_query_params,
|
|
|
|
|
header_params=_header_params,
|
|
|
|
|
body=_body_params,
|
|
|
|
|
post_params=_form_params,
|
|
|
|
|
files=_files,
|
|
|
|
|
auth_settings=_auth_settings,
|
|
|
|
|
collection_formats=_collection_formats,
|
|
|
|
|
_host=_host,
|
|
|
|
|
_request_auth=_request_auth
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@validate_call
|
|
|
|
|
def post_iam_certs(
|
|
|
|
|
self,
|
|
|
|
@@ -26115,7 +26427,7 @@ class IamApi:
|
|
|
|
|
) -> IamKey:
|
|
|
|
|
"""Issues an API key.
|
|
|
|
|
|
|
|
|
|
Issues an API key. A standard key comes back as a publishable half you may ship in client code and a secret half you must not — the secret is shown once, at creation, and cannot be retrieved afterwards. A publish-scoped key is issued with the publishable half only, so there is no secret to leak. A name already used in your organization is refused rather than reissued, so creating twice never silently invalidates a key that is in production.
|
|
|
|
|
Issues an API key. A standard key comes back as a publishable half you may ship in client code and a secret half you must not — the secret is shown once, at creation, and cannot be retrieved afterwards. A publish-scoped key is issued with the publishable half only, so there is no secret to leak. A name already used in your organization is refused rather than reissued, so creating twice never silently invalidates a key that is in production. A key you create is yours: it names you as its holder and speaks for you in the organization it is filed in. Naming anyone else as its holder is refused; a SuperAdmin names the person a key is for.
|
|
|
|
|
|
|
|
|
|
:param iam_key: (required)
|
|
|
|
|
:type iam_key: IamKey
|
|
|
|
@@ -26183,7 +26495,7 @@ class IamApi:
|
|
|
|
|
) -> ApiResponse[IamKey]:
|
|
|
|
|
"""Issues an API key.
|
|
|
|
|
|
|
|
|
|
Issues an API key. A standard key comes back as a publishable half you may ship in client code and a secret half you must not — the secret is shown once, at creation, and cannot be retrieved afterwards. A publish-scoped key is issued with the publishable half only, so there is no secret to leak. A name already used in your organization is refused rather than reissued, so creating twice never silently invalidates a key that is in production.
|
|
|
|
|
Issues an API key. A standard key comes back as a publishable half you may ship in client code and a secret half you must not — the secret is shown once, at creation, and cannot be retrieved afterwards. A publish-scoped key is issued with the publishable half only, so there is no secret to leak. A name already used in your organization is refused rather than reissued, so creating twice never silently invalidates a key that is in production. A key you create is yours: it names you as its holder and speaks for you in the organization it is filed in. Naming anyone else as its holder is refused; a SuperAdmin names the person a key is for.
|
|
|
|
|
|
|
|
|
|
:param iam_key: (required)
|
|
|
|
|
:type iam_key: IamKey
|
|
|
|
@@ -26251,7 +26563,7 @@ class IamApi:
|
|
|
|
|
) -> RESTResponseType:
|
|
|
|
|
"""Issues an API key.
|
|
|
|
|
|
|
|
|
|
Issues an API key. A standard key comes back as a publishable half you may ship in client code and a secret half you must not — the secret is shown once, at creation, and cannot be retrieved afterwards. A publish-scoped key is issued with the publishable half only, so there is no secret to leak. A name already used in your organization is refused rather than reissued, so creating twice never silently invalidates a key that is in production.
|
|
|
|
|
Issues an API key. A standard key comes back as a publishable half you may ship in client code and a secret half you must not — the secret is shown once, at creation, and cannot be retrieved afterwards. A publish-scoped key is issued with the publishable half only, so there is no secret to leak. A name already used in your organization is refused rather than reissued, so creating twice never silently invalidates a key that is in production. A key you create is yours: it names you as its holder and speaks for you in the organization it is filed in. Naming anyone else as its holder is refused; a SuperAdmin names the person a key is for.
|
|
|
|
|
|
|
|
|
|
:param iam_key: (required)
|
|
|
|
|
:type iam_key: IamKey
|
|
|
|
|