awscdklocationalpha

package module
v2.252.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

README

AWS::Location Construct Library

---

The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.


This module is part of the AWS Cloud Development Kit project.

Amazon Location Service lets you add location data and functionality to applications, which includes capabilities such as maps, points of interest, geocoding, routing, geofences, and tracking. Amazon Location provides location-based services (LBS) using high-quality data from global, trusted providers Esri and HERE. With affordable data, tracking and geofencing capabilities, and built-in metrics for health monitoring, you can build sophisticated location-enabled applications.

Geofence Collection

Geofence collection resources allow you to store and manage geofences—virtual boundaries on a map. You can evaluate locations against a geofence collection resource and get notifications when the location update crosses the boundary of any of the geofences in the geofence collection.

var key Key


location.NewGeofenceCollection(this, jsii.String("GeofenceCollection"), &GeofenceCollectionProps{
	GeofenceCollectionName: jsii.String("MyGeofenceCollection"),
	 // optional, defaults to a generated name
	KmsKey: key,
})

Use the grant() or grantRead() method to grant the given identity permissions to perform actions on the geofence collection:

var role Role


geofenceCollection := location.NewGeofenceCollection(this, jsii.String("GeofenceCollection"), &GeofenceCollectionProps{
	GeofenceCollectionName: jsii.String("MyGeofenceCollection"),
})

geofenceCollection.GrantRead(role)

Tracker

A tracker stores position updates for a collection of devices. The tracker can be used to query the devices' current location or location history. It stores the updates, but reduces storage space and visual noise by filtering the locations before storing them.

For more information, see Trackers.

To create a tracker, define a Tracker:

var key Key


location.NewTracker(this, jsii.String("Tracker"), &TrackerProps{
	TrackerName: jsii.String("MyTracker"),
	 // optional, defaults to a generated name
	KmsKey: key,
})

Use the grant(), grantUpdateDevicePositions() or grantRead() method to grant the given identity permissions to perform actions on the geofence collection:

var role Role


tracker := location.NewTracker(this, jsii.String("Tracker"), &TrackerProps{
	TrackerName: jsii.String("MyTracker"),
})

tracker.GrantRead(role)

If you want to associate a tracker with geofence collections, define a geofenceCollections property or use the addGeofenceCollections() method.

var geofenceCollection GeofenceCollection
var geofenceCollectionForAdd GeofenceCollection
var tracker Tracker


tracker := location.NewTracker(this, jsii.String("Tracker"), &TrackerProps{
	TrackerName: jsii.String("MyTracker"),
	GeofenceCollections: []IGeofenceCollection{
		geofenceCollection,
	},
})

tracker.AddGeofenceCollections(geofenceCollectionForAdd)

API key

API keys are a key value that is associated with specific Amazon Location Service resources or API in your AWS account, and specific actions that you can perform on those resources. You can use an API key in your application to make unauthenticated calls to the Amazon Location APIs for those resources.

For more information, see Use API keys to authenticate.

To create an API key, define an ApiKey:

location.NewApiKey(this, jsii.String("APIKeyAny"), &ApiKeyProps{
	// specify allowed actions
	AllowMapsActions: []AllowMapsAction{
		location.AllowMapsAction_GET_STATIC_MAP,
	},
	AllowPlacesActions: []AllowPlacesAction{
		location.AllowPlacesAction_GET_PLACE,
	},
	AllowRoutesActions: []AllowRoutesAction{
		location.AllowRoutesAction_CALCULATE_ISOLINES,
	},
})

Note: ApiKey construct only supports Enhanced Places, Routes, and Maps This API key grants access to AWS-managed Places, Routes, and Maps.

Legacy Resources

AWS has released new Enhanced Places, Routes, and Maps. Since these use AWS-managed resources, users no longer need to create Maps, Places, and Routes resources themselves.

As a result, the following constructs are now considered legacy.

For more information, see developer guide.

Map

The Amazon Location Service Map resource gives you access to the underlying basemap data for a map. You use the Map resource with a map rendering library to add an interactive map to your application. You can add other functionality to your map, such as markers (or pins), routes, and polygon areas, as needed for your application.

For information about how to use map resources in practice, see Using Amazon Location Maps in your application.

To create a map, define a Map:

location.NewMap(this, jsii.String("Map"), &MapProps{
	MapName: jsii.String("my-map"),
	Style: location.Style_VECTOR_ESRI_NAVIGATION,
	CustomLayers: []pOI{
		location.CustomLayer_*pOI,
	},
})

Use the grant() or grantRendering() method to grant the given identity permissions to perform actions on the map:

var role Role


map := location.NewMap(this, jsii.String("Map"), &MapProps{
	Style: location.Style_VECTOR_ESRI_NAVIGATION,
})
map.GrantRendering(role)
Place Index

A key function of Amazon Location Service is the ability to search the geolocation information. Amazon Location provides this functionality via the Place index resource. The place index includes which data provider to use for the search.

To create a place index, define a PlaceIndex:

location.NewPlaceIndex(this, jsii.String("PlaceIndex"), &PlaceIndexProps{
	PlaceIndexName: jsii.String("MyPlaceIndex"),
	 // optional, defaults to a generated name
	DataSource: location.DataSource_HERE,
})

Use the grant() or grantSearch() method to grant the given identity permissions to perform actions on the place index:

var role Role


placeIndex := location.NewPlaceIndex(this, jsii.String("PlaceIndex"))
placeIndex.GrantSearch(role)
Route Calculator

Route calculator resources allow you to find routes and estimate travel time based on up-to-date road network and live traffic information from your chosen data provider.

For more information, see Routes.

To create a route calculator, define a RouteCalculator:

location.NewRouteCalculator(this, jsii.String("RouteCalculator"), &RouteCalculatorProps{
	RouteCalculatorName: jsii.String("MyRouteCalculator"),
	 // optional, defaults to a generated name
	DataSource: location.DataSource_ESRI,
})

Use the grant() or grantRead() method to grant the given identity permissions to perform actions on the route calculator:

var role Role


routeCalculator := location.NewRouteCalculator(this, jsii.String("RouteCalculator"), &RouteCalculatorProps{
	DataSource: location.DataSource_ESRI,
})
routeCalculator.GrantRead(role)

Documentation

Overview

The CDK Construct Library for AWS::Location

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApiKey_IsConstruct

func ApiKey_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func ApiKey_IsOwnedResource

func ApiKey_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func ApiKey_IsResource

func ApiKey_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func ApiKey_PROPERTY_INJECTION_ID

func ApiKey_PROPERTY_INJECTION_ID() *string

func GeofenceCollection_IsConstruct

func GeofenceCollection_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func GeofenceCollection_IsOwnedResource

func GeofenceCollection_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func GeofenceCollection_IsResource

func GeofenceCollection_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func GeofenceCollection_PROPERTY_INJECTION_ID

func GeofenceCollection_PROPERTY_INJECTION_ID() *string

func Map_IsConstruct

func Map_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func Map_IsOwnedResource

func Map_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func Map_IsResource

func Map_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Map_PROPERTY_INJECTION_ID

func Map_PROPERTY_INJECTION_ID() *string

func NewApiKey_Override

func NewApiKey_Override(a ApiKey, scope constructs.Construct, id *string, props *ApiKeyProps)

Experimental.

func NewGeofenceCollection_Override

func NewGeofenceCollection_Override(g GeofenceCollection, scope constructs.Construct, id *string, props *GeofenceCollectionProps)

Experimental.

func NewMap_Override

func NewMap_Override(m Map, scope constructs.Construct, id *string, props *MapProps)

Experimental.

func NewPlaceIndex_Override

func NewPlaceIndex_Override(p PlaceIndex, scope constructs.Construct, id *string, props *PlaceIndexProps)

Experimental.

func NewRouteCalculator_Override

func NewRouteCalculator_Override(r RouteCalculator, scope constructs.Construct, id *string, props *RouteCalculatorProps)

Experimental.

func NewTracker_Override

func NewTracker_Override(t Tracker, scope constructs.Construct, id *string, props *TrackerProps)

Experimental.

func PlaceIndex_IsConstruct

func PlaceIndex_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func PlaceIndex_IsOwnedResource

func PlaceIndex_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func PlaceIndex_IsResource

func PlaceIndex_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func PlaceIndex_PROPERTY_INJECTION_ID

func PlaceIndex_PROPERTY_INJECTION_ID() *string

func RouteCalculator_IsConstruct

func RouteCalculator_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func RouteCalculator_IsOwnedResource

func RouteCalculator_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func RouteCalculator_IsResource

func RouteCalculator_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func RouteCalculator_PROPERTY_INJECTION_ID

func RouteCalculator_PROPERTY_INJECTION_ID() *string

func Tracker_IsConstruct

func Tracker_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func Tracker_IsOwnedResource

func Tracker_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func Tracker_IsResource

func Tracker_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Tracker_PROPERTY_INJECTION_ID

func Tracker_PROPERTY_INJECTION_ID() *string

Types

type AllowMapsAction

type AllowMapsAction string

Actions for Maps that an API key resource grants permissions to perform.

Example:

location.NewApiKey(this, jsii.String("APIKeyAny"), &ApiKeyProps{
	// specify allowed actions
	AllowMapsActions: []AllowMapsAction{
		location.AllowMapsAction_GET_STATIC_MAP,
	},
	AllowPlacesActions: []AllowPlacesAction{
		location.AllowPlacesAction_GET_PLACE,
	},
	AllowRoutesActions: []AllowRoutesAction{
		location.AllowRoutesAction_CALCULATE_ISOLINES,
	},
})

See: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocationservicemaps.html

Experimental.

const (
	// Allows getting static map images.
	// Experimental.
	AllowMapsAction_GET_STATIC_MAP AllowMapsAction = "GET_STATIC_MAP"
	// Allows getting map tiles for rendering.
	// Experimental.
	AllowMapsAction_GET_TILE AllowMapsAction = "GET_TILE"
	// Allows any maps actions.
	// Experimental.
	AllowMapsAction_ANY AllowMapsAction = "ANY"
)

type AllowPlacesAction

type AllowPlacesAction string

Actions for Places that an API key resource grants permissions to perform.

Example:

location.NewApiKey(this, jsii.String("APIKeyAny"), &ApiKeyProps{
	// specify allowed actions
	AllowMapsActions: []AllowMapsAction{
		location.AllowMapsAction_GET_STATIC_MAP,
	},
	AllowPlacesActions: []AllowPlacesAction{
		location.AllowPlacesAction_GET_PLACE,
	},
	AllowRoutesActions: []AllowRoutesAction{
		location.AllowRoutesAction_CALCULATE_ISOLINES,
	},
})

See: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocationserviceplaces.html

Experimental.

const (
	// Allows auto-completion of search text.
	// Experimental.
	AllowPlacesAction_AUTOCOMPLETE AllowPlacesAction = "AUTOCOMPLETE"
	// Allows finding geo coordinates of a known place.
	// Experimental.
	AllowPlacesAction_GEOCODE AllowPlacesAction = "GEOCODE"
	// Allows getting details of a place.
	// Experimental.
	AllowPlacesAction_GET_PLACE AllowPlacesAction = "GET_PLACE"
	// Allows getting nearest address to geo coordinates.
	// Experimental.
	AllowPlacesAction_REVERSE_GEOCODE AllowPlacesAction = "REVERSE_GEOCODE"
	// Allows category based places search around geo coordinates.
	// Experimental.
	AllowPlacesAction_SEARCH_NEARBY AllowPlacesAction = "SEARCH_NEARBY"
	// Allows place or address search based on free-form text.
	// Experimental.
	AllowPlacesAction_SEARCH_TEXT AllowPlacesAction = "SEARCH_TEXT"
	// Allows suggestions based on an incomplete or misspelled query.
	// Experimental.
	AllowPlacesAction_SUGGEST AllowPlacesAction = "SUGGEST"
	// Allows any places actions.
	// Experimental.
	AllowPlacesAction_ANY AllowPlacesAction = "ANY"
)

