# Copyright (c) 2012-2021, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
# Resource specification version: 39.3.0


from . import AWSObject, AWSProperty


class GeofenceCollection(AWSObject):
    resource_type = "AWS::Location::GeofenceCollection"

    props = {
        "CollectionName": (str, True),
        "Description": (str, False),
        "KmsKeyId": (str, False),
        "PricingPlan": (str, True),
        "PricingPlanDataSource": (str, False),
    }


class MapConfiguration(AWSProperty):
    props = {
        "Style": (str, True),
    }


class Map(AWSObject):
    resource_type = "AWS::Location::Map"

    props = {
        "Configuration": (MapConfiguration, True),
        "Description": (str, False),
        "MapName": (str, True),
        "PricingPlan": (str, True),
    }


class DataSourceConfiguration(AWSProperty):
    props = {
        "IntendedUse": (str, False),
    }


class PlaceIndex(AWSObject):
    resource_type = "AWS::Location::PlaceIndex"

    props = {
        "DataSource": (str, True),
        "DataSourceConfiguration": (DataSourceConfiguration, False),
        "Description": (str, False),
        "IndexName": (str, True),
        "PricingPlan": (str, True),
    }


class RouteCalculator(AWSObject):
    resource_type = "AWS::Location::RouteCalculator"

    props = {
        "CalculatorName": (str, True),
        "DataSource": (str, True),
        "Description": (str, False),
        "PricingPlan": (str, True),
    }


class Tracker(AWSObject):
    resource_type = "AWS::Location::Tracker"

    props = {
        "Description": (str, False),
        "KmsKeyId": (str, False),
        "PricingPlan": (str, True),
        "PricingPlanDataSource": (str, False),
        "TrackerName": (str, True),
    }


class TrackerConsumer(AWSObject):
    resource_type = "AWS::Location::TrackerConsumer"

    props = {
        "ConsumerArn": (str, True),
        "TrackerName": (str, True),
    }
