async def delete_membership(
self,
application_id: "capo_securityagent.types.application_id.ApplicationId",
agent_space_id: "capo_securityagent.types.agent_space_id.AgentSpaceId",
membership_id: "capo_securityagent.types.membership_id.MembershipId",
*,
config_overrides: Optional[AsyncSecurityAgentClientConfig] = None,
member_type: Optional[
"capo_securityagent.types.membership_type.MembershipType"
] = None,
) -> "capo_securityagent.types.delete_membership_response.DeleteMembershipResponse":
"""<p>Deletes a membership, revoking a user's access to an agent space.</p>
Args:
application_id: <p>The unique identifier of the application that contains the agent space.</p>
agent_space_id: <p>The unique identifier of the agent space to revoke access from.</p>
membership_id: <p>The unique identifier of the membership to delete.</p>
member_type: <p>The type of member to remove.</p>
Raises:
capo_securityagent.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_securityagent.types.delete_membership_request.DeleteMembershipRequest]",
) -> AsyncOperationResponse[
"capo_securityagent.types.delete_membership_response.DeleteMembershipResponse"
]:
import capo_securityagent._operations.security_agent.delete_membership
(
output,
http_response,
) = await capo_securityagent._operations.security_agent.delete_membership.async_delete_membership(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("DeleteMembership")
)
input_: capo_securityagent.types.delete_membership_request.DeleteMembershipRequest = {
"application_id": application_id,
"agent_space_id": agent_space_id,
"membership_id": membership_id,
}
if member_type is not None:
input_["member_type"] = member_type
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output