type AllowRoutesAction

type AllowRoutesAction string

Actions for Routes that an API key resource grants permissions to perform.

Example:

location.NewApiKey(this, jsii.String("APIKeyAny"), &ApiKeyProps{
	// specify allowed actions
	AllowMapsActions: []AllowMapsAction{
		location.AllowMapsAction_GET_STATIC_MAP,
	},
	AllowPlacesActions: []AllowPlacesAction{
		location.AllowPlacesAction_GET_PLACE,
	},
	AllowRoutesActions: []AllowRoutesAction{
		location.AllowRoutesAction_CALCULATE_ISOLINES,
	},
})

See: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocationserviceroutes.html

Experimental.

const (
	// Allows isoline calculation.
	// Experimental.
	AllowRoutesAction_CALCULATE_ISOLINES AllowRoutesAction = "CALCULATE_ISOLINES"
	// Allows point to point routing.
	// Experimental.
	AllowRoutesAction_CALCULATE_ROUTES AllowRoutesAction = "CALCULATE_ROUTES"
	// Allows matrix routing.
	// Experimental.
	AllowRoutesAction_CALCULATE_ROUTE_MATRIX AllowRoutesAction = "CALCULATE_ROUTE_MATRIX"
	// Allows computing the best sequence of waypoints.
	// Experimental.
	AllowRoutesAction_OPTIMIZE_WAYPOINTS AllowRoutesAction = "OPTIMIZE_WAYPOINTS"
	// Allows snapping GPS points to a likely route.
	// Experimental.
	AllowRoutesAction_SNAP_TO_ROADS AllowRoutesAction = "SNAP_TO_ROADS"
	// Allows any routes actions.
	// Experimental.
	AllowRoutesAction_ANY AllowRoutesAction = "ANY"
)

type ApiKey

type ApiKey interface {
	awscdk.Resource
	IApiKey
	// The Amazon Resource Name (ARN) of the api key resource.
	// Experimental.
	ApiKeyArn() *string
	// The timestamp for when the api key resource was created in ISO 8601 format.
	// Experimental.
	ApiKeyCreateTime() *string
	// The name of the api key.
	// Experimental.
	ApiKeyName() *string
	// The timestamp for when the api key resource was last updated in ISO 8601 format.
	// Experimental.
	ApiKeyUpdateTime() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed in a Stack (those created by
	// creating new class instances like `new Role()`, `new Bucket()`, etc.), this
	// is always the same as the environment of the stack they belong to.
	//
	// For referenced resources (those obtained from referencing methods like
	// `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
	// different than the stack they were imported into.
	// Experimental.
	Env() *interfaces.ResourceEnvironment
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	// Experimental.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

An API Key.

Example:

location.NewApiKey(this, jsii.String("APIKeyAny"), &ApiKeyProps{
	// specify allowed actions
	AllowMapsActions: []AllowMapsAction{
		location.AllowMapsAction_GET_STATIC_MAP,
	},
	AllowPlacesActions: []AllowPlacesAction{
		location.AllowPlacesAction_GET_PLACE,
	},
	AllowRoutesActions: []AllowRoutesAction{
		location.AllowRoutesAction_CALCULATE_ISOLINES,
	},
})

See: https://docs.aws.amazon.com/location/latest/developerguide/using-apikeys.html

Experimental.

func NewApiKey

func NewApiKey(scope constructs.Construct, id *string, props *ApiKeyProps) ApiKey

Experimental.

type ApiKeyProps

type ApiKeyProps struct {
	// A list of allowed actions for Maps that an API key resource grants permissions to perform.
	// Default: - no actions for Maps are permitted.
	//
	// Experimental.
	AllowMapsActions *[]AllowMapsAction `field:"optional" json:"allowMapsActions" yaml:"allowMapsActions"`
	// A list of allowed actions for Places that an API key resource grants permissions to perform.
	// Default: - no actions for Places are permitted.
	//
	// Experimental.
	AllowPlacesActions *[]AllowPlacesAction `field:"optional" json:"allowPlacesActions" yaml:"allowPlacesActions"`
	// An optional list of allowed HTTP referers for which requests must originate from.
	//
	// Requests using this API key from other domains will not be allowed.
	// See: https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-location-apikey-apikeyrestrictions.html#cfn-location-apikey-apikeyrestrictions-allowreferers
	//
	// Default: - no Referer.
	//
	// Experimental.
	AllowReferers *[]*string `field:"optional" json:"allowReferers" yaml:"allowReferers"`
	// A list of allowed actions for Routes that an API key resource grants permissions to perform.
	// Default: - no actions for Routes are permitted.
	//
	// Experimental.
	AllowRoutesActions *[]AllowRoutesAction `field:"optional" json:"allowRoutesActions" yaml:"allowRoutesActions"`
	// A name for the api key.
	//
	// Must be between 1 and 100 characters and contain only alphanumeric characters,
	// hyphens, periods and underscores.
	//
	// Must be a unique API key name.
	// Default: - A name is automatically generated.
	//
	// Experimental.
	ApiKeyName *string `field:"optional" json:"apiKeyName" yaml:"apiKeyName"`
	// A description for the api key.
	// Default: - no description.
	//
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The optional timestamp for when the API key resource will expire.
	//
	// `expireTime` must be set when `noExpiry` is false or undefined.
	// When `expireTime` is not set, `noExpiry` must be `true`.
	// Default: undefined - The API Key never expires.
	//
	// Experimental.
	ExpireTime *time.Time `field:"optional" json:"expireTime" yaml:"expireTime"`
	// `forceDelete` bypasses an API key's expiry conditions and deletes the key.
	//
	// Set the parameter true to delete the key or to false to not preemptively delete the API key.
	// Default: undefined - not force delete.
	//
	// Experimental.
	ForceDelete *bool `field:"optional" json:"forceDelete" yaml:"forceDelete"`
	// The boolean flag to be included for updating ExpireTime or Restrictions details.
	//
	// Must be set to true to update an API key resource that has been used in the past 7 days.
	// False if force update is not preferred.
	// Default: undefined - not force update.
	//
	// Experimental.
	ForceUpdate *bool `field:"optional" json:"forceUpdate" yaml:"forceUpdate"`
	// Whether the API key should expire.
	//
	// Set to `true` when `expireTime` is not set.
	// When you set `expireTime`, `noExpiry` must be `false` or `undefined`.
	// Default: undefined - The API Key expires at `expireTime`.
	//
	// Experimental.
	NoExpiry *bool `field:"optional" json:"noExpiry" yaml:"noExpiry"`
}

Properties for an API Key.

Example:

location.NewApiKey(this, jsii.String("APIKeyAny"), &ApiKeyProps{
	// specify allowed actions
	AllowMapsActions: []AllowMapsAction{
		location.AllowMapsAction_GET_STATIC_MAP,
	},
	AllowPlacesActions: []AllowPlacesAction{
		location.AllowPlacesAction_GET_PLACE,
	},
	AllowRoutesActions: []AllowRoutesAction{
		location.AllowRoutesAction_CALCULATE_ISOLINES,
	},
})

Experimental.

type CustomLayer

type CustomLayer string

An additional layer you can enable for a map style.

Example:

location.NewMap(this, jsii.String("Map"), &MapProps{
	MapName: jsii.String("my-map"),
	Style: location.Style_VECTOR_ESRI_NAVIGATION,
	CustomLayers: []pOI{
		location.CustomLayer_*pOI,
	},
})

Experimental.

const (
	// The POI custom layer adds a richer set of places, such as shops, services, restaurants, attractions, and other points of interest to your map.
	//
	// Currently only the VectorEsriNavigation map style supports the POI custom layer.
	// Experimental.
	CustomLayer_POI CustomLayer = "POI"
)

type DataSource

type DataSource string

Data source for a place index.

Example:

location.NewPlaceIndex(this, jsii.String("PlaceIndex"), &PlaceIndexProps{
	PlaceIndexName: jsii.String("MyPlaceIndex"),
	 // optional, defaults to a generated name
	DataSource: location.DataSource_HERE,
})

Experimental.

const (
	// Esri.
	// See: https://docs.aws.amazon.com/location/latest/developerguide/esri.html
	//
	// Experimental.
	DataSource_ESRI DataSource = "ESRI"
	// Grab provides routing functionality for Southeast Asia.
	// See: https://docs.aws.amazon.com/location/latest/developerguide/grab.html
	//
	// Experimental.
	DataSource_GRAB DataSource = "GRAB"
	// HERE.
	// See: https://docs.aws.amazon.com/location/latest/developerguide/HERE.html
	//
	// Experimental.
	DataSource_HERE DataSource = "HERE"
)

type GeofenceCollection

type GeofenceCollection interface {
	awscdk.Resource
	IGeofenceCollection
	// The environment this resource belongs to.
	//
	// For resources that are created and managed in a Stack (those created by
	// creating new class instances like `new Role()`, `new Bucket()`, etc.), this
	// is always the same as the environment of the stack they belong to.
	//
	// For referenced resources (those obtained from referencing methods like
	// `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
	// different than the stack they were imported into.
	// Experimental.
	Env() *interfaces.ResourceEnvironment
	// The Amazon Resource Name (ARN) of the geofence collection resource.
	// Experimental.
	GeofenceCollectionArn() *string
	// The timestamp for when the geofence collection resource was created in ISO 8601 format.
	// Experimental.
	GeofenceCollectionCreateTime() *string
	// The name of the geofence collection.
	// Experimental.
	GeofenceCollectionName() *string
	// The timestamp for when the geofence collection resource was last updated in ISO 8601 format.
	// Experimental.
	GeofenceCollectionUpdateTime() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Grant the given principal identity permissions to perform the actions on this geofence collection.
	//
	// [disable-awslint:no-grants].
	// Experimental.
	Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant
	// Grant the given identity permissions to read this geofence collection [disable-awslint:no-grants].
	// See: https://docs.aws.amazon.com/location/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-read-only-geofences
	//
	// Experimental.
	GrantRead(grantee awsiam.IGrantable) awsiam.Grant
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	// Experimental.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

A Geofence Collection.

Example:

var key Key

location.NewGeofenceCollection(this, jsii.String("GeofenceCollection"), &GeofenceCollectionProps{
	GeofenceCollectionName: jsii.String("MyGeofenceCollection"),
	 // optional, defaults to a generated name
	KmsKey: key,
})

See: https://docs.aws.amazon.com/location/latest/developerguide/geofence-tracker-concepts.html#geofence-overview

Experimental.

func NewGeofenceCollection

func NewGeofenceCollection(scope constructs.Construct, id *string, props *GeofenceCollectionProps) GeofenceCollection

Experimental.

type GeofenceCollectionProps

type GeofenceCollectionProps struct {
	// A description for the geofence collection.
	// Default: - no description.
	//
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A name for the geofence collection.
	//
	// Must be between 1 and 100 characters and contain only alphanumeric characters,
	// hyphens, periods and underscores.
	// Default: - A name is automatically generated.
	//
	// Experimental.
	GeofenceCollectionName *string `field:"optional" json:"geofenceCollectionName" yaml:"geofenceCollectionName"`
	// The customer managed to encrypt your data.
	// See: https://docs.aws.amazon.com/location/latest/developerguide/encryption-at-rest.html
	//
	// Default: - Use an AWS managed key.
	//
	// Experimental.
	KmsKey interfacesawskms.IKeyRef `field:"optional" json:"kmsKey" yaml:"kmsKey"`
}

Properties for a geofence collection.

Example:

var key Key

location.NewGeofenceCollection(this, jsii.String("GeofenceCollection"), &GeofenceCollectionProps{
	GeofenceCollectionName: jsii.String("MyGeofenceCollection"),
	 // optional, defaults to a generated name
	KmsKey: key,
})

Experimental.

type IApiKey

type IApiKey interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) of the api key resource.
	// Experimental.
	ApiKeyArn() *string
	// The name of the api key.
	// Experimental.
	ApiKeyName() *string
}

An API Key. Experimental.

func ApiKey_FromApiKeyArn

func ApiKey_FromApiKeyArn(scope constructs.Construct, id *string, apiKeyArn *string) IApiKey

Use an existing api key by ARN. Experimental.

func ApiKey_FromApiKeyName

func ApiKey_FromApiKeyName(scope constructs.Construct, id *string, apiKeyName *string) IApiKey

Use an existing api key by name. Experimental.

type IGeofenceCollection

type IGeofenceCollection interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) of the geofence collection resource.
	// Experimental.
	GeofenceCollectionArn() *string
	// The name of the geofence collection.
	// Experimental.
	GeofenceCollectionName() *string
}

