All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.location.kotlin.outputs.GetTrackerResult.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.location.kotlin.outputs

import com.pulumi.awsnative.kotlin.outputs.Tag
import com.pulumi.awsnative.location.kotlin.enums.TrackerPositionFiltering
import com.pulumi.awsnative.location.kotlin.enums.TrackerPricingPlan
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property arn The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all AWS .
 * - Format example: `arn:aws:geo:region:account-id:tracker/ExampleTracker`
 * @property createTime The timestamp for when the tracker resource was created in [ISO 8601](https://docs.aws.amazon.com/https://www.iso.org/iso-8601-date-and-time-format.html) format: `YYYY-MM-DDThh:mm:ss.sssZ` .
 * @property description An optional description for the tracker resource.
 * @property eventBridgeEnabled
 * @property kmsKeyEnableGeospatialQueries
 * @property positionFiltering Specifies the position filtering for the tracker resource.
 * Valid values:
 * - `TimeBased` - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.
 * - `DistanceBased` - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this area are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.
 * - `AccuracyBased` - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This can reduce the effects of GPS noise when displaying device trajectories on a map, and can help control your costs by reducing the number of geofence evaluations.
 * This field is optional. If not specified, the default value is `TimeBased` .
 * @property pricingPlan
 * @property pricingPlanDataSource This shape is deprecated since 2022-02-01: Deprecated. No longer allowed.
 * @property tags An array of key-value pairs to apply to this resource.
 * @property trackerArn Synonym for `Arn` . The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all AWS .
 * - Format example: `arn:aws:geo:region:account-id:tracker/ExampleTracker`
 * @property updateTime The timestamp for when the tracker resource was last updated in [ISO 8601](https://docs.aws.amazon.com/https://www.iso.org/iso-8601-date-and-time-format.html) format: `YYYY-MM-DDThh:mm:ss.sssZ` .
 */
public data class GetTrackerResult(
    public val arn: String? = null,
    public val createTime: String? = null,
    public val description: String? = null,
    public val eventBridgeEnabled: Boolean? = null,
    public val kmsKeyEnableGeospatialQueries: Boolean? = null,
    public val positionFiltering: TrackerPositionFiltering? = null,
    public val pricingPlan: TrackerPricingPlan? = null,
    public val pricingPlanDataSource: String? = null,
    public val tags: List? = null,
    public val trackerArn: String? = null,
    public val updateTime: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.location.outputs.GetTrackerResult): GetTrackerResult = GetTrackerResult(
            arn = javaType.arn().map({ args0 -> args0 }).orElse(null),
            createTime = javaType.createTime().map({ args0 -> args0 }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            eventBridgeEnabled = javaType.eventBridgeEnabled().map({ args0 -> args0 }).orElse(null),
            kmsKeyEnableGeospatialQueries = javaType.kmsKeyEnableGeospatialQueries().map({ args0 ->
                args0
            }).orElse(null),
            positionFiltering = javaType.positionFiltering().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.location.kotlin.enums.TrackerPositionFiltering.Companion.toKotlin(args0)
                })
            }).orElse(null),
            pricingPlan = javaType.pricingPlan().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.location.kotlin.enums.TrackerPricingPlan.Companion.toKotlin(args0)
                })
            }).orElse(null),
            pricingPlanDataSource = javaType.pricingPlanDataSource().map({ args0 -> args0 }).orElse(null),
            tags = javaType.tags().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin(args0)
                })
            }),
            trackerArn = javaType.trackerArn().map({ args0 -> args0 }).orElse(null),
            updateTime = javaType.updateTime().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy