// 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.Int 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 lambda runtime */ public enum class LambdaRuntime( private val `value`: String, ) { Dotnetcore21("dotnetcore2.1"), Nodejs12x("nodejs12.x"), Unknown("unknown"), ; public override fun toString(): String = value public companion object { public fun from(type: String): LambdaRuntime = values().firstOrNull { it.value == type } ?: Unknown } } public object LambdaTelemetry { /** * called when creating lambdas remotely */ public fun create( project: Project?, lambdaRuntime: LambdaRuntime, arbitraryString: String, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(project) { datum("lambda_create") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("lambdaRuntime", lambdaRuntime.toString()) metadata("arbitraryString", arbitraryString) } } } /** * called when creating lambdas remotely */ public fun create( connectionSettings: ConnectionSettings? = null, lambdaRuntime: LambdaRuntime, arbitraryString: String, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(connectionSettings) { datum("lambda_create") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("lambdaRuntime", lambdaRuntime.toString()) metadata("arbitraryString", arbitraryString) } } } /** * called when creating lambdas remotely */ public fun create( metadata: MetricEventMetadata, lambdaRuntime: LambdaRuntime, arbitraryString: String, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(metadata) { datum("lambda_create") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("lambdaRuntime", lambdaRuntime.toString()) metadata("arbitraryString", arbitraryString) } } } /** * called when deleting lambdas remotely */ public fun delete( project: Project?, duration: Double, booltype: Boolean, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(project) { datum("lambda_delete") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("duration", duration.toString()) metadata("booltype", booltype.toString()) } } } /** * called when deleting lambdas remotely */ public fun delete( connectionSettings: ConnectionSettings? = null, duration: Double, booltype: Boolean, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(connectionSettings) { datum("lambda_delete") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("duration", duration.toString()) metadata("booltype", booltype.toString()) } } } /** * called when deleting lambdas remotely */ public fun delete( metadata: MetricEventMetadata, duration: Double, booltype: Boolean, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(metadata) { datum("lambda_delete") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) metadata("duration", duration.toString()) metadata("booltype", booltype.toString()) } } } /** * called when invoking lambdas remotely */ public fun remoteinvoke( project: Project?, lambdaRuntime: LambdaRuntime? = null, inttype: Int, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(project) { datum("lambda_remoteinvoke") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) if(lambdaRuntime != null) { metadata("lambdaRuntime", lambdaRuntime.toString()) } metadata("inttype", inttype.toString()) } } } /** * called when invoking lambdas remotely */ public fun remoteinvoke( connectionSettings: ConnectionSettings? = null, lambdaRuntime: LambdaRuntime? = null, inttype: Int, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(connectionSettings) { datum("lambda_remoteinvoke") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) if(lambdaRuntime != null) { metadata("lambdaRuntime", lambdaRuntime.toString()) } metadata("inttype", inttype.toString()) } } } /** * called when invoking lambdas remotely */ public fun remoteinvoke( metadata: MetricEventMetadata, lambdaRuntime: LambdaRuntime? = null, inttype: Int, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(metadata) { datum("lambda_remoteinvoke") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) if(lambdaRuntime != null) { metadata("lambdaRuntime", lambdaRuntime.toString()) } metadata("inttype", inttype.toString()) } } } } public object NoTelemetry { /** * called when invoking lambdas remotely */ public fun metadata( project: Project?, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(project) { datum("no_metadata") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) } } } /** * called when invoking lambdas remotely */ public fun metadata( connectionSettings: ConnectionSettings? = null, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(connectionSettings) { datum("no_metadata") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) } } } /** * called when invoking lambdas remotely */ public fun metadata( metadata: MetricEventMetadata, passive: Boolean = false, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(metadata) { datum("no_metadata") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) } } } } public object PassiveTelemetry { /** * a passive metric */ public fun passive( project: Project?, passive: Boolean = true, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(project) { datum("passive_passive") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) } } } /** * a passive metric */ public fun passive( connectionSettings: ConnectionSettings? = null, passive: Boolean = true, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(connectionSettings) { datum("passive_passive") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) } } } /** * a passive metric */ public fun passive( metadata: MetricEventMetadata, passive: Boolean = true, `value`: Double = 1.0, createTime: Instant = Instant.now(), ): Unit { TelemetryService.getInstance().record(metadata) { datum("passive_passive") { createTime(createTime) unit(software.amazon.awssdk.services.toolkittelemetry.model.Unit.NONE) value(value) passive(passive) } } } }