A Geofence Collection. Experimental.

func GeofenceCollection_FromGeofenceCollectionArn

func GeofenceCollection_FromGeofenceCollectionArn(scope constructs.Construct, id *string, geofenceCollectionArn *string) IGeofenceCollection

Use an existing geofence collection by ARN. Experimental.

func GeofenceCollection_FromGeofenceCollectionName

func GeofenceCollection_FromGeofenceCollectionName(scope constructs.Construct, id *string, geofenceCollectionName *string) IGeofenceCollection

Use an existing geofence collection by name. Experimental.

type IMap

type IMap interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) of the Map.
	// Experimental.
	MapArn() *string
	// The name of the map.
	// Experimental.
	MapName() *string
}

Represents the Amazon Location Service Map. Experimental.

func Map_FromMapArn

func Map_FromMapArn(scope constructs.Construct, id *string, mapArn *string) IMap

Use an existing map by ARN. Experimental.

func Map_FromMapName

func Map_FromMapName(scope constructs.Construct, id *string, mapName *string) IMap

Use an existing map by name. Experimental.

type IPlaceIndex

type IPlaceIndex interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) of the place index resource.
	// Experimental.
	PlaceIndexArn() *string
	// The name of the place index.
	// Experimental.
	PlaceIndexName() *string
}

A Place Index. Experimental.

func PlaceIndex_FromPlaceIndexArn

func PlaceIndex_FromPlaceIndexArn(scope constructs.Construct, id *string, placeIndexArn *string) IPlaceIndex

Use an existing place index by ARN. Experimental.

func PlaceIndex_FromPlaceIndexName

func PlaceIndex_FromPlaceIndexName(scope constructs.Construct, id *string, placeIndexName *string) IPlaceIndex

Use an existing place index by name. Experimental.

type IRouteCalculator

type IRouteCalculator interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) of the route calculator resource.
	// Experimental.
	RouteCalculatorArn() *string
	// The name of the route calculator.
	// Experimental.
	RouteCalculatorName() *string
}

A Route Calculator. Experimental.

func RouteCalculator_FromRouteCalculatorArn

func RouteCalculator_FromRouteCalculatorArn(scope constructs.Construct, id *string, routeCalculatorArn *string) IRouteCalculator

Use an existing route calculator by ARN. Experimental.

func RouteCalculator_FromRouteCalculatorName

func RouteCalculator_FromRouteCalculatorName(scope constructs.Construct, id *string, routeCalculatorName *string) IRouteCalculator

Use an existing route calculator by name. Experimental.

type ITracker

type ITracker interface {
	awscdk.IResource
	// The Amazon Resource Name (ARN) of the tracker resource.
	// Experimental.
	TrackerArn() *string
	// The name of the tracker.
	// Experimental.
	TrackerName() *string
}

A Tracker. Experimental.

func Tracker_FromTrackerArn

func Tracker_FromTrackerArn(scope constructs.Construct, id *string, trackerArn *string) ITracker

Use an existing tracker by ARN. Experimental.

func Tracker_FromTrackerName

func Tracker_FromTrackerName(scope constructs.Construct, id *string, trackerName *string) ITracker

Use an existing tracker by name. Experimental.

type IntendedUse

type IntendedUse string

Intend use for the results of an operation. Experimental.

const (
	// The results won't be stored.
	// Experimental.
	IntendedUse_SINGLE_USE IntendedUse = "SINGLE_USE"
	// The result can be cached or stored in a database.
	// Experimental.
	IntendedUse_STORAGE IntendedUse = "STORAGE"
)

type Map

