override fun handleRequest()

in aws-iotcoredeviceadvisor-suitedefinition/src/main/kotlin/software/amazon/iotcoredeviceadvisor/suitedefinition/DeleteHandler.kt [17:43]


    override fun handleRequest(
        proxy: AmazonWebServicesClientProxy,
        request: ResourceHandlerRequest<ResourceModel>,
        callbackContext: CallbackContext?,
        logger: Logger
    ): ProgressEvent<ResourceModel, CallbackContext?> {
        logger.log("Delete SuiteDefinition Request: $request")

        val deviceAdvisorClient = getDeviceAdvisorClient()

        val model = request.desiredResourceState
        val suiteDefinitionId = model.suiteDefinitionId

        try {
            getSuiteDefinition(proxy, deviceAdvisorClient, suiteDefinitionId)
        } catch (e: Exception) {
            ExceptionHandler.handleDeviceAdvisorException(e)
        }
        val deleteSuiteDefinitionRequest = DeleteSuiteDefinitionRequest.builder().suiteDefinitionId(suiteDefinitionId).build()

        return try {
            proxy.injectCredentialsAndInvokeV2(deleteSuiteDefinitionRequest, deviceAdvisorClient::deleteSuiteDefinition)
            ProgressEvent.defaultSuccessHandler(null)
        } catch (e: Exception) {
            ExceptionHandler.handleDeviceAdvisorException(e)
        }
    }