Skip to content

update_role_custom_permission

update_role_custom_permission(
    custom_permissions_name: RoleName,
    role: Role,
    aws_account_id: AwsAccountId,
    namespace: Namespace,
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
) -> UpdateRoleCustomPermissionResponse

Updates the custom permissions that are associated with a role.

Parameters:

  • custom_permissions_name (RoleName) –

    The name of the custom permission that you want to update the role with.

  • role (Role) –

    The name of role tht you want to update.

  • aws_account_id (AwsAccountId) –

    The ID for the Amazon Web Services account that you want to create a group in. The Amazon Web Services account ID that you provide must be the same Amazon Web Services account that contains your Amazon Quick Sight account.

  • namespace (Namespace) –

    The namespace that contains the role that you want to update.

Raises:

Source code in docs_src/capo_quicksight/_services/quick_sight.py
def update_role_custom_permission(
    self,
    custom_permissions_name: "capo_quicksight.types.role_name.RoleName",
    role: "capo_quicksight.types.role.Role",
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    namespace: "capo_quicksight.types.namespace.Namespace",
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
) -> "capo_quicksight.types.update_role_custom_permission_response.UpdateRoleCustomPermissionResponse":
    """<p>Updates the custom permissions that are associated with a role.</p>

    Args:
        custom_permissions_name: <p>The name of the custom permission that you want to update the role with.</p>
        role: <p>The name of role tht you want to update.</p>
        aws_account_id: <p>The ID for the Amazon Web Services account that you want to create a group in. The Amazon Web Services account ID that you provide must be the same Amazon Web Services account that contains your Amazon Quick Sight account.</p>
        namespace: <p>The namespace that contains the role that you want to update.</p>

    Raises:
        capo_quicksight.errors.access_denied_exception.AccessDeniedException: <p>You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon Quick Sight service, that your policies have the correct permissions, and that you are using the correct credentials.</p>
        capo_quicksight.errors.internal_failure_exception.InternalFailureException: <p>An internal failure occurred.</p>
        capo_quicksight.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>One or more parameters has a value that isn't valid.</p>
        capo_quicksight.errors.precondition_not_met_exception.PreconditionNotMetException: <p>One or more preconditions aren't met.</p>
        capo_quicksight.errors.resource_not_found_exception.ResourceNotFoundException: <p>One or more resources can't be found.</p>
        capo_quicksight.errors.resource_unavailable_exception.ResourceUnavailableException: <p>This resource is currently unavailable.</p>
        capo_quicksight.errors.throttling_exception.ThrottlingException: <p>Access is throttled.</p>
        capo_quicksight.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_quicksight.types.update_role_custom_permission_request.UpdateRoleCustomPermissionRequest]",
    ) -> OperationResponse[
        "capo_quicksight.types.update_role_custom_permission_response.UpdateRoleCustomPermissionResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_role_custom_permission

        output, http_response = (
            capo_quicksight._operations.quick_sight_20180401.update_role_custom_permission.update_role_custom_permission(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateRoleCustomPermission")
    )
    input_: capo_quicksight.types.update_role_custom_permission_request.UpdateRoleCustomPermissionRequest = {
        "custom_permissions_name": custom_permissions_name,
        "role": role,
        "aws_account_id": aws_account_id,
        "namespace": namespace,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output