type Map interface {
	awscdk.Resource
	IMap
	// The environment this resource belongs to.
	//
	// For resources that are created and managed in a Stack (those created by
	// creating new class instances like `new Role()`, `new Bucket()`, etc.), this
	// is always the same as the environment of the stack they belong to.
	//
	// For referenced resources (those obtained from referencing methods like
	// `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
	// different than the stack they were imported into.
	// Experimental.
	Env() *interfaces.ResourceEnvironment
	// The Amazon Resource Name (ARN) of the Map.
	// Experimental.
	MapArn() *string
	// The timestamp for when the map resource was created in ISO 8601 format.
	// Experimental.
	MapCreateTime() *string
	// The name of the map.
	// Experimental.
	MapName() *string
	// The timestamp for when the map resource was last updated in ISO 8601 format.
	// Experimental.
	MapUpdateTime() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Grant the given principal identity permissions to perform the actions on this map.
	//
	// [disable-awslint:no-grants].
	// Experimental.
	Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant
	// Grant the given identity permissions to rendering a map resource [disable-awslint:no-grants].
	// Experimental.
	GrantRendering(grantee awsiam.IGrantable) awsiam.Grant
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	// Experimental.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

The Amazon Location Service Map.

Example:

location.NewMap(this, jsii.String("Map"), &MapProps{
	MapName: jsii.String("my-map"),
	Style: location.Style_VECTOR_ESRI_NAVIGATION,
	CustomLayers: []pOI{
		location.CustomLayer_*pOI,
	},
})

See: https://docs.aws.amazon.com/location/latest/developerguide/map-concepts.html

Experimental.

func NewMap

func NewMap(scope constructs.Construct, id *string, props *MapProps) Map

Experimental.

type MapProps

type MapProps struct {
	// Specifies the map style selected from an available data provider.
	// Experimental.
	Style Style `field:"required" json:"style" yaml:"style"`
	// Specifies the custom layers for the style.
	// Default: - no custom layers.
	//
	// Experimental.
	CustomLayers *[]CustomLayer `field:"optional" json:"customLayers" yaml:"customLayers"`
	// A description for the map.
	// Default: - no description.
	//
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A name for the map.
	//
	// Must be between 1 and 100 characters and contain only alphanumeric characters,
	// hyphens, periods and underscores.
	// Default: - A name is automatically generated.
	//
	// Experimental.
	MapName *string `field:"optional" json:"mapName" yaml:"mapName"`
	// Specifies the map political view selected from an available data provider.
	//
	// The political view must be used in compliance with applicable laws, including those laws about mapping of the country or region where the maps,
	// images, and other data and third-party content which you access through Amazon Location Service is made available.
	// See: https://docs.aws.amazon.com/location/latest/developerguide/map-concepts.html#political-views
	//
	// Default: - no political view.
	//
	// Experimental.
	PoliticalView PoliticalView `field:"optional" json:"politicalView" yaml:"politicalView"`
}

Properties for the Amazon Location Service Map.

Example:

location.NewMap(this, jsii.String("Map"), &MapProps{
	MapName: jsii.String("my-map"),
	Style: location.Style_VECTOR_ESRI_NAVIGATION,
	CustomLayers: []pOI{
		location.CustomLayer_*pOI,
	},
})

Experimental.

type PlaceIndex

type PlaceIndex interface {
	awscdk.Resource
	IPlaceIndex
	// The environment this resource belongs to.
	//
	// For resources that are created and managed in a Stack (those created by
	// creating new class instances like `new Role()`, `new Bucket()`, etc.), this
	// is always the same as the environment of the stack they belong to.
	//
	// For referenced resources (those obtained from referencing methods like
	// `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
	// different than the stack they were imported into.
	// Experimental.
	Env() *interfaces.ResourceEnvironment
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The Amazon Resource Name (ARN) of the place index resource.
	// Experimental.
	PlaceIndexArn() *string
	// The timestamp for when the place index resource was created in ISO 8601 format.
	// Experimental.
	PlaceIndexCreateTime() *string
	// The name of the place index.
	// Experimental.
	PlaceIndexName() *string
	// The timestamp for when the place index resource was last updated in ISO 8601 format.
	// Experimental.
	PlaceIndexUpdateTime() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Grant the given principal identity permissions to perform the actions on this place index.
	//
	// [disable-awslint:no-grants].
	// Experimental.
	Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant
	// Grant the given identity permissions to search using this index [disable-awslint:no-grants].
	// Experimental.
	GrantSearch(grantee awsiam.IGrantable) awsiam.Grant
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	// Experimental.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

A Place Index.

Example:

location.NewPlaceIndex(this, jsii.String("PlaceIndex"), &PlaceIndexProps{
	PlaceIndexName: jsii.String("MyPlaceIndex"),
	 // optional, defaults to a generated name
	DataSource: location.DataSource_HERE,
})

See: https://docs.aws.amazon.com/location/latest/developerguide/places-concepts.html

Experimental.

func NewPlaceIndex

func NewPlaceIndex(scope constructs.Construct, id *string, props *PlaceIndexProps) PlaceIndex

Experimental.

type PlaceIndexProps

type PlaceIndexProps struct {
	// Data source for the place index.
	// Default: DataSource.ESRI
	//
	// Experimental.
	DataSource DataSource `field:"optional" json:"dataSource" yaml:"dataSource"`
	// A description for the place index.
	// Default: - no description.
	//
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Intend use for the results of an operation.
	// Default: IntendedUse.SINGLE_USE
	//
	// Experimental.
	IntendedUse IntendedUse `field:"optional" json:"intendedUse" yaml:"intendedUse"`
	// A name for the place index.
	//
	// Must be between 1 and 100 characters and contain only alphanumeric characters,
	// hyphens, periods and underscores.
	// Default: - A name is automatically generated.
	//
	// Experimental.
	PlaceIndexName *string `field:"optional" json:"placeIndexName" yaml:"placeIndexName"`
}

Properties for a place index.

Example:

location.NewPlaceIndex(this, jsii.String("PlaceIndex"), &PlaceIndexProps{
	PlaceIndexName: jsii.String("MyPlaceIndex"),
	 // optional, defaults to a generated name
	DataSource: location.DataSource_HERE,
})

Experimental.

type PoliticalView

type PoliticalView string

The map political view. Experimental.

const (
	// An India (IND) political view.
	// Experimental.
	PoliticalView_INDIA PoliticalView = "INDIA"
)

type PositionFiltering

type PositionFiltering string

The position filtering for the tracker resource. Experimental.

const (
	// 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.
	// Experimental.
	PositionFiltering_TIME_BASED PositionFiltering = "TIME_BASED"
	// 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.
	// Experimental.
	PositionFiltering_DISTANCE_BASED PositionFiltering = "DISTANCE_BASED"
	// 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.
	// Experimental.
	PositionFiltering_ACCURACY_BASED PositionFiltering = "ACCURACY_BASED"
)

type RouteCalculator

type RouteCalculator interface {
	awscdk.Resource
	IRouteCalculator
	// The environment this resource belongs to.
	//
	// For resources that are created and managed in a Stack (those created by
	// creating new class instances like `new Role()`, `new Bucket()`, etc.), this
	// is always the same as the environment of the stack they belong to.
	//
	// For referenced resources (those obtained from referencing methods like
	// `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
	// different than the stack they were imported into.
	// Experimental.
	Env() *interfaces.ResourceEnvironment
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The Amazon Resource Name (ARN) of the route calculator resource.
	// Experimental.
	RouteCalculatorArn() *string
	// The timestamp for when the route calculator resource was created in ISO 8601 format.
	// Experimental.
	RouteCalculatorCreateTime() *string
	// The name of the route calculator.
	// Experimental.
	RouteCalculatorName() *string
	// The timestamp for when the route calculator resource was last updated in ISO 8601 format.
	// Experimental.
	RouteCalculatorUpdateTime() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Grant the given principal identity permissions to perform the actions on this route calculator.
	//
	// [disable-awslint:no-grants].
	// Experimental.
	Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant
	// Grant the given identity permissions to access to a route calculator resource to calculate a route.
	//
	// [disable-awslint:no-grants].
	// See: https://docs.aws.amazon.com/location/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-calculate-route
	//
	// Experimental.
	GrantRead(grantee awsiam.IGrantable) awsiam.Grant
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	// Experimental.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

A Route Calculator.

Example:

location.NewRouteCalculator(this, jsii.String("RouteCalculator"), &RouteCalculatorProps{
	RouteCalculatorName: jsii.String("MyRouteCalculator"),
	 // optional, defaults to a generated name
	DataSource: location.DataSource_ESRI,
})

See: https://docs.aws.amazon.com/location/latest/developerguide/places-concepts.html

Experimental.

func NewRouteCalculator

func NewRouteCalculator(scope constructs.Construct, id *string, props *RouteCalculatorProps) RouteCalculator

Experimental.

type RouteCalculatorProps

type RouteCalculatorProps struct {
	// Data source for the route calculator.
	// Experimental.
	DataSource DataSource `field:"required" json:"dataSource" yaml:"dataSource"`
	// A description for the route calculator.
	// Default: - no description.
	//
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A name for the route calculator.
	//
	// Must be between 1 and 100 characters and contain only alphanumeric characters,
	// hyphens, periods and underscores.
	// Default: - A name is automatically generated.
	//
	// Experimental.
	RouteCalculatorName *string `field:"optional" json:"routeCalculatorName" yaml:"routeCalculatorName"`
}

Properties for a route calculator.

Example:

location.NewRouteCalculator(this, jsii.String("RouteCalculator"), &RouteCalculatorProps{
	RouteCalculatorName: jsii.String("MyRouteCalculator"),
	 // optional, defaults to a generated name
	DataSource: location.DataSource_ESRI,
})

Experimental.

type Style

type Style string

The map style selected from an available data provider.

Example:

location.NewMap(this, jsii.String("Map"), &MapProps{
	MapName: jsii.String("my-map"),
	Style: location.Style_VECTOR_ESRI_NAVIGATION,
	CustomLayers: []pOI{
		location.CustomLayer_*pOI,
	},
})

See: https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html

Experimental.

const (
	// The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices.
	//
	// It also includes a richer set of places, such as shops, services, restaurants, attractions,
	// and other points of interest. Enable the POI layer by setting it in CustomLayers to leverage
	// the additional places data.
	// Experimental.
	Style_VECTOR_ESRI_NAVIGATION Style = "VECTOR_ESRI_NAVIGATION"
	// The Esri Imagery map style.
	//
	// A raster basemap that provides one meter or better
	// satellite and aerial imagery in many parts of the world and lower resolution
	// satellite imagery worldwide.
	// Experimental.
	Style_RASTER_ESRI_IMAGERY Style = "RASTER_ESRI_IMAGERY"
	// The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.
	// Experimental.
	Style_VECTOR_ESRI_LIGHT_GRAY_CANVAS Style = "VECTOR_ESRI_LIGHT_GRAY_CANVAS"
	// The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.
	// Experimental.
	Style_VECTOR_ESRI_TOPOGRAPHIC Style = "VECTOR_ESRI_TOPOGRAPHIC"
	// The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style.
	//
	// The vector tile layer is similar
	// in content and style to the World Street Map raster map.
	// Experimental.
	Style_VECTOR_ESRI_STREETS Style = "VECTOR_ESRI_STREETS"
	// The Esri Dark Gray Canvas map style.
	//
	// A vector basemap with a dark gray,
	// neutral background with minimal colors, labels, and features that's designed
	// to draw attention to your thematic content.
	// Experimental.
	Style_VECTOR_ESRI_DARK_GRAY_CANVAS Style = "VECTOR_ESRI_DARK_GRAY_CANVAS"
	// A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features.
	//
	// It also now includes
	// a fully designed map of Japan.
	// Experimental.
	Style_VECTOR_HERE_EXPLORE Style = "VECTOR_HERE_EXPLORE"
	// A global map containing high resolution satellite imagery.
	// Experimental.
	Style_RASTER_HERE_EXPLORE_SATELLITE Style = "RASTER_HERE_EXPLORE_SATELLITE"
	// A global map displaying the road network, street names, and city labels over satellite imagery.
	//
	// This style will automatically retrieve both raster
	// and vector tiles, and your charges will be based on total tiles retrieved.
	// Experimental.
	Style_HYBRID_HERE_EXPLORE_SATELLITE Style = "HYBRID_HERE_EXPLORE_SATELLITE"
	// The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.
	// Experimental.
	Style_VECTOR_HERE_CONTRAST Style = "VECTOR_HERE_CONTRAST"
	// A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.
	// Experimental.
	Style_VECTOR_HERE_EXPLORE_TRUCK Style = "VECTOR_HERE_EXPLORE_TRUCK"
	// The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.
	// Experimental.
	Style_VECTOR_GRAB_STANDARD_LIGHT Style = "VECTOR_GRAB_STANDARD_LIGHT"
	// The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.
	// Experimental.
	Style_VECTOR_GRAB_STANDARD_DARK Style = "VECTOR_GRAB_STANDARD_DARK"
	// The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use.
	//
	// The map includes highways major roads,
	// minor roads, railways, water features, cities, parks, landmarks, building footprints,
	// and administrative boundaries.
	// Experimental.
	Style_VECTOR_OPEN_DATA_STANDARD_LIGHT Style = "VECTOR_OPEN_DATA_STANDARD_LIGHT"
	// Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use.
	//
	// The map includes highways
	// major roads, minor roads, railways, water features, cities, parks, landmarks,
	// building footprints, and administrative boundaries.
	// Experimental.
	Style_VECTOR_OPEN_DATA_STANDARD_DARK Style = "VECTOR_OPEN_DATA_STANDARD_DARK"
	// The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.
	// Experimental.
	Style_VECTOR_OPEN_DATA_VISUALIZATION_LIGHT Style = "VECTOR_OPEN_DATA_VISUALIZATION_LIGHT"
	// The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.
	// Experimental.
	Style_VECTOR_OPEN_DATA_VISUALIZATION_DARK Style = "VECTOR_OPEN_DATA_VISUALIZATION_DARK"
)

type Tracker

type Tracker interface {
	awscdk.Resource
	ITracker
	// The environment this resource belongs to.
	//
	// For resources that are created and managed in a Stack (those created by
	// creating new class instances like `new Role()`, `new Bucket()`, etc.), this
	// is always the same as the environment of the stack they belong to.
	//
	// For referenced resources (those obtained from referencing methods like
	// `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
	// different than the stack they were imported into.
	// Experimental.
	Env() *interfaces.ResourceEnvironment
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// The Amazon Resource Name (ARN) of the tracker resource.
	// Experimental.
	TrackerArn() *string
	// The timestamp for when the tracker resource was created in ISO 8601 format.
	// Experimental.
	TrackerCreateTime() *string
	// The name of the tracker.
	// Experimental.
	TrackerName() *string
	// The timestamp for when the tracker resource was last updated in ISO 8601 format.
	// Experimental.
	TrackerUpdateTime() *string
	// Add Geofence Collections which are associated to the tracker resource.
	// Experimental.
	AddGeofenceCollections(geofenceCollections ...IGeofenceCollection)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Grant the given principal identity permissions to perform the actions on this tracker.
	//
	// [disable-awslint:no-grants].
	// Experimental.
	Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant
	// Grant the given identity permissions to read device positions from a tracker [disable-awslint:no-grants].
	// See: https://docs.aws.amazon.com/location/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-read-only-trackers
	//
	// Experimental.
	GrantRead(grantee awsiam.IGrantable) awsiam.Grant
	// Grant the given identity permissions to update device positions for a tracker [disable-awslint:no-grants].
	// See: https://docs.aws.amazon.com/location/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-read-only-trackers
	//
	// Experimental.
	GrantUpdateDevicePositions(grantee awsiam.IGrantable) awsiam.Grant
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	// Experimental.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

A Tracker.

Example:

var role Role

tracker := location.NewTracker(this, jsii.String("Tracker"), &TrackerProps{
	TrackerName: jsii.String("MyTracker"),
})

tracker.GrantRead(role)

See: https://docs.aws.amazon.com/location/latest/developerguide/geofence-tracker-concepts.html#tracking-overview

Experimental.

func NewTracker

func NewTracker(scope constructs.Construct, id *string, props *TrackerProps) Tracker

Experimental.

type TrackerProps

type TrackerProps struct {
	// A description for the tracker.
	// Default: - no description.
	//
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Send filtered device position updates to default EventBridge bus.
	// Default: false.
	//
	// Experimental.
	EventBridgeEnabled *bool `field:"optional" json:"eventBridgeEnabled" yaml:"eventBridgeEnabled"`
	// An optional list of geofence collections to associate with the tracker resource.
	// Default: - no geofence collections are associated.
	//
	// Experimental.
	GeofenceCollections *[]IGeofenceCollection `field:"optional" json:"geofenceCollections" yaml:"geofenceCollections"`
	// The customer managed key to encrypt data.
	//
	// If you set customer managed key, the Bounding Polygon Queries feature will be disabled by default.
	// You can choose to opt-in to the Bounding Polygon Queries feature by setting the kmsKeyEnableGeospatialQueries parameter to true.
	// Default: - Use an AWS managed key.
	//
	// Experimental.
	KmsKey interfacesawskms.IKeyRef `field:"optional" json:"kmsKey" yaml:"kmsKey"`
	// Whether to opt-in to the Bounding Polygon Queries feature with customer managed key.
	// Default: false.
	//
	// Experimental.
	KmsKeyEnableGeospatialQueries *bool `field:"optional" json:"kmsKeyEnableGeospatialQueries" yaml:"kmsKeyEnableGeospatialQueries"`
	// The position filtering for the tracker resource.
	// Default: PositionFiltering.TIME_BASED
	//
	// Experimental.
	PositionFiltering PositionFiltering `field:"optional" json:"positionFiltering" yaml:"positionFiltering"`
	// A name for the tracker.
	//
	// Must be between 1 and 100 characters and contain only alphanumeric characters,
	// hyphens, periods and underscores.
	// Default: - A name is automatically generated.
	//
	// Experimental.
	TrackerName *string `field:"optional" json:"trackerName" yaml:"trackerName"`
}

Properties for a tracker.

Example:

var role Role

tracker := location.NewTracker(this, jsii.String("Tracker"), &TrackerProps{
	TrackerName: jsii.String("MyTracker"),
})

tracker.GrantRead(role)

Experimental.

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL