// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 // THIS FILE IS GENERATED! DO NOT EDIT BY HAND! @file:Suppress("unused", "MemberVisibilityCanBePrivate") package software.aws.toolkits.telemetry import com.intellij.openapi.project.Project import java.time.Instant import kotlin.Boolean import kotlin.Double import kotlin.String import kotlin.Suppress import kotlin.Unit import software.aws.toolkits.core.ConnectionSettings import software.aws.toolkits.jetbrains.services.telemetry.MetricEventMetadata import software.aws.toolkits.jetbrains.services.telemetry.TelemetryService /** * The result of the operation */ public enum class Result( private val `value`: String, ) { Succeeded("Succeeded"), Failed("Failed"), Cancelled("Cancelled"), CamelCase("CamelCase"), DashSeparated("dash-separated"), UnderscoreSeparated("underscore_separated"), Unknown("unknown"), ; public override fun toString(): String = value public companion object { public fun from(type: String): Result = values().firstOrNull { it.value == type } ?: Unknown } } public object MetadataTelemetry { /** * It has a result */ public fun hasResult( project: Project?, result: Result, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(project) { datum("metadata_hasResult") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("result", result.toString()) } } } /** * It has a result */ public fun hasResult( connectionSettings: ConnectionSettings? = null, result: Result, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(connectionSettings) { datum("metadata_hasResult") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("result", result.toString()) } } } /** * It has a result */ public fun hasResult( metadata: MetricEventMetadata, result: Result, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(metadata) { datum("metadata_hasResult") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("result", result.toString()) } } } /** * It has a result */ public fun hasResult( project: Project? = null, success: Boolean, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { hasResult(project, if(success) Result.Succeeded else Result.Failed, passive, value, createTime) } /** * It has a result */ public fun hasResult( connectionSettings: ConnectionSettings? = null, success: Boolean, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { hasResult(connectionSettings, if(success) Result.Succeeded else Result.Failed, passive, value, createTime) } /** * It has a result */ public fun hasResult( metadata: MetricEventMetadata, success: Boolean, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { hasResult(metadata, if(success) Result.Succeeded else Result.Failed, passive, value, createTime) } }