Promotes an AppInstanceUser or AppInstanceBot to an AppInstanceAdmin. The promoted entity can perform the following actions.
Only an AppInstanceUser and AppInstanceBot can be promoted to an AppInstanceAdmin role.
Parameters:
-
app_instance_admin_arn
(ChimeArn)
–
The ARN of the administrator of the current AppInstance.
-
app_instance_arn
(ChimeArn)
–
The ARN of the AppInstance.
Raises:
Source code in docs_src/capo_chime_sdk_identity/_services/chime_sdk_identity.py
| def create_app_instance_admin(
self,
app_instance_admin_arn: "capo_chime_sdk_identity.types.chime_arn.ChimeArn",
app_instance_arn: "capo_chime_sdk_identity.types.chime_arn.ChimeArn",
*,
config_overrides: Optional[ChimeSDKIdentityClientConfig] = None,
) -> "capo_chime_sdk_identity.types.create_app_instance_admin_response.CreateAppInstanceAdminResponse":
"""<p>Promotes an <code>AppInstanceUser</code> or <code>AppInstanceBot</code> to an <code>AppInstanceAdmin</code>. The promoted entity can perform the following actions. </p> <ul> <li> <p> <code>ChannelModerator</code> actions across all channels in the <code>AppInstance</code>.</p> </li> <li> <p> <code>DeleteChannelMessage</code> actions.</p> </li> </ul> <p>Only an <code>AppInstanceUser</code> and <code>AppInstanceBot</code> can be promoted to an <code>AppInstanceAdmin</code> role.</p>
Args:
app_instance_admin_arn: <p>The ARN of the administrator of the current <code>AppInstance</code>.</p>
app_instance_arn: <p>The ARN of the <code>AppInstance</code>.</p>
Raises:
capo_chime_sdk_identity.errors.bad_request_exception.BadRequestException: <p>The input parameters don't match the service's restrictions.</p>
capo_chime_sdk_identity.errors.conflict_exception.ConflictException: <p>The request could not be processed because of conflict in the current state of the resource.</p>
capo_chime_sdk_identity.errors.forbidden_exception.ForbiddenException: <p>The client is permanently forbidden from making the request.</p>
capo_chime_sdk_identity.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>The request exceeds the resource limit.</p>
capo_chime_sdk_identity.errors.service_failure_exception.ServiceFailureException: <p>The service encountered an unexpected error.</p>
capo_chime_sdk_identity.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable.</p>
capo_chime_sdk_identity.errors.throttled_client_exception.ThrottledClientException: <p>The client exceeded its request rate limit.</p>
capo_chime_sdk_identity.errors.unauthorized_client_exception.UnauthorizedClientException: <p>The client is not currently authorized to make the request.</p>
capo_chime_sdk_identity.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_chime_sdk_identity.types.create_app_instance_admin_request.CreateAppInstanceAdminRequest]",
) -> OperationResponse[
"capo_chime_sdk_identity.types.create_app_instance_admin_response.CreateAppInstanceAdminResponse"
]:
import capo_chime_sdk_identity._operations.chime_identity_service.create_app_instance_admin
output, http_response = (
capo_chime_sdk_identity._operations.chime_identity_service.create_app_instance_admin.create_app_instance_admin(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
def _redact_output(
output: "capo_chime_sdk_identity.types.create_app_instance_admin_response.CreateAppInstanceAdminResponse",
) -> dict[str, Any]:
import capo_chime_sdk_identity.types.create_app_instance_admin_response
return capo_chime_sdk_identity.types.create_app_instance_admin_response.redact_sensitive(
output
)
interceptors_, options_ = self.operation_options(
config_overrides,
OperationLogging("CreateAppInstanceAdmin", redact_output=_redact_output),
)
input_: capo_chime_sdk_identity.types.create_app_instance_admin_request.CreateAppInstanceAdminRequest = {
"app_instance_admin_arn": app_instance_admin_arn,
"app_instance_arn": app_instance_arn,
}
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|