Class: AWSCDK::Location::CfnTrackerProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
location/cfn_tracker_props.rb

Overview

Properties for defining a CfnTracker.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tracker_name:, description: nil, event_bridge_enabled: nil, kms_key_enable_geospatial_queries: nil, kms_key_id: nil, position_filtering: nil, pricing_plan: nil, pricing_plan_data_source: nil, tags: nil) ⇒ CfnTrackerProps

Returns a new instance of CfnTrackerProps.

Parameters:

  • tracker_name (String)

    The name for the tracker resource.

  • description (String, nil) (defaults to: nil)

    An optional description for the tracker resource.

  • event_bridge_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)
  • kms_key_enable_geospatial_queries (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)
  • kms_key_id (String, nil) (defaults to: nil)

    A key identifier for an AWS KMS customer managed key . Enter a key ID, key ARN, alias name, or alias ARN.

  • position_filtering (String, nil) (defaults to: nil)

    Specifies the position filtering for the tracker resource.

  • pricing_plan (String, nil) (defaults to: nil)
  • pricing_plan_data_source (String, nil) (defaults to: nil)

    This shape is deprecated since 2022-02-01: Deprecated.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    An array of key-value pairs to apply to this resource.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'location/cfn_tracker_props.rb', line 18

def initialize(tracker_name:, description: nil, event_bridge_enabled: nil, kms_key_enable_geospatial_queries: nil, kms_key_id: nil, position_filtering: nil, pricing_plan: nil, pricing_plan_data_source: nil, tags: nil)
  @tracker_name = tracker_name
  Jsii::Type.check_type(@tracker_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "trackerName")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @event_bridge_enabled = event_bridge_enabled
  Jsii::Type.check_type(@event_bridge_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "eventBridgeEnabled") unless @event_bridge_enabled.nil?
  @kms_key_enable_geospatial_queries = kms_key_enable_geospatial_queries
  Jsii::Type.check_type(@kms_key_enable_geospatial_queries, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "kmsKeyEnableGeospatialQueries") unless @kms_key_enable_geospatial_queries.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @position_filtering = position_filtering
  Jsii::Type.check_type(@position_filtering, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "positionFiltering") unless @position_filtering.nil?
  @pricing_plan = pricing_plan
  Jsii::Type.check_type(@pricing_plan, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pricingPlan") unless @pricing_plan.nil?
  @pricing_plan_data_source = pricing_plan_data_source
  Jsii::Type.check_type(@pricing_plan_data_source, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pricingPlanDataSource") unless @pricing_plan_data_source.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

An optional description for the tracker resource.



54
55
56
# File 'location/cfn_tracker_props.rb', line 54

def description
  @description
end

#event_bridge_enabledBoolean, ... (readonly)



57
58
59
# File 'location/cfn_tracker_props.rb', line 57

def event_bridge_enabled
  @event_bridge_enabled
end

#kms_key_enable_geospatial_queriesBoolean, ... (readonly)



60
61
62
# File 'location/cfn_tracker_props.rb', line 60

def kms_key_enable_geospatial_queries
  @kms_key_enable_geospatial_queries
end

#kms_key_idString? (readonly)

A key identifier for an AWS KMS customer managed key . Enter a key ID, key ARN, alias name, or alias ARN.



65
66
67
# File 'location/cfn_tracker_props.rb', line 65

def kms_key_id
  @kms_key_id
end

#position_filteringString? (readonly)

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 .



78
79
80
# File 'location/cfn_tracker_props.rb', line 78

def position_filtering
  @position_filtering
end

#pricing_planString? (readonly)

Deprecated.

this property has been deprecated



82
83
84
# File 'location/cfn_tracker_props.rb', line 82

def pricing_plan
  @pricing_plan
end

#pricing_plan_data_sourceString? (readonly)

Deprecated.

this property has been deprecated

This shape is deprecated since 2022-02-01: Deprecated.

No longer allowed.



90
91
92
# File 'location/cfn_tracker_props.rb', line 90

def pricing_plan_data_source
  @pricing_plan_data_source
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An array of key-value pairs to apply to this resource.



95
96
97
# File 'location/cfn_tracker_props.rb', line 95

def tags
  @tags
end

#tracker_nameString (readonly)

The name for the tracker resource.

Requirements:

  • Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).
  • Must be a unique tracker resource name.
  • No spaces allowed. For example, ExampleTracker .


49
50
51
# File 'location/cfn_tracker_props.rb', line 49

def tracker_name
  @tracker_name
end

Class Method Details

.jsii_propertiesObject



97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'location/cfn_tracker_props.rb', line 97

def self.jsii_properties
  {
    :tracker_name => "trackerName",
    :description => "description",
    :event_bridge_enabled => "eventBridgeEnabled",
    :kms_key_enable_geospatial_queries => "kmsKeyEnableGeospatialQueries",
    :kms_key_id => "kmsKeyId",
    :position_filtering => "positionFiltering",
    :pricing_plan => "pricingPlan",
    :pricing_plan_data_source => "pricingPlanDataSource",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'location/cfn_tracker_props.rb', line 111

def to_jsii
  result = {}
  result.merge!({
    "trackerName" => @tracker_name,
    "description" => @description,
    "eventBridgeEnabled" => @event_bridge_enabled,
    "kmsKeyEnableGeospatialQueries" => @kms_key_enable_geospatial_queries,
    "kmsKeyId" => @kms_key_id,
    "positionFiltering" => @position_filtering,
    "pricingPlan" => @pricing_plan,
    "pricingPlanDataSource" => @pricing_plan_data_source,
    "tags" => @tags,
  })
  result.compact
end