private registerIamCredentialsUpdateHandlers()

in runtimes/runtimes/auth/auth.ts [105:127]


    private registerIamCredentialsUpdateHandlers(): void {
        this.connection.console.info('Runtime: Registering IAM credentials update handler')

        this.connection.onRequest(iamCredentialsUpdateRequestType, async (request: UpdateCredentialsParams) => {
            const iamCredentials = request.encrypted
                ? await this.decodeCredentialsRequestToken<IamCredentials>(request)
                : (request.data as IamCredentials)

            if (isIamCredentials(iamCredentials)) {
                this.setCredentials(iamCredentials)
                this.connection.console.info('Runtime: Successfully saved IAM credentials')
            } else {
                this.iamCredentials = undefined
                throw new Error('Invalid IAM credentials')
            }
        })

        this.connection.onNotification(iamCredentialsDeleteNotificationType, () => {
            this.iamCredentials = undefined
            this.lspRouter.onCredentialsDeletion('iam')
            this.connection.console.info('Runtime: Deleted IAM credentials')
        })
    }