awsiotfleetwise

package
v2.73.0 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

README

AWS::IoTFleetWise Construct Library

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

import iotfleetwise "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::IoTFleetWise.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnCampaign_CFN_RESOURCE_TYPE_NAME

func CfnCampaign_CFN_RESOURCE_TYPE_NAME() *string

func CfnCampaign_IsCfnElement

func CfnCampaign_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnCampaign_IsCfnResource

func CfnCampaign_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnCampaign_IsConstruct

func CfnCampaign_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`.

func CfnDecoderManifest_CFN_RESOURCE_TYPE_NAME

func CfnDecoderManifest_CFN_RESOURCE_TYPE_NAME() *string

func CfnDecoderManifest_IsCfnElement

func CfnDecoderManifest_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDecoderManifest_IsCfnResource

func CfnDecoderManifest_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDecoderManifest_IsConstruct

func CfnDecoderManifest_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`.

func CfnFleet_CFN_RESOURCE_TYPE_NAME

func CfnFleet_CFN_RESOURCE_TYPE_NAME() *string

func CfnFleet_IsCfnElement

func CfnFleet_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnFleet_IsCfnResource

func CfnFleet_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnFleet_IsConstruct

func CfnFleet_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`.

func CfnModelManifest_CFN_RESOURCE_TYPE_NAME

func CfnModelManifest_CFN_RESOURCE_TYPE_NAME() *string

func CfnModelManifest_IsCfnElement

func CfnModelManifest_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModelManifest_IsCfnResource

func CfnModelManifest_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModelManifest_IsConstruct

func CfnModelManifest_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`.

func CfnSignalCatalog_CFN_RESOURCE_TYPE_NAME

func CfnSignalCatalog_CFN_RESOURCE_TYPE_NAME() *string

func CfnSignalCatalog_IsCfnElement

func CfnSignalCatalog_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnSignalCatalog_IsCfnResource

func CfnSignalCatalog_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnSignalCatalog_IsConstruct

func CfnSignalCatalog_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`.

func CfnVehicle_CFN_RESOURCE_TYPE_NAME

func CfnVehicle_CFN_RESOURCE_TYPE_NAME() *string

func CfnVehicle_IsCfnElement

func CfnVehicle_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnVehicle_IsCfnResource

func CfnVehicle_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnVehicle_IsConstruct

func CfnVehicle_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`.

func NewCfnCampaign_Override

func NewCfnCampaign_Override(c CfnCampaign, scope constructs.Construct, id *string, props *CfnCampaignProps)

Create a new `AWS::IoTFleetWise::Campaign`.

func NewCfnDecoderManifest_Override

func NewCfnDecoderManifest_Override(c CfnDecoderManifest, scope constructs.Construct, id *string, props *CfnDecoderManifestProps)

Create a new `AWS::IoTFleetWise::DecoderManifest`.

func NewCfnFleet_Override

func NewCfnFleet_Override(c CfnFleet, scope constructs.Construct, id *string, props *CfnFleetProps)

Create a new `AWS::IoTFleetWise::Fleet`.

func NewCfnModelManifest_Override

func NewCfnModelManifest_Override(c CfnModelManifest, scope constructs.Construct, id *string, props *CfnModelManifestProps)

Create a new `AWS::IoTFleetWise::ModelManifest`.

func NewCfnSignalCatalog_Override

func NewCfnSignalCatalog_Override(c CfnSignalCatalog, scope constructs.Construct, id *string, props *CfnSignalCatalogProps)

Create a new `AWS::IoTFleetWise::SignalCatalog`.

func NewCfnVehicle_Override

func NewCfnVehicle_Override(c CfnVehicle, scope constructs.Construct, id *string, props *CfnVehicleProps)

Create a new `AWS::IoTFleetWise::Vehicle`.

Types

type CfnCampaign

type CfnCampaign interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// `AWS::IoTFleetWise::Campaign.Action`.
	Action() *string
	SetAction(val *string)
	AttrArn() *string
	AttrCreationTime() *string
	AttrLastModificationTime() *string
	AttrStatus() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// `AWS::IoTFleetWise::Campaign.CollectionScheme`.
	CollectionScheme() interface{}
	SetCollectionScheme(val interface{})
	// `AWS::IoTFleetWise::Campaign.Compression`.
	Compression() *string
	SetCompression(val *string)
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::IoTFleetWise::Campaign.DataExtraDimensions`.
	DataExtraDimensions() *[]*string
	SetDataExtraDimensions(val *[]*string)
	// The description of the campaign.
	Description() *string
	SetDescription(val *string)
	// `AWS::IoTFleetWise::Campaign.DiagnosticsMode`.
	DiagnosticsMode() *string
	SetDiagnosticsMode(val *string)
	// `AWS::IoTFleetWise::Campaign.ExpiryTime`.
	ExpiryTime() *string
	SetExpiryTime(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of a campaign.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// `AWS::IoTFleetWise::Campaign.PostTriggerCollectionDuration`.
	PostTriggerCollectionDuration() *float64
	SetPostTriggerCollectionDuration(val *float64)
	// `AWS::IoTFleetWise::Campaign.Priority`.
	Priority() *float64
	SetPriority(val *float64)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The ARN of the signal catalog associated with the campaign.
	SignalCatalogArn() *string
	SetSignalCatalogArn(val *string)
	// `AWS::IoTFleetWise::Campaign.SignalsToCollect`.
	SignalsToCollect() interface{}
	SetSignalsToCollect(val interface{})
	// `AWS::IoTFleetWise::Campaign.SpoolingMode`.
	SpoolingMode() *string
	SetSpoolingMode(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::IoTFleetWise::Campaign.StartTime`.
	StartTime() *string
	SetStartTime(val *string)
	// `AWS::IoTFleetWise::Campaign.Tags`.
	Tags() awscdk.TagManager
	// The ARN of a vehicle or fleet to which the campaign is deployed.
	TargetArn() *string
	SetTargetArn(val *string)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::IoTFleetWise::Campaign`.

Creates an orchestration of data collection rules. The AWS IoT FleetWise Edge Agent software running in vehicles uses campaigns to decide how to collect and transfer data to the cloud. You create campaigns in the cloud. After you or your team approve campaigns, AWS IoT FleetWise automatically deploys them to vehicles.

For more information, see [Collect and transfer data with campaigns](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html) in the *AWS IoT FleetWise Developer Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnCampaign := awscdk.Aws_iotfleetwise.NewCfnCampaign(this, jsii.String("MyCfnCampaign"), &CfnCampaignProps{
	Action: jsii.String("action"),
	CollectionScheme: &CollectionSchemeProperty{
		ConditionBasedCollectionScheme: &ConditionBasedCollectionSchemeProperty{
			Expression: jsii.String("expression"),

			// the properties below are optional
			ConditionLanguageVersion: jsii.Number(123),
			MinimumTriggerIntervalMs: jsii.Number(123),
			TriggerMode: jsii.String("triggerMode"),
		},
		TimeBasedCollectionScheme: &TimeBasedCollectionSchemeProperty{
			PeriodMs: jsii.Number(123),
		},
	},
	Name: jsii.String("name"),
	SignalCatalogArn: jsii.String("signalCatalogArn"),
	TargetArn: jsii.String("targetArn"),

	// the properties below are optional
	Compression: jsii.String("compression"),
	DataExtraDimensions: []*string{
		jsii.String("dataExtraDimensions"),
	},
	Description: jsii.String("description"),
	DiagnosticsMode: jsii.String("diagnosticsMode"),
	ExpiryTime: jsii.String("expiryTime"),
	PostTriggerCollectionDuration: jsii.Number(123),
	Priority: jsii.Number(123),
	SignalsToCollect: []interface{}{
		&SignalInformationProperty{
			Name: jsii.String("name"),

			// the properties below are optional
			MaxSampleCount: jsii.Number(123),
			MinimumSamplingIntervalMs: jsii.Number(123),
		},
	},
	SpoolingMode: jsii.String("spoolingMode"),
	StartTime: jsii.String("startTime"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnCampaign

func NewCfnCampaign(scope constructs.Construct, id *string, props *CfnCampaignProps) CfnCampaign

Create a new `AWS::IoTFleetWise::Campaign`.

type CfnCampaignProps

type CfnCampaignProps struct {
	// `AWS::IoTFleetWise::Campaign.Action`.
	Action *string `field:"required" json:"action" yaml:"action"`
	// `AWS::IoTFleetWise::Campaign.CollectionScheme`.
	CollectionScheme interface{} `field:"required" json:"collectionScheme" yaml:"collectionScheme"`
	// The name of a campaign.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The ARN of the signal catalog associated with the campaign.
	SignalCatalogArn *string `field:"required" json:"signalCatalogArn" yaml:"signalCatalogArn"`
	// The ARN of a vehicle or fleet to which the campaign is deployed.
	TargetArn *string `field:"required" json:"targetArn" yaml:"targetArn"`
	// `AWS::IoTFleetWise::Campaign.Compression`.
	Compression *string `field:"optional" json:"compression" yaml:"compression"`
	// `AWS::IoTFleetWise::Campaign.DataExtraDimensions`.
	DataExtraDimensions *[]*string `field:"optional" json:"dataExtraDimensions" yaml:"dataExtraDimensions"`
	// The description of the campaign.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::IoTFleetWise::Campaign.DiagnosticsMode`.
	DiagnosticsMode *string `field:"optional" json:"diagnosticsMode" yaml:"diagnosticsMode"`
	// `AWS::IoTFleetWise::Campaign.ExpiryTime`.
	ExpiryTime *string `field:"optional" json:"expiryTime" yaml:"expiryTime"`
	// `AWS::IoTFleetWise::Campaign.PostTriggerCollectionDuration`.
	PostTriggerCollectionDuration *float64 `field:"optional" json:"postTriggerCollectionDuration" yaml:"postTriggerCollectionDuration"`
	// `AWS::IoTFleetWise::Campaign.Priority`.
	Priority *float64 `field:"optional" json:"priority" yaml:"priority"`
	// `AWS::IoTFleetWise::Campaign.SignalsToCollect`.
	SignalsToCollect interface{} `field:"optional" json:"signalsToCollect" yaml:"signalsToCollect"`
	// `AWS::IoTFleetWise::Campaign.SpoolingMode`.
	SpoolingMode *string `field:"optional" json:"spoolingMode" yaml:"spoolingMode"`
	// `AWS::IoTFleetWise::Campaign.StartTime`.
	StartTime *string `field:"optional" json:"startTime" yaml:"startTime"`
	// `AWS::IoTFleetWise::Campaign.Tags`.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnCampaign`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnCampaignProps := &CfnCampaignProps{
	Action: jsii.String("action"),
	CollectionScheme: &CollectionSchemeProperty{
		ConditionBasedCollectionScheme: &ConditionBasedCollectionSchemeProperty{
			Expression: jsii.String("expression"),

			// the properties below are optional
			ConditionLanguageVersion: jsii.Number(123),
			MinimumTriggerIntervalMs: jsii.Number(123),
			TriggerMode: jsii.String("triggerMode"),
		},
		TimeBasedCollectionScheme: &TimeBasedCollectionSchemeProperty{
			PeriodMs: jsii.Number(123),
		},
	},
	Name: jsii.String("name"),
	SignalCatalogArn: jsii.String("signalCatalogArn"),
	TargetArn: jsii.String("targetArn"),

	// the properties below are optional
	Compression: jsii.String("compression"),
	DataExtraDimensions: []*string{
		jsii.String("dataExtraDimensions"),
	},
	Description: jsii.String("description"),
	DiagnosticsMode: jsii.String("diagnosticsMode"),
	ExpiryTime: jsii.String("expiryTime"),
	PostTriggerCollectionDuration: jsii.Number(123),
	Priority: jsii.Number(123),
	SignalsToCollect: []interface{}{
		&SignalInformationProperty{
			Name: jsii.String("name"),

			// the properties below are optional
			MaxSampleCount: jsii.Number(123),
			MinimumSamplingIntervalMs: jsii.Number(123),
		},
	},
	SpoolingMode: jsii.String("spoolingMode"),
	StartTime: jsii.String("startTime"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnCampaign_CollectionSchemeProperty

type CfnCampaign_CollectionSchemeProperty struct {
	// Information about a collection scheme that uses a simple logical expression to recognize what data to collect.
	ConditionBasedCollectionScheme interface{} `field:"optional" json:"conditionBasedCollectionScheme" yaml:"conditionBasedCollectionScheme"`
	// Information about a collection scheme that uses a time period to decide how often to collect data.
	TimeBasedCollectionScheme interface{} `field:"optional" json:"timeBasedCollectionScheme" yaml:"timeBasedCollectionScheme"`
}

Specifies what data to collect and how often or when to collect it.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

collectionSchemeProperty := &CollectionSchemeProperty{
	ConditionBasedCollectionScheme: &ConditionBasedCollectionSchemeProperty{
		Expression: jsii.String("expression"),

		// the properties below are optional
		ConditionLanguageVersion: jsii.Number(123),
		MinimumTriggerIntervalMs: jsii.Number(123),
		TriggerMode: jsii.String("triggerMode"),
	},
	TimeBasedCollectionScheme: &TimeBasedCollectionSchemeProperty{
		PeriodMs: jsii.Number(123),
	},
}

type CfnCampaign_ConditionBasedCollectionSchemeProperty

type CfnCampaign_ConditionBasedCollectionSchemeProperty struct {
	// The logical expression used to recognize what data to collect.
	//
	// For example, `$variable.Vehicle.OutsideAirTemperature >= 105.0` .
	Expression *string `field:"required" json:"expression" yaml:"expression"`
	// Specifies the version of the conditional expression language.
	ConditionLanguageVersion *float64 `field:"optional" json:"conditionLanguageVersion" yaml:"conditionLanguageVersion"`
	// The minimum duration of time between two triggering events to collect data, in milliseconds.
	//
	// > If a signal changes often, you might want to collect data at a slower rate.
	MinimumTriggerIntervalMs *float64 `field:"optional" json:"minimumTriggerIntervalMs" yaml:"minimumTriggerIntervalMs"`
	// Whether to collect data for all triggering events ( `ALWAYS` ).
	//
	// Specify ( `RISING_EDGE` ), or specify only when the condition first evaluates to false. For example, triggering on "AirbagDeployed"; Users aren't interested on triggering when the airbag is already exploded; they only care about the change from not deployed => deployed.
	TriggerMode *string `field:"optional" json:"triggerMode" yaml:"triggerMode"`
}

Information about a collection scheme that uses a simple logical expression to recognize what data to collect.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

conditionBasedCollectionSchemeProperty := &ConditionBasedCollectionSchemeProperty{
	Expression: jsii.String("expression"),

	// the properties below are optional
	ConditionLanguageVersion: jsii.Number(123),
	MinimumTriggerIntervalMs: jsii.Number(123),
	TriggerMode: jsii.String("triggerMode"),
}

type CfnCampaign_SignalInformationProperty

type CfnCampaign_SignalInformationProperty struct {
	// The name of the signal.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The maximum number of samples to collect.
	MaxSampleCount *float64 `field:"optional" json:"maxSampleCount" yaml:"maxSampleCount"`
	// The minimum duration of time (in milliseconds) between two triggering events to collect data.
	//
	// > If a signal changes often, you might want to collect data at a slower rate.
	MinimumSamplingIntervalMs *float64 `field:"optional" json:"minimumSamplingIntervalMs" yaml:"minimumSamplingIntervalMs"`
}

Information about a signal.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

signalInformationProperty := &SignalInformationProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	MaxSampleCount: jsii.Number(123),
	MinimumSamplingIntervalMs: jsii.Number(123),
}

type CfnCampaign_TimeBasedCollectionSchemeProperty

type CfnCampaign_TimeBasedCollectionSchemeProperty struct {
	// The time period (in milliseconds) to decide how often to collect data.
	//
	// For example, if the time period is `60000` , the Edge Agent software collects data once every minute.
	PeriodMs *float64 `field:"required" json:"periodMs" yaml:"periodMs"`
}

Information about a collection scheme that uses a time period to decide how often to collect data.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

timeBasedCollectionSchemeProperty := &TimeBasedCollectionSchemeProperty{
	PeriodMs: jsii.Number(123),
}

type CfnDecoderManifest

type CfnDecoderManifest interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrCreationTime() *string
	AttrLastModificationTime() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A brief description of the decoder manifest.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The ARN of a vehicle model (model manifest) associated with the decoder manifest.
	ModelManifestArn() *string
	SetModelManifestArn(val *string)
	// The name of the decoder manifest.
	Name() *string
	SetName(val *string)
	// `AWS::IoTFleetWise::DecoderManifest.NetworkInterfaces`.
	NetworkInterfaces() interface{}
	SetNetworkInterfaces(val interface{})
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// `AWS::IoTFleetWise::DecoderManifest.SignalDecoders`.
	SignalDecoders() interface{}
	SetSignalDecoders(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The state of the decoder manifest.
	//
	// If the status is `ACTIVE` , the decoder manifest can't be edited. If the status is marked `DRAFT` , you can edit the decoder manifest.
	Status() *string
	SetStatus(val *string)
	// `AWS::IoTFleetWise::DecoderManifest.Tags`.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::IoTFleetWise::DecoderManifest`.

Creates the decoder manifest associated with a model manifest. To create a decoder manifest, the following must be true:

- Every signal decoder has a unique name. - Each signal decoder is associated with a network interface. - Each network interface has a unique ID. - The signal decoders are specified in the model manifest.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDecoderManifest := awscdk.Aws_iotfleetwise.NewCfnDecoderManifest(this, jsii.String("MyCfnDecoderManifest"), &CfnDecoderManifestProps{
	ModelManifestArn: jsii.String("modelManifestArn"),
	Name: jsii.String("name"),

	// the properties below are optional
	Description: jsii.String("description"),
	NetworkInterfaces: []interface{}{
		&NetworkInterfacesItemsProperty{
			InterfaceId: jsii.String("interfaceId"),
			Type: jsii.String("type"),

			// the properties below are optional
			CanInterface: &CanInterfaceProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				ProtocolName: jsii.String("protocolName"),
				ProtocolVersion: jsii.String("protocolVersion"),
			},
			ObdInterface: &ObdInterfaceProperty{
				Name: jsii.String("name"),
				RequestMessageId: jsii.String("requestMessageId"),

				// the properties below are optional
				DtcRequestIntervalSeconds: jsii.String("dtcRequestIntervalSeconds"),
				HasTransmissionEcu: jsii.String("hasTransmissionEcu"),
				ObdStandard: jsii.String("obdStandard"),
				PidRequestIntervalSeconds: jsii.String("pidRequestIntervalSeconds"),
				UseExtendedIds: jsii.String("useExtendedIds"),
			},
		},
	},
	SignalDecoders: []interface{}{
		&SignalDecodersItemsProperty{
			FullyQualifiedName: jsii.String("fullyQualifiedName"),
			InterfaceId: jsii.String("interfaceId"),
			Type: jsii.String("type"),

			// the properties below are optional
			CanSignal: &CanSignalProperty{
				Factor: jsii.String("factor"),
				IsBigEndian: jsii.String("isBigEndian"),
				IsSigned: jsii.String("isSigned"),
				Length: jsii.String("length"),
				MessageId: jsii.String("messageId"),
				Offset: jsii.String("offset"),
				StartBit: jsii.String("startBit"),

				// the properties below are optional
				Name: jsii.String("name"),
			},
			ObdSignal: &ObdSignalProperty{
				ByteLength: jsii.String("byteLength"),
				Offset: jsii.String("offset"),
				Pid: jsii.String("pid"),
				PidResponseLength: jsii.String("pidResponseLength"),
				Scaling: jsii.String("scaling"),
				ServiceMode: jsii.String("serviceMode"),
				StartByte: jsii.String("startByte"),

				// the properties below are optional
				BitMaskLength: jsii.String("bitMaskLength"),
				BitRightShift: jsii.String("bitRightShift"),
			},
		},
	},
	Status: jsii.String("status"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnDecoderManifest

func NewCfnDecoderManifest(scope constructs.Construct, id *string, props *CfnDecoderManifestProps) CfnDecoderManifest

Create a new `AWS::IoTFleetWise::DecoderManifest`.

type CfnDecoderManifestProps

type CfnDecoderManifestProps struct {
	// The ARN of a vehicle model (model manifest) associated with the decoder manifest.
	ModelManifestArn *string `field:"required" json:"modelManifestArn" yaml:"modelManifestArn"`
	// The name of the decoder manifest.
	Name *string `field:"required" json:"name" yaml:"name"`
	// A brief description of the decoder manifest.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::IoTFleetWise::DecoderManifest.NetworkInterfaces`.
	NetworkInterfaces interface{} `field:"optional" json:"networkInterfaces" yaml:"networkInterfaces"`
	// `AWS::IoTFleetWise::DecoderManifest.SignalDecoders`.
	SignalDecoders interface{} `field:"optional" json:"signalDecoders" yaml:"signalDecoders"`
	// The state of the decoder manifest.
	//
	// If the status is `ACTIVE` , the decoder manifest can't be edited. If the status is marked `DRAFT` , you can edit the decoder manifest.
	Status *string `field:"optional" json:"status" yaml:"status"`
	// `AWS::IoTFleetWise::DecoderManifest.Tags`.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDecoderManifest`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDecoderManifestProps := &CfnDecoderManifestProps{
	ModelManifestArn: jsii.String("modelManifestArn"),
	Name: jsii.String("name"),

	// the properties below are optional
	Description: jsii.String("description"),
	NetworkInterfaces: []interface{}{
		&NetworkInterfacesItemsProperty{
			InterfaceId: jsii.String("interfaceId"),
			Type: jsii.String("type"),

			// the properties below are optional
			CanInterface: &CanInterfaceProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				ProtocolName: jsii.String("protocolName"),
				ProtocolVersion: jsii.String("protocolVersion"),
			},
			ObdInterface: &ObdInterfaceProperty{
				Name: jsii.String("name"),
				RequestMessageId: jsii.String("requestMessageId"),

				// the properties below are optional
				DtcRequestIntervalSeconds: jsii.String("dtcRequestIntervalSeconds"),
				HasTransmissionEcu: jsii.String("hasTransmissionEcu"),
				ObdStandard: jsii.String("obdStandard"),
				PidRequestIntervalSeconds: jsii.String("pidRequestIntervalSeconds"),
				UseExtendedIds: jsii.String("useExtendedIds"),
			},
		},
	},
	SignalDecoders: []interface{}{
		&SignalDecodersItemsProperty{
			FullyQualifiedName: jsii.String("fullyQualifiedName"),
			InterfaceId: jsii.String("interfaceId"),
			Type: jsii.String("type"),

			// the properties below are optional
			CanSignal: &CanSignalProperty{
				Factor: jsii.String("factor"),
				IsBigEndian: jsii.String("isBigEndian"),
				IsSigned: jsii.String("isSigned"),
				Length: jsii.String("length"),
				MessageId: jsii.String("messageId"),
				Offset: jsii.String("offset"),
				StartBit: jsii.String("startBit"),

				// the properties below are optional
				Name: jsii.String("name"),
			},
			ObdSignal: &ObdSignalProperty{
				ByteLength: jsii.String("byteLength"),
				Offset: jsii.String("offset"),
				Pid: jsii.String("pid"),
				PidResponseLength: jsii.String("pidResponseLength"),
				Scaling: jsii.String("scaling"),
				ServiceMode: jsii.String("serviceMode"),
				StartByte: jsii.String("startByte"),

				// the properties below are optional
				BitMaskLength: jsii.String("bitMaskLength"),
				BitRightShift: jsii.String("bitRightShift"),
			},
		},
	},
	Status: jsii.String("status"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnDecoderManifest_CanInterfaceProperty

type CfnDecoderManifest_CanInterfaceProperty struct {
	// The unique name of the interface.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The name of the communication protocol for the interface.
	ProtocolName *string `field:"optional" json:"protocolName" yaml:"protocolName"`
	// The version of the communication protocol for the interface.
	ProtocolVersion *string `field:"optional" json:"protocolVersion" yaml:"protocolVersion"`
}

A single controller area network (CAN) device interface.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

canInterfaceProperty := &CanInterfaceProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	ProtocolName: jsii.String("protocolName"),
	ProtocolVersion: jsii.String("protocolVersion"),
}

type CfnDecoderManifest_CanSignalProperty

type CfnDecoderManifest_CanSignalProperty struct {
	// A multiplier used to decode the CAN message.
	Factor *string `field:"required" json:"factor" yaml:"factor"`
	// Whether the byte ordering of a CAN message is big-endian.
	IsBigEndian *string `field:"required" json:"isBigEndian" yaml:"isBigEndian"`
	// Whether the message data is specified as a signed value.
	IsSigned *string `field:"required" json:"isSigned" yaml:"isSigned"`
	// How many bytes of data are in the message.
	Length *string `field:"required" json:"length" yaml:"length"`
	// The ID of the message.
	MessageId *string `field:"required" json:"messageId" yaml:"messageId"`
	// Indicates where data appears in the CAN message.
	Offset *string `field:"required" json:"offset" yaml:"offset"`
	// Indicates the beginning of the CAN message.
	StartBit *string `field:"required" json:"startBit" yaml:"startBit"`
	// The name of the signal.
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Information about a single controller area network (CAN) signal and the messages it receives and transmits.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

canSignalProperty := &CanSignalProperty{
	Factor: jsii.String("factor"),
	IsBigEndian: jsii.String("isBigEndian"),
	IsSigned: jsii.String("isSigned"),
	Length: jsii.String("length"),
	MessageId: jsii.String("messageId"),
	Offset: jsii.String("offset"),
	StartBit: jsii.String("startBit"),

	// the properties below are optional
	Name: jsii.String("name"),
}

type CfnDecoderManifest_NetworkInterfacesItemsProperty added in v2.55.0

type CfnDecoderManifest_NetworkInterfacesItemsProperty struct {
	// `CfnDecoderManifest.NetworkInterfacesItemsProperty.InterfaceId`.
	InterfaceId *string `field:"required" json:"interfaceId" yaml:"interfaceId"`
	// `CfnDecoderManifest.NetworkInterfacesItemsProperty.Type`.
	Type *string `field:"required" json:"type" yaml:"type"`
	// `CfnDecoderManifest.NetworkInterfacesItemsProperty.CanInterface`.
	CanInterface interface{} `field:"optional" json:"canInterface" yaml:"canInterface"`
	// `CfnDecoderManifest.NetworkInterfacesItemsProperty.ObdInterface`.
	ObdInterface interface{} `field:"optional" json:"obdInterface" yaml:"obdInterface"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

networkInterfacesItemsProperty := &NetworkInterfacesItemsProperty{
	InterfaceId: jsii.String("interfaceId"),
	Type: jsii.String("type"),

	// the properties below are optional
	CanInterface: &CanInterfaceProperty{
		Name: jsii.String("name"),

		// the properties below are optional
		ProtocolName: jsii.String("protocolName"),
		ProtocolVersion: jsii.String("protocolVersion"),
	},
	ObdInterface: &ObdInterfaceProperty{
		Name: jsii.String("name"),
		RequestMessageId: jsii.String("requestMessageId"),

		// the properties below are optional
		DtcRequestIntervalSeconds: jsii.String("dtcRequestIntervalSeconds"),
		HasTransmissionEcu: jsii.String("hasTransmissionEcu"),
		ObdStandard: jsii.String("obdStandard"),
		PidRequestIntervalSeconds: jsii.String("pidRequestIntervalSeconds"),
		UseExtendedIds: jsii.String("useExtendedIds"),
	},
}

type CfnDecoderManifest_ObdInterfaceProperty

type CfnDecoderManifest_ObdInterfaceProperty struct {
	// The name of the interface.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The ID of the message requesting vehicle data.
	RequestMessageId *string `field:"required" json:"requestMessageId" yaml:"requestMessageId"`
	// The maximum number message requests per diagnostic trouble code per second.
	DtcRequestIntervalSeconds *string `field:"optional" json:"dtcRequestIntervalSeconds" yaml:"dtcRequestIntervalSeconds"`
	// Whether the vehicle has a transmission control module (TCM).
	HasTransmissionEcu *string `field:"optional" json:"hasTransmissionEcu" yaml:"hasTransmissionEcu"`
	// The standard OBD II PID.
	ObdStandard *string `field:"optional" json:"obdStandard" yaml:"obdStandard"`
	// The maximum number message requests per second.
	PidRequestIntervalSeconds *string `field:"optional" json:"pidRequestIntervalSeconds" yaml:"pidRequestIntervalSeconds"`
	// Whether to use extended IDs in the message.
	UseExtendedIds *string `field:"optional" json:"useExtendedIds" yaml:"useExtendedIds"`
}

A network interface that specifies the On-board diagnostic (OBD) II network protocol.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

obdInterfaceProperty := &ObdInterfaceProperty{
	Name: jsii.String("name"),
	RequestMessageId: jsii.String("requestMessageId"),

	// the properties below are optional
	DtcRequestIntervalSeconds: jsii.String("dtcRequestIntervalSeconds"),
	HasTransmissionEcu: jsii.String("hasTransmissionEcu"),
	ObdStandard: jsii.String("obdStandard"),
	PidRequestIntervalSeconds: jsii.String("pidRequestIntervalSeconds"),
	UseExtendedIds: jsii.String("useExtendedIds"),
}

type CfnDecoderManifest_ObdSignalProperty

type CfnDecoderManifest_ObdSignalProperty struct {
	// The length of a message.
	ByteLength *string `field:"required" json:"byteLength" yaml:"byteLength"`
	// Indicates where data appears in the message.
	Offset *string `field:"required" json:"offset" yaml:"offset"`
	// The diagnostic code used to request data from a vehicle for this signal.
	Pid *string `field:"required" json:"pid" yaml:"pid"`
	// The length of the requested data.
	PidResponseLength *string `field:"required" json:"pidResponseLength" yaml:"pidResponseLength"`
	// A multiplier used to decode the message.
	Scaling *string `field:"required" json:"scaling" yaml:"scaling"`
	// The mode of operation (diagnostic service) in a message.
	ServiceMode *string `field:"required" json:"serviceMode" yaml:"serviceMode"`
	// Indicates the beginning of the message.
	StartByte *string `field:"required" json:"startByte" yaml:"startByte"`
	// The number of bits to mask in a message.
	BitMaskLength *string `field:"optional" json:"bitMaskLength" yaml:"bitMaskLength"`
	// The number of positions to shift bits in the message.
	BitRightShift *string `field:"optional" json:"bitRightShift" yaml:"bitRightShift"`
}

Information about signal messages using the on-board diagnostics (OBD) II protocol in a vehicle.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

obdSignalProperty := &ObdSignalProperty{
	ByteLength: jsii.String("byteLength"),
	Offset: jsii.String("offset"),
	Pid: jsii.String("pid"),
	PidResponseLength: jsii.String("pidResponseLength"),
	Scaling: jsii.String("scaling"),
	ServiceMode: jsii.String("serviceMode"),
	StartByte: jsii.String("startByte"),

	// the properties below are optional
	BitMaskLength: jsii.String("bitMaskLength"),
	BitRightShift: jsii.String("bitRightShift"),
}

type CfnDecoderManifest_SignalDecodersItemsProperty added in v2.55.0

type CfnDecoderManifest_SignalDecodersItemsProperty struct {
	// `CfnDecoderManifest.SignalDecodersItemsProperty.FullyQualifiedName`.
	FullyQualifiedName *string `field:"required" json:"fullyQualifiedName" yaml:"fullyQualifiedName"`
	// `CfnDecoderManifest.SignalDecodersItemsProperty.InterfaceId`.
	InterfaceId *string `field:"required" json:"interfaceId" yaml:"interfaceId"`
	// `CfnDecoderManifest.SignalDecodersItemsProperty.Type`.
	Type *string `field:"required" json:"type" yaml:"type"`
	// `CfnDecoderManifest.SignalDecodersItemsProperty.CanSignal`.
	CanSignal interface{} `field:"optional" json:"canSignal" yaml:"canSignal"`
	// `CfnDecoderManifest.SignalDecodersItemsProperty.ObdSignal`.
	ObdSignal interface{} `field:"optional" json:"obdSignal" yaml:"obdSignal"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

signalDecodersItemsProperty := &SignalDecodersItemsProperty{
	FullyQualifiedName: jsii.String("fullyQualifiedName"),
	InterfaceId: jsii.String("interfaceId"),
	Type: jsii.String("type"),

	// the properties below are optional
	CanSignal: &CanSignalProperty{
		Factor: jsii.String("factor"),
		IsBigEndian: jsii.String("isBigEndian"),
		IsSigned: jsii.String("isSigned"),
		Length: jsii.String("length"),
		MessageId: jsii.String("messageId"),
		Offset: jsii.String("offset"),
		StartBit: jsii.String("startBit"),

		// the properties below are optional
		Name: jsii.String("name"),
	},
	ObdSignal: &ObdSignalProperty{
		ByteLength: jsii.String("byteLength"),
		Offset: jsii.String("offset"),
		Pid: jsii.String("pid"),
		PidResponseLength: jsii.String("pidResponseLength"),
		Scaling: jsii.String("scaling"),
		ServiceMode: jsii.String("serviceMode"),
		StartByte: jsii.String("startByte"),

		// the properties below are optional
		BitMaskLength: jsii.String("bitMaskLength"),
		BitRightShift: jsii.String("bitRightShift"),
	},
}

type CfnFleet

type CfnFleet interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrCreationTime() *string
	AttrLastModificationTime() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A brief description of the fleet.
	Description() *string
	SetDescription(val *string)
	// The unique ID of the fleet.
	Id() *string
	SetId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The ARN of the signal catalog associated with the fleet.
	SignalCatalogArn() *string
	SetSignalCatalogArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::IoTFleetWise::Fleet.Tags`.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::IoTFleetWise::Fleet`.

Creates a fleet that represents a group of vehicles.

> You must create both a signal catalog and vehicles before you can create a fleet.

For more information, see [Fleets](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleets.html) in the *AWS IoT FleetWise Developer Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnFleet := awscdk.Aws_iotfleetwise.NewCfnFleet(this, jsii.String("MyCfnFleet"), &CfnFleetProps{
	Id: jsii.String("id"),
	SignalCatalogArn: jsii.String("signalCatalogArn"),

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnFleet

func NewCfnFleet(scope constructs.Construct, id *string, props *CfnFleetProps) CfnFleet

Create a new `AWS::IoTFleetWise::Fleet`.

type CfnFleetProps

type CfnFleetProps struct {
	// The unique ID of the fleet.
	Id *string `field:"required" json:"id" yaml:"id"`
	// The ARN of the signal catalog associated with the fleet.
	SignalCatalogArn *string `field:"required" json:"signalCatalogArn" yaml:"signalCatalogArn"`
	// A brief description of the fleet.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::IoTFleetWise::Fleet.Tags`.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnFleet`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnFleetProps := &CfnFleetProps{
	Id: jsii.String("id"),
	SignalCatalogArn: jsii.String("signalCatalogArn"),

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnModelManifest

type CfnModelManifest interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrCreationTime() *string
	AttrLastModificationTime() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A brief description of the vehicle model.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the vehicle model.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// `AWS::IoTFleetWise::ModelManifest.Nodes`.
	Nodes() *[]*string
	SetNodes(val *[]*string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The ARN of the signal catalog associated with the vehicle model.
	SignalCatalogArn() *string
	SetSignalCatalogArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The state of the vehicle model.
	//
	// If the status is `ACTIVE` , the vehicle model can't be edited. If the status is `DRAFT` , you can edit the vehicle model.
	Status() *string
	SetStatus(val *string)
	// `AWS::IoTFleetWise::ModelManifest.Tags`.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::IoTFleetWise::ModelManifest`.

Creates a vehicle model (model manifest) that specifies signals (attributes, branches, sensors, and actuators).

For more information, see [Vehicle models](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/vehicle-models.html) in the *AWS IoT FleetWise Developer Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnModelManifest := awscdk.Aws_iotfleetwise.NewCfnModelManifest(this, jsii.String("MyCfnModelManifest"), &CfnModelManifestProps{
	Name: jsii.String("name"),
	SignalCatalogArn: jsii.String("signalCatalogArn"),

	// the properties below are optional
	Description: jsii.String("description"),
	Nodes: []*string{
		jsii.String("nodes"),
	},
	Status: jsii.String("status"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnModelManifest

func NewCfnModelManifest(scope constructs.Construct, id *string, props *CfnModelManifestProps) CfnModelManifest

Create a new `AWS::IoTFleetWise::ModelManifest`.

type CfnModelManifestProps

type CfnModelManifestProps struct {
	// The name of the vehicle model.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The ARN of the signal catalog associated with the vehicle model.
	SignalCatalogArn *string `field:"required" json:"signalCatalogArn" yaml:"signalCatalogArn"`
	// A brief description of the vehicle model.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::IoTFleetWise::ModelManifest.Nodes`.
	Nodes *[]*string `field:"optional" json:"nodes" yaml:"nodes"`
	// The state of the vehicle model.
	//
	// If the status is `ACTIVE` , the vehicle model can't be edited. If the status is `DRAFT` , you can edit the vehicle model.
	Status *string `field:"optional" json:"status" yaml:"status"`
	// `AWS::IoTFleetWise::ModelManifest.Tags`.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnModelManifest`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnModelManifestProps := &CfnModelManifestProps{
	Name: jsii.String("name"),
	SignalCatalogArn: jsii.String("signalCatalogArn"),

	// the properties below are optional
	Description: jsii.String("description"),
	Nodes: []*string{
		jsii.String("nodes"),
	},
	Status: jsii.String("status"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnSignalCatalog

type CfnSignalCatalog interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrCreationTime() *string
	AttrLastModificationTime() *string
	AttrNodeCountsTotalActuators() awscdk.IResolvable
	AttrNodeCountsTotalAttributes() awscdk.IResolvable
	AttrNodeCountsTotalBranches() awscdk.IResolvable
	AttrNodeCountsTotalNodes() awscdk.IResolvable
	AttrNodeCountsTotalSensors() awscdk.IResolvable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::IoTFleetWise::SignalCatalog.Description`.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the signal catalog.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// `AWS::IoTFleetWise::SignalCatalog.NodeCounts`.
	NodeCounts() interface{}
	SetNodeCounts(val interface{})
	// `AWS::IoTFleetWise::SignalCatalog.Nodes`.
	Nodes() interface{}
	SetNodes(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::IoTFleetWise::SignalCatalog.Tags`.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::IoTFleetWise::SignalCatalog`.

Creates a collection of standardized signals that can be reused to create vehicle models.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnSignalCatalog := awscdk.Aws_iotfleetwise.NewCfnSignalCatalog(this, jsii.String("MyCfnSignalCatalog"), &CfnSignalCatalogProps{
	Description: jsii.String("description"),
	Name: jsii.String("name"),
	NodeCounts: &NodeCountsProperty{
		TotalActuators: jsii.Number(123),
		TotalAttributes: jsii.Number(123),
		TotalBranches: jsii.Number(123),
		TotalNodes: jsii.Number(123),
		TotalSensors: jsii.Number(123),
	},
	Nodes: []interface{}{
		&NodeProperty{
			Actuator: &ActuatorProperty{
				DataType: jsii.String("dataType"),
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				AllowedValues: []*string{
					jsii.String("allowedValues"),
				},
				AssignedValue: jsii.String("assignedValue"),
				Description: jsii.String("description"),
				Max: jsii.Number(123),
				Min: jsii.Number(123),
				Unit: jsii.String("unit"),
			},
			Attribute: &AttributeProperty{
				DataType: jsii.String("dataType"),
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				AllowedValues: []*string{
					jsii.String("allowedValues"),
				},
				AssignedValue: jsii.String("assignedValue"),
				DefaultValue: jsii.String("defaultValue"),
				Description: jsii.String("description"),
				Max: jsii.Number(123),
				Min: jsii.Number(123),
				Unit: jsii.String("unit"),
			},
			Branch: &BranchProperty{
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				Description: jsii.String("description"),
			},
			Sensor: &SensorProperty{
				DataType: jsii.String("dataType"),
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				AllowedValues: []*string{
					jsii.String("allowedValues"),
				},
				Description: jsii.String("description"),
				Max: jsii.Number(123),
				Min: jsii.Number(123),
				Unit: jsii.String("unit"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnSignalCatalog

func NewCfnSignalCatalog(scope constructs.Construct, id *string, props *CfnSignalCatalogProps) CfnSignalCatalog

Create a new `AWS::IoTFleetWise::SignalCatalog`.

type CfnSignalCatalogProps

type CfnSignalCatalogProps struct {
	// `AWS::IoTFleetWise::SignalCatalog.Description`.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The name of the signal catalog.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// `AWS::IoTFleetWise::SignalCatalog.NodeCounts`.
	NodeCounts interface{} `field:"optional" json:"nodeCounts" yaml:"nodeCounts"`
	// `AWS::IoTFleetWise::SignalCatalog.Nodes`.
	Nodes interface{} `field:"optional" json:"nodes" yaml:"nodes"`
	// `AWS::IoTFleetWise::SignalCatalog.Tags`.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnSignalCatalog`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnSignalCatalogProps := &CfnSignalCatalogProps{
	Description: jsii.String("description"),
	Name: jsii.String("name"),
	NodeCounts: &NodeCountsProperty{
		TotalActuators: jsii.Number(123),
		TotalAttributes: jsii.Number(123),
		TotalBranches: jsii.Number(123),
		TotalNodes: jsii.Number(123),
		TotalSensors: jsii.Number(123),
	},
	Nodes: []interface{}{
		&NodeProperty{
			Actuator: &ActuatorProperty{
				DataType: jsii.String("dataType"),
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				AllowedValues: []*string{
					jsii.String("allowedValues"),
				},
				AssignedValue: jsii.String("assignedValue"),
				Description: jsii.String("description"),
				Max: jsii.Number(123),
				Min: jsii.Number(123),
				Unit: jsii.String("unit"),
			},
			Attribute: &AttributeProperty{
				DataType: jsii.String("dataType"),
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				AllowedValues: []*string{
					jsii.String("allowedValues"),
				},
				AssignedValue: jsii.String("assignedValue"),
				DefaultValue: jsii.String("defaultValue"),
				Description: jsii.String("description"),
				Max: jsii.Number(123),
				Min: jsii.Number(123),
				Unit: jsii.String("unit"),
			},
			Branch: &BranchProperty{
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				Description: jsii.String("description"),
			},
			Sensor: &SensorProperty{
				DataType: jsii.String("dataType"),
				FullyQualifiedName: jsii.String("fullyQualifiedName"),

				// the properties below are optional
				AllowedValues: []*string{
					jsii.String("allowedValues"),
				},
				Description: jsii.String("description"),
				Max: jsii.Number(123),
				Min: jsii.Number(123),
				Unit: jsii.String("unit"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnSignalCatalog_ActuatorProperty

type CfnSignalCatalog_ActuatorProperty struct {
	// The specified data type of the actuator.
	DataType *string `field:"required" json:"dataType" yaml:"dataType"`
	// The fully qualified name of the actuator.
	//
	// For example, the fully qualified name of an actuator might be `Vehicle.Front.Left.Door.Lock` .
	FullyQualifiedName *string `field:"required" json:"fullyQualifiedName" yaml:"fullyQualifiedName"`
	// A list of possible values an actuator can take.
	AllowedValues *[]*string `field:"optional" json:"allowedValues" yaml:"allowedValues"`
	// A specified value for the actuator.
	AssignedValue *string `field:"optional" json:"assignedValue" yaml:"assignedValue"`
	// A brief description of the actuator.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The specified possible maximum value of an actuator.
	Max *float64 `field:"optional" json:"max" yaml:"max"`
	// The specified possible minimum value of an actuator.
	Min *float64 `field:"optional" json:"min" yaml:"min"`
	// The scientific unit for the actuator.
	Unit *string `field:"optional" json:"unit" yaml:"unit"`
}

A signal that represents a vehicle device such as the engine, heater, and door locks.

Data from an actuator reports the state of a certain vehicle device.

> Updating actuator data can change the state of a device. For example, you can turn on or off the heater by updating its actuator data.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

actuatorProperty := &ActuatorProperty{
	DataType: jsii.String("dataType"),
	FullyQualifiedName: jsii.String("fullyQualifiedName"),

	// the properties below are optional
	AllowedValues: []*string{
		jsii.String("allowedValues"),
	},
	AssignedValue: jsii.String("assignedValue"),
	Description: jsii.String("description"),
	Max: jsii.Number(123),
	Min: jsii.Number(123),
	Unit: jsii.String("unit"),
}

type CfnSignalCatalog_AttributeProperty

type CfnSignalCatalog_AttributeProperty struct {
	// The specified data type of the attribute.
	DataType *string `field:"required" json:"dataType" yaml:"dataType"`
	// The fully qualified name of the attribute.
	//
	// For example, the fully qualified name of an attribute might be `Vehicle.Body.Engine.Type` .
	FullyQualifiedName *string `field:"required" json:"fullyQualifiedName" yaml:"fullyQualifiedName"`
	// A list of possible values an attribute can be assigned.
	AllowedValues *[]*string `field:"optional" json:"allowedValues" yaml:"allowedValues"`
	// A specified value for the attribute.
	AssignedValue *string `field:"optional" json:"assignedValue" yaml:"assignedValue"`
	// The default value of the attribute.
	DefaultValue *string `field:"optional" json:"defaultValue" yaml:"defaultValue"`
	// A brief description of the attribute.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The specified possible maximum value of the attribute.
	Max *float64 `field:"optional" json:"max" yaml:"max"`
	// The specified possible minimum value of the attribute.
	Min *float64 `field:"optional" json:"min" yaml:"min"`
	// The scientific unit for the attribute.
	Unit *string `field:"optional" json:"unit" yaml:"unit"`
}

A signal that represents static information about the vehicle, such as engine type or manufacturing date.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

attributeProperty := &AttributeProperty{
	DataType: jsii.String("dataType"),
	FullyQualifiedName: jsii.String("fullyQualifiedName"),

	// the properties below are optional
	AllowedValues: []*string{
		jsii.String("allowedValues"),
	},
	AssignedValue: jsii.String("assignedValue"),
	DefaultValue: jsii.String("defaultValue"),
	Description: jsii.String("description"),
	Max: jsii.Number(123),
	Min: jsii.Number(123),
	Unit: jsii.String("unit"),
}

type CfnSignalCatalog_BranchProperty

type CfnSignalCatalog_BranchProperty struct {
	// The fully qualified name of the branch.
	//
	// For example, the fully qualified name of a branch might be `Vehicle.Body.Engine` .
	FullyQualifiedName *string `field:"required" json:"fullyQualifiedName" yaml:"fullyQualifiedName"`
	// A brief description of the branch.
	Description *string `field:"optional" json:"description" yaml:"description"`
}

A group of signals that are defined in a hierarchical structure.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

branchProperty := &BranchProperty{
	FullyQualifiedName: jsii.String("fullyQualifiedName"),

	// the properties below are optional
	Description: jsii.String("description"),
}

type CfnSignalCatalog_NodeCountsProperty

type CfnSignalCatalog_NodeCountsProperty struct {
	// The total number of nodes in a vehicle network that represent actuators.
	TotalActuators *float64 `field:"optional" json:"totalActuators" yaml:"totalActuators"`
	// The total number of nodes in a vehicle network that represent attributes.
	TotalAttributes *float64 `field:"optional" json:"totalAttributes" yaml:"totalAttributes"`
	// The total number of nodes in a vehicle network that represent branches.
	TotalBranches *float64 `field:"optional" json:"totalBranches" yaml:"totalBranches"`
	// The total number of nodes in a vehicle network.
	TotalNodes *float64 `field:"optional" json:"totalNodes" yaml:"totalNodes"`
	// The total number of nodes in a vehicle network that represent sensors.
	TotalSensors *float64 `field:"optional" json:"totalSensors" yaml:"totalSensors"`
}

Information about the number of nodes and node types in a vehicle network.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

nodeCountsProperty := &NodeCountsProperty{
	TotalActuators: jsii.Number(123),
	TotalAttributes: jsii.Number(123),
	TotalBranches: jsii.Number(123),
	TotalNodes: jsii.Number(123),
	TotalSensors: jsii.Number(123),
}

type CfnSignalCatalog_NodeProperty

type CfnSignalCatalog_NodeProperty struct {
	// Information about a node specified as an actuator.
	//
	// > An actuator is a digital representation of a vehicle device.
	Actuator interface{} `field:"optional" json:"actuator" yaml:"actuator"`
	// Information about a node specified as an attribute.
	//
	// > An attribute represents static information about a vehicle.
	Attribute interface{} `field:"optional" json:"attribute" yaml:"attribute"`
	// Information about a node specified as a branch.
	//
	// > A group of signals that are defined in a hierarchical structure.
	Branch interface{} `field:"optional" json:"branch" yaml:"branch"`
	// `CfnSignalCatalog.NodeProperty.Sensor`.
	Sensor interface{} `field:"optional" json:"sensor" yaml:"sensor"`
}

A general abstraction of a signal.

A node can be specified as an actuator, attribute, branch, or sensor.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

nodeProperty := &NodeProperty{
	Actuator: &ActuatorProperty{
		DataType: jsii.String("dataType"),
		FullyQualifiedName: jsii.String("fullyQualifiedName"),

		// the properties below are optional
		AllowedValues: []*string{
			jsii.String("allowedValues"),
		},
		AssignedValue: jsii.String("assignedValue"),
		Description: jsii.String("description"),
		Max: jsii.Number(123),
		Min: jsii.Number(123),
		Unit: jsii.String("unit"),
	},
	Attribute: &AttributeProperty{
		DataType: jsii.String("dataType"),
		FullyQualifiedName: jsii.String("fullyQualifiedName"),

		// the properties below are optional
		AllowedValues: []*string{
			jsii.String("allowedValues"),
		},
		AssignedValue: jsii.String("assignedValue"),
		DefaultValue: jsii.String("defaultValue"),
		Description: jsii.String("description"),
		Max: jsii.Number(123),
		Min: jsii.Number(123),
		Unit: jsii.String("unit"),
	},
	Branch: &BranchProperty{
		FullyQualifiedName: jsii.String("fullyQualifiedName"),

		// the properties below are optional
		Description: jsii.String("description"),
	},
	Sensor: &SensorProperty{
		DataType: jsii.String("dataType"),
		FullyQualifiedName: jsii.String("fullyQualifiedName"),

		// the properties below are optional
		AllowedValues: []*string{
			jsii.String("allowedValues"),
		},
		Description: jsii.String("description"),
		Max: jsii.Number(123),
		Min: jsii.Number(123),
		Unit: jsii.String("unit"),
	},
}

type CfnSignalCatalog_SensorProperty

type CfnSignalCatalog_SensorProperty struct {
	// The specified data type of the sensor.
	DataType *string `field:"required" json:"dataType" yaml:"dataType"`
	// The fully qualified name of the sensor.
	//
	// For example, the fully qualified name of a sensor might be `Vehicle.Body.Engine.Battery` .
	FullyQualifiedName *string `field:"required" json:"fullyQualifiedName" yaml:"fullyQualifiedName"`
	// A list of possible values a sensor can take.
	AllowedValues *[]*string `field:"optional" json:"allowedValues" yaml:"allowedValues"`
	// A brief description of a sensor.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The specified possible maximum value of the sensor.
	Max *float64 `field:"optional" json:"max" yaml:"max"`
	// The specified possible minimum value of the sensor.
	Min *float64 `field:"optional" json:"min" yaml:"min"`
	// The scientific unit of measurement for data collected by the sensor.
	Unit *string `field:"optional" json:"unit" yaml:"unit"`
}

An input component that reports the environmental condition of a vehicle.

> You can collect data about fluid levels, temperatures, vibrations, or battery voltage from sensors.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sensorProperty := &SensorProperty{
	DataType: jsii.String("dataType"),
	FullyQualifiedName: jsii.String("fullyQualifiedName"),

	// the properties below are optional
	AllowedValues: []*string{
		jsii.String("allowedValues"),
	},
	Description: jsii.String("description"),
	Max: jsii.Number(123),
	Min: jsii.Number(123),
	Unit: jsii.String("unit"),
}

type CfnVehicle

type CfnVehicle interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// An option to create a new AWS IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.
	AssociationBehavior() *string
	SetAssociationBehavior(val *string)
	AttrArn() *string
	AttrCreationTime() *string
	// Static information about a vehicle in a key-value pair.
	//
	// For example: `"engine Type"` : `"v6"`.
	Attributes() interface{}
	SetAttributes(val interface{})
	AttrLastModificationTime() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The Amazon Resource Name (ARN) of a decoder manifest associated with the vehicle to create.
	DecoderManifestArn() *string
	SetDecoderManifestArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The ARN of the vehicle model (model manifest) to create the vehicle from.
	ModelManifestArn() *string
	SetModelManifestArn(val *string)
	// `AWS::IoTFleetWise::Vehicle.Name`.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Metadata which can be used to manage the vehicle.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::IoTFleetWise::Vehicle`.

Creates a vehicle, which is an instance of a vehicle model (model manifest). Vehicles created from the same vehicle model consist of the same signals inherited from the vehicle model.

> If you have an existing AWS IoT Thing, you can use AWS IoT FleetWise to create a vehicle and collect data from your thing.

For more information, see [Create a vehicle (CLI)](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicle-cli.html) in the *AWS IoT FleetWise Developer Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnVehicle := awscdk.Aws_iotfleetwise.NewCfnVehicle(this, jsii.String("MyCfnVehicle"), &CfnVehicleProps{
	DecoderManifestArn: jsii.String("decoderManifestArn"),
	ModelManifestArn: jsii.String("modelManifestArn"),
	Name: jsii.String("name"),

	// the properties below are optional
	AssociationBehavior: jsii.String("associationBehavior"),
	Attributes: map[string]*string{
		"attributesKey": jsii.String("attributes"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnVehicle

func NewCfnVehicle(scope constructs.Construct, id *string, props *CfnVehicleProps) CfnVehicle

Create a new `AWS::IoTFleetWise::Vehicle`.

type CfnVehicleProps

type CfnVehicleProps struct {
	// The Amazon Resource Name (ARN) of a decoder manifest associated with the vehicle to create.
	DecoderManifestArn *string `field:"required" json:"decoderManifestArn" yaml:"decoderManifestArn"`
	// The ARN of the vehicle model (model manifest) to create the vehicle from.
	ModelManifestArn *string `field:"required" json:"modelManifestArn" yaml:"modelManifestArn"`
	// `AWS::IoTFleetWise::Vehicle.Name`.
	Name *string `field:"required" json:"name" yaml:"name"`
	// An option to create a new AWS IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.
	AssociationBehavior *string `field:"optional" json:"associationBehavior" yaml:"associationBehavior"`
	// Static information about a vehicle in a key-value pair.
	//
	// For example: `"engine Type"` : `"v6"`.
	Attributes interface{} `field:"optional" json:"attributes" yaml:"attributes"`
	// Metadata which can be used to manage the vehicle.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnVehicle`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnVehicleProps := &CfnVehicleProps{
	DecoderManifestArn: jsii.String("decoderManifestArn"),
	ModelManifestArn: jsii.String("modelManifestArn"),
	Name: jsii.String("name"),

	// the properties below are optional
	AssociationBehavior: jsii.String("associationBehavior"),
	Attributes: map[string]*string{
		"attributesKey": jsii.String("attributes"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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