java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:57.832Z") @Stability(Stable) public class CfnCampaign extends CfnResource implements IInspectable
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 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 software.amazon.awscdk.services.iotfleetwise.*;
 CfnCampaign cfnCampaign = CfnCampaign.Builder.create(this, "MyCfnCampaign")
         .action("action")
         .collectionScheme(CollectionSchemeProperty.builder()
                 .conditionBasedCollectionScheme(ConditionBasedCollectionSchemeProperty.builder()
                         .expression("expression")
                         // the properties below are optional
                         .conditionLanguageVersion(123)
                         .minimumTriggerIntervalMs(123)
                         .triggerMode("triggerMode")
                         .build())
                 .timeBasedCollectionScheme(TimeBasedCollectionSchemeProperty.builder()
                         .periodMs(123)
                         .build())
                 .build())
         .name("name")
         .signalCatalogArn("signalCatalogArn")
         .targetArn("targetArn")
         // the properties below are optional
         .compression("compression")
         .dataDestinationConfigs(List.of(DataDestinationConfigProperty.builder()
                 .s3Config(S3ConfigProperty.builder()
                         .bucketArn("bucketArn")
                         // the properties below are optional
                         .dataFormat("dataFormat")
                         .prefix("prefix")
                         .storageCompressionFormat("storageCompressionFormat")
                         .build())
                 .timestreamConfig(TimestreamConfigProperty.builder()
                         .executionRoleArn("executionRoleArn")
                         .timestreamTableArn("timestreamTableArn")
                         .build())
                 .build()))
         .dataExtraDimensions(List.of("dataExtraDimensions"))
         .description("description")
         .diagnosticsMode("diagnosticsMode")
         .expiryTime("expiryTime")
         .postTriggerCollectionDuration(123)
         .priority(123)
         .signalsToCollect(List.of(SignalInformationProperty.builder()
                 .name("name")
                 // the properties below are optional
                 .maxSampleCount(123)
                 .minimumSamplingIntervalMs(123)
                 .build()))
         .spoolingMode("spoolingMode")
         .startTime("startTime")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnCampaign

      protected CfnCampaign(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnCampaign

      protected CfnCampaign(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnCampaign

      @Stability(Stable) public CfnCampaign(@NotNull Construct scope, @NotNull String id, @NotNull CfnCampaignProps props)
      Create a new AWS::IoTFleetWise::Campaign.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the campaign.
    • getAttrCreationTime

      @Stability(Stable) @NotNull public String getAttrCreationTime()
      The time the campaign was created in seconds since epoch (January 1, 1970 at midnight UTC time).
    • getAttrLastModificationTime

      @Stability(Stable) @NotNull public String getAttrLastModificationTime()
      The last time the campaign was modified.
    • getAttrStatus

      @Stability(Stable) @NotNull public String getAttrStatus()
      The state of the campaign.

      The status can be one of: CREATING , WAITING_FOR_APPROVAL , RUNNING , and SUSPENDED .

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      (Optional) Metadata that can be used to manage the campaign.
    • getAction

      @Stability(Stable) @NotNull public String getAction()
      Specifies how to update a campaign. The action can be one of the following:.

      • APPROVE - To approve delivering a data collection scheme to vehicles.
      • SUSPEND - To suspend collecting signal data. The campaign is deleted from vehicles and all vehicles in the suspended campaign will stop sending data.
      • RESUME - To reactivate the SUSPEND campaign. The campaign is redeployed to all vehicles and the vehicles will resume sending data.
      • UPDATE - To update a campaign.
    • setAction

      @Stability(Stable) public void setAction(@NotNull String value)
      Specifies how to update a campaign. The action can be one of the following:.

      • APPROVE - To approve delivering a data collection scheme to vehicles.
      • SUSPEND - To suspend collecting signal data. The campaign is deleted from vehicles and all vehicles in the suspended campaign will stop sending data.
      • RESUME - To reactivate the SUSPEND campaign. The campaign is redeployed to all vehicles and the vehicles will resume sending data.
      • UPDATE - To update a campaign.
    • getCollectionScheme

      @Stability(Stable) @NotNull public Object getCollectionScheme()
      The data collection scheme associated with the campaign.

      You can specify a scheme that collects data based on time or an event.

    • setCollectionScheme

      @Stability(Stable) public void setCollectionScheme(@NotNull CfnCampaign.CollectionSchemeProperty value)
      The data collection scheme associated with the campaign.

      You can specify a scheme that collects data based on time or an event.

    • setCollectionScheme

      @Stability(Stable) public void setCollectionScheme(@NotNull IResolvable value)
      The data collection scheme associated with the campaign.

      You can specify a scheme that collects data based on time or an event.

    • getName

      @Stability(Stable) @NotNull public String getName()
      The name of a campaign.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      The name of a campaign.
    • getSignalCatalogArn

      @Stability(Stable) @NotNull public String getSignalCatalogArn()
      The Amazon Resource Name (ARN) of the signal catalog associated with the campaign.
    • setSignalCatalogArn

      @Stability(Stable) public void setSignalCatalogArn(@NotNull String value)
      The Amazon Resource Name (ARN) of the signal catalog associated with the campaign.
    • getTargetArn

      @Stability(Stable) @NotNull public String getTargetArn()
      The Amazon Resource Name (ARN) of a vehicle or fleet to which the campaign is deployed.
    • setTargetArn

      @Stability(Stable) public void setTargetArn(@NotNull String value)
      The Amazon Resource Name (ARN) of a vehicle or fleet to which the campaign is deployed.
    • getCompression

      @Stability(Stable) @Nullable public String getCompression()
      (Optional) Whether to compress signals before transmitting data to AWS IoT FleetWise .

      If you don't want to compress the signals, use OFF . If it's not specified, SNAPPY is used.

      Default: SNAPPY

    • setCompression

      @Stability(Stable) public void setCompression(@Nullable String value)
      (Optional) Whether to compress signals before transmitting data to AWS IoT FleetWise .

      If you don't want to compress the signals, use OFF . If it's not specified, SNAPPY is used.

      Default: SNAPPY

    • getDataDestinationConfigs

      @Stability(Stable) @Nullable public Object getDataDestinationConfigs()
      (Optional) The destination where the campaign sends data.

      You can choose to send data to be stored in Amazon S3 or Amazon Timestream .

      Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. AWS IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple AWS IoT FleetWise servers for redundancy and high availability.

      You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.

    • setDataDestinationConfigs

      @Stability(Stable) public void setDataDestinationConfigs(@Nullable IResolvable value)
      (Optional) The destination where the campaign sends data.

      You can choose to send data to be stored in Amazon S3 or Amazon Timestream .

      Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. AWS IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple AWS IoT FleetWise servers for redundancy and high availability.

      You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.

    • setDataDestinationConfigs

      @Stability(Stable) public void setDataDestinationConfigs(@Nullable List<Object> value)
      (Optional) The destination where the campaign sends data.

      You can choose to send data to be stored in Amazon S3 or Amazon Timestream .

      Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. AWS IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple AWS IoT FleetWise servers for redundancy and high availability.

      You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.

    • getDataExtraDimensions

      @Stability(Stable) @Nullable public List<String> getDataExtraDimensions()
      (Optional) A list of vehicle attributes to associate with a campaign.

      Enrich the data with specified vehicle attributes. For example, add make and model to the campaign, and AWS IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream . You can then query the data against make and model .

      Default: An empty array

    • setDataExtraDimensions

      @Stability(Stable) public void setDataExtraDimensions(@Nullable List<String> value)
      (Optional) A list of vehicle attributes to associate with a campaign.

      Enrich the data with specified vehicle attributes. For example, add make and model to the campaign, and AWS IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream . You can then query the data against make and model .

      Default: An empty array

    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      (Optional) The description of the campaign.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      (Optional) The description of the campaign.
    • getDiagnosticsMode

      @Stability(Stable) @Nullable public String getDiagnosticsMode()
      (Optional) Option for a vehicle to send diagnostic trouble codes to AWS IoT FleetWise .

      If you want to send diagnostic trouble codes, use SEND_ACTIVE_DTCS . If it's not specified, OFF is used.

      Default: OFF

    • setDiagnosticsMode

      @Stability(Stable) public void setDiagnosticsMode(@Nullable String value)
      (Optional) Option for a vehicle to send diagnostic trouble codes to AWS IoT FleetWise .

      If you want to send diagnostic trouble codes, use SEND_ACTIVE_DTCS . If it's not specified, OFF is used.

      Default: OFF

    • getExpiryTime

      @Stability(Stable) @Nullable public String getExpiryTime()
      (Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time).

      Vehicle data isn't collected after the campaign expires.

      Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

    • setExpiryTime

      @Stability(Stable) public void setExpiryTime(@Nullable String value)
      (Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time).

      Vehicle data isn't collected after the campaign expires.

      Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

    • getPostTriggerCollectionDuration

      @Stability(Stable) @Nullable public Number getPostTriggerCollectionDuration()
      (Optional) How long (in milliseconds) to collect raw data after a triggering event initiates the collection.

      If it's not specified, 0 is used.

      Default: 0

    • setPostTriggerCollectionDuration

      @Stability(Stable) public void setPostTriggerCollectionDuration(@Nullable Number value)
      (Optional) How long (in milliseconds) to collect raw data after a triggering event initiates the collection.

      If it's not specified, 0 is used.

      Default: 0

    • getPriority

      @Stability(Stable) @Nullable public Number getPriority()
      (Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet.

      A campaign with the lowest value is deployed to vehicles before any other campaigns. If it's not specified, 0 is used.

      Default: 0

    • setPriority

      @Stability(Stable) public void setPriority(@Nullable Number value)
      (Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet.

      A campaign with the lowest value is deployed to vehicles before any other campaigns. If it's not specified, 0 is used.

      Default: 0

    • getSignalsToCollect

      @Stability(Stable) @Nullable public Object getSignalsToCollect()
      (Optional) A list of information about signals to collect.
    • setSignalsToCollect

      @Stability(Stable) public void setSignalsToCollect(@Nullable IResolvable value)
      (Optional) A list of information about signals to collect.
    • setSignalsToCollect

      @Stability(Stable) public void setSignalsToCollect(@Nullable List<Object> value)
      (Optional) A list of information about signals to collect.
    • getSpoolingMode

      @Stability(Stable) @Nullable public String getSpoolingMode()
      (Optional) Whether to store collected data after a vehicle lost a connection with the cloud.

      After a connection is re-established, the data is automatically forwarded to AWS IoT FleetWise . If you want to store collected data when a vehicle loses connection with the cloud, use TO_DISK . If it's not specified, OFF is used.

      Default: OFF

    • setSpoolingMode

      @Stability(Stable) public void setSpoolingMode(@Nullable String value)
      (Optional) Whether to store collected data after a vehicle lost a connection with the cloud.

      After a connection is re-established, the data is automatically forwarded to AWS IoT FleetWise . If you want to store collected data when a vehicle loses connection with the cloud, use TO_DISK . If it's not specified, OFF is used.

      Default: OFF

    • getStartTime

      @Stability(Stable) @Nullable public String getStartTime()
      (Optional) The time, in milliseconds, to deliver a campaign after it was approved.

      If it's not specified, 0 is used.

      Default: 0

    • setStartTime

      @Stability(Stable) public void setStartTime(@Nullable String value)
      (Optional) The time, in milliseconds, to deliver a campaign after it was approved.

      If it's not specified, 0 is used.

      Default: 0