aws-cdk-lib.aws_pinpoint.CfnCampaignProps

interface CfnCampaignProps

LanguageType name
.NETAmazon.CDK.AWS.Pinpoint.CfnCampaignProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awspinpoint#CfnCampaignProps
Javasoftware.amazon.awscdk.services.pinpoint.CfnCampaignProps
Pythonaws_cdk.aws_pinpoint.CfnCampaignProps
TypeScript aws-cdk-lib » aws_pinpoint » CfnCampaignProps

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 { aws_pinpoint as pinpoint } from 'aws-cdk-lib';

declare const attributes: any;
declare const customConfig: any;
declare const metrics: any;
declare const tags: any;
const cfnCampaignProps: pinpoint.CfnCampaignProps = {
  applicationId: 'applicationId',
  name: 'name',
  schedule: {
    endTime: 'endTime',
    eventFilter: {
      dimensions: {
        attributes: attributes,
        eventType: {
          dimensionType: 'dimensionType',
          values: ['values'],
        },
        metrics: metrics,
      },
      filterType: 'filterType',
    },
    frequency: 'frequency',
    isLocalTime: false,
    quietTime: {
      end: 'end',
      start: 'start',
    },
    startTime: 'startTime',
    timeZone: 'timeZone',
  },
  segmentId: 'segmentId',

  // the properties below are optional
  additionalTreatments: [{
    customDeliveryConfiguration: {
      deliveryUri: 'deliveryUri',
      endpointTypes: ['endpointTypes'],
    },
    messageConfiguration: {
      admMessage: {
        action: 'action',
        body: 'body',
        imageIconUrl: 'imageIconUrl',
        imageSmallIconUrl: 'imageSmallIconUrl',
        imageUrl: 'imageUrl',
        jsonBody: 'jsonBody',
        mediaUrl: 'mediaUrl',
        rawContent: 'rawContent',
        silentPush: false,
        timeToLive: 123,
        title: 'title',
        url: 'url',
      },
      apnsMessage: {
        action: 'action',
        body: 'body',
        imageIconUrl: 'imageIconUrl',
        imageSmallIconUrl: 'imageSmallIconUrl',
        imageUrl: 'imageUrl',
        jsonBody: 'jsonBody',
        mediaUrl: 'mediaUrl',
        rawContent: 'rawContent',
        silentPush: false,
        timeToLive: 123,
        title: 'title',
        url: 'url',
      },
      baiduMessage: {
        action: 'action',
        body: 'body',
        imageIconUrl: 'imageIconUrl',
        imageSmallIconUrl: 'imageSmallIconUrl',
        imageUrl: 'imageUrl',
        jsonBody: 'jsonBody',
        mediaUrl: 'mediaUrl',
        rawContent: 'rawContent',
        silentPush: false,
        timeToLive: 123,
        title: 'title',
        url: 'url',
      },
      customMessage: {
        data: 'data',
      },
      defaultMessage: {
        action: 'action',
        body: 'body',
        imageIconUrl: 'imageIconUrl',
        imageSmallIconUrl: 'imageSmallIconUrl',
        imageUrl: 'imageUrl',
        jsonBody: 'jsonBody',
        mediaUrl: 'mediaUrl',
        rawContent: 'rawContent',
        silentPush: false,
        timeToLive: 123,
        title: 'title',
        url: 'url',
      },
      emailMessage: {
        body: 'body',
        fromAddress: 'fromAddress',
        htmlBody: 'htmlBody',
        title: 'title',
      },
      gcmMessage: {
        action: 'action',
        body: 'body',
        imageIconUrl: 'imageIconUrl',
        imageSmallIconUrl: 'imageSmallIconUrl',
        imageUrl: 'imageUrl',
        jsonBody: 'jsonBody',
        mediaUrl: 'mediaUrl',
        rawContent: 'rawContent',
        silentPush: false,
        timeToLive: 123,
        title: 'title',
        url: 'url',
      },
      inAppMessage: {
        content: [{
          backgroundColor: 'backgroundColor',
          bodyConfig: {
            alignment: 'alignment',
            body: 'body',
            textColor: 'textColor',
          },
          headerConfig: {
            alignment: 'alignment',
            header: 'header',
            textColor: 'textColor',
          },
          imageUrl: 'imageUrl',
          primaryBtn: {
            android: {
              buttonAction: 'buttonAction',
              link: 'link',
            },
            defaultConfig: {
              backgroundColor: 'backgroundColor',
              borderRadius: 123,
              buttonAction: 'buttonAction',
              link: 'link',
              text: 'text',
              textColor: 'textColor',
            },
            ios: {
              buttonAction: 'buttonAction',
              link: 'link',
            },
            web: {
              buttonAction: 'buttonAction',
              link: 'link',
            },
          },
          secondaryBtn: {
            android: {
              buttonAction: 'buttonAction',
              link: 'link',
            },
            defaultConfig: {
              backgroundColor: 'backgroundColor',
              borderRadius: 123,
              buttonAction: 'buttonAction',
              link: 'link',
              text: 'text',
              textColor: 'textColor',
            },
            ios: {
              buttonAction: 'buttonAction',
              link: 'link',
            },
            web: {
              buttonAction: 'buttonAction',
              link: 'link',
            },
          },
        }],
        customConfig: customConfig,
        layout: 'layout',
      },
      smsMessage: {
        body: 'body',
        entityId: 'entityId',
        messageType: 'messageType',
        originationNumber: 'originationNumber',
        senderId: 'senderId',
        templateId: 'templateId',
      },
    },
    schedule: {
      endTime: 'endTime',
      eventFilter: {
        dimensions: {
          attributes: attributes,
          eventType: {
            dimensionType: 'dimensionType',
            values: ['values'],
          },
          metrics: metrics,
        },
        filterType: 'filterType',
      },
      frequency: 'frequency',
      isLocalTime: false,
      quietTime: {
        end: 'end',
        start: 'start',
      },
      startTime: 'startTime',
      timeZone: 'timeZone',
    },
    sizePercent: 123,
    templateConfiguration: {
      emailTemplate: {
        name: 'name',
        version: 'version',
      },
      pushTemplate: {
        name: 'name',
        version: 'version',
      },
      smsTemplate: {
        name: 'name',
        version: 'version',
      },
      voiceTemplate: {
        name: 'name',
        version: 'version',
      },
    },
    treatmentDescription: 'treatmentDescription',
    treatmentName: 'treatmentName',
  }],
  campaignHook: {
    lambdaFunctionName: 'lambdaFunctionName',
    mode: 'mode',
    webUrl: 'webUrl',
  },
  customDeliveryConfiguration: {
    deliveryUri: 'deliveryUri',
    endpointTypes: ['endpointTypes'],
  },
  description: 'description',
  holdoutPercent: 123,
  isPaused: false,
  limits: {
    daily: 123,
    maximumDuration: 123,
    messagesPerSecond: 123,
    session: 123,
    total: 123,
  },
  messageConfiguration: {
    admMessage: {
      action: 'action',
      body: 'body',
      imageIconUrl: 'imageIconUrl',
      imageSmallIconUrl: 'imageSmallIconUrl',
      imageUrl: 'imageUrl',
      jsonBody: 'jsonBody',
      mediaUrl: 'mediaUrl',
      rawContent: 'rawContent',
      silentPush: false,
      timeToLive: 123,
      title: 'title',
      url: 'url',
    },
    apnsMessage: {
      action: 'action',
      body: 'body',
      imageIconUrl: 'imageIconUrl',
      imageSmallIconUrl: 'imageSmallIconUrl',
      imageUrl: 'imageUrl',
      jsonBody: 'jsonBody',
      mediaUrl: 'mediaUrl',
      rawContent: 'rawContent',
      silentPush: false,
      timeToLive: 123,
      title: 'title',
      url: 'url',
    },
    baiduMessage: {
      action: 'action',
      body: 'body',
      imageIconUrl: 'imageIconUrl',
      imageSmallIconUrl: 'imageSmallIconUrl',
      imageUrl: 'imageUrl',
      jsonBody: 'jsonBody',
      mediaUrl: 'mediaUrl',
      rawContent: 'rawContent',
      silentPush: false,
      timeToLive: 123,
      title: 'title',
      url: 'url',
    },
    customMessage: {
      data: 'data',
    },
    defaultMessage: {
      action: 'action',
      body: 'body',
      imageIconUrl: 'imageIconUrl',
      imageSmallIconUrl: 'imageSmallIconUrl',
      imageUrl: 'imageUrl',
      jsonBody: 'jsonBody',
      mediaUrl: 'mediaUrl',
      rawContent: 'rawContent',
      silentPush: false,
      timeToLive: 123,
      title: 'title',
      url: 'url',
    },
    emailMessage: {
      body: 'body',
      fromAddress: 'fromAddress',
      htmlBody: 'htmlBody',
      title: 'title',
    },
    gcmMessage: {
      action: 'action',
      body: 'body',
      imageIconUrl: 'imageIconUrl',
      imageSmallIconUrl: 'imageSmallIconUrl',
      imageUrl: 'imageUrl',
      jsonBody: 'jsonBody',
      mediaUrl: 'mediaUrl',
      rawContent: 'rawContent',
      silentPush: false,
      timeToLive: 123,
      title: 'title',
      url: 'url',
    },
    inAppMessage: {
      content: [{
        backgroundColor: 'backgroundColor',
        bodyConfig: {
          alignment: 'alignment',
          body: 'body',
          textColor: 'textColor',
        },
        headerConfig: {
          alignment: 'alignment',
          header: 'header',
          textColor: 'textColor',
        },
        imageUrl: 'imageUrl',
        primaryBtn: {
          android: {
            buttonAction: 'buttonAction',
            link: 'link',
          },
          defaultConfig: {
            backgroundColor: 'backgroundColor',
            borderRadius: 123,
            buttonAction: 'buttonAction',
            link: 'link',
            text: 'text',
            textColor: 'textColor',
          },
          ios: {
            buttonAction: 'buttonAction',
            link: 'link',
          },
          web: {
            buttonAction: 'buttonAction',
            link: 'link',
          },
        },
        secondaryBtn: {
          android: {
            buttonAction: 'buttonAction',
            link: 'link',
          },
          defaultConfig: {
            backgroundColor: 'backgroundColor',
            borderRadius: 123,
            buttonAction: 'buttonAction',
            link: 'link',
            text: 'text',
            textColor: 'textColor',
          },
          ios: {
            buttonAction: 'buttonAction',
            link: 'link',
          },
          web: {
            buttonAction: 'buttonAction',
            link: 'link',
          },
        },
      }],
      customConfig: customConfig,
      layout: 'layout',
    },
    smsMessage: {
      body: 'body',
      entityId: 'entityId',
      messageType: 'messageType',
      originationNumber: 'originationNumber',
      senderId: 'senderId',
      templateId: 'templateId',
    },
  },
  priority: 123,
  segmentVersion: 123,
  tags: tags,
  templateConfiguration: {
    emailTemplate: {
      name: 'name',
      version: 'version',
    },
    pushTemplate: {
      name: 'name',
      version: 'version',
    },
    smsTemplate: {
      name: 'name',
      version: 'version',
    },
    voiceTemplate: {
      name: 'name',
      version: 'version',
    },
  },
  treatmentDescription: 'treatmentDescription',
  treatmentName: 'treatmentName',
};

Properties

NameTypeDescription
applicationIdstringThe unique identifier for the Amazon Pinpoint application that the campaign is associated with.
namestringThe name of the campaign.
scheduleIResolvable | SchedulePropertyThe schedule settings for the campaign.
segmentIdstringThe unique identifier for the segment to associate with the campaign.
additionalTreatments?IResolvable | IResolvable | WriteTreatmentResourceProperty[]An array of requests that defines additional treatments for the campaign, in addition to the default treatment for the campaign.
campaignHook?IResolvable | CampaignHookPropertySpecifies the Lambda function to use as a code hook for a campaign.
customDeliveryConfiguration?IResolvable | CustomDeliveryConfigurationPropertyThe delivery configuration settings for sending the treatment through a custom channel.
description?stringA custom description of the campaign.
holdoutPercent?numberThe allocated percentage of users (segment members) who shouldn't receive messages from the campaign.
isPaused?boolean | IResolvableSpecifies whether to pause the campaign.
limits?IResolvable | LimitsPropertyThe messaging limits for the campaign.
messageConfiguration?IResolvable | MessageConfigurationPropertyThe message configuration settings for the campaign.
priority?numberAn integer between 1 and 5, inclusive, that represents the priority of the in-app message campaign, where 1 is the highest priority and 5 is the lowest.
segmentVersion?numberThe version of the segment to associate with the campaign.
tags?anyAn array of key-value pairs to apply to this resource.
templateConfiguration?IResolvable | TemplateConfigurationPropertyThe message template to use for the treatment.
treatmentDescription?stringA custom description of the default treatment for the campaign.
treatmentName?stringA custom name of the default treatment for the campaign, if the campaign has multiple treatments.

applicationId

Type: string

The unique identifier for the Amazon Pinpoint application that the campaign is associated with.


name

Type: string

The name of the campaign.


schedule

Type: IResolvable | ScheduleProperty

The schedule settings for the campaign.


segmentId

Type: string

The unique identifier for the segment to associate with the campaign.


additionalTreatments?

Type: IResolvable | IResolvable | WriteTreatmentResourceProperty[] (optional)

An array of requests that defines additional treatments for the campaign, in addition to the default treatment for the campaign.


campaignHook?

Type: IResolvable | CampaignHookProperty (optional)

Specifies the Lambda function to use as a code hook for a campaign.


customDeliveryConfiguration?

Type: IResolvable | CustomDeliveryConfigurationProperty (optional)

The delivery configuration settings for sending the treatment through a custom channel.

This object is required if the MessageConfiguration object for the treatment specifies a CustomMessage object.


description?

Type: string (optional)

A custom description of the campaign.


holdoutPercent?

Type: number (optional)

The allocated percentage of users (segment members) who shouldn't receive messages from the campaign.


isPaused?

Type: boolean | IResolvable (optional)

Specifies whether to pause the campaign.

A paused campaign doesn't run unless you resume it by changing this value to false . If you restart a campaign, the campaign restarts from the beginning and not at the point you paused it. If a campaign is running it will complete and then pause. Pause only pauses or skips the next run for a recurring future scheduled campaign. A campaign scheduled for immediate can't be paused.


limits?

Type: IResolvable | LimitsProperty (optional)

The messaging limits for the campaign.


messageConfiguration?

Type: IResolvable | MessageConfigurationProperty (optional)

The message configuration settings for the campaign.


priority?

Type: number (optional)

An integer between 1 and 5, inclusive, that represents the priority of the in-app message campaign, where 1 is the highest priority and 5 is the lowest.

If there are multiple messages scheduled to be displayed at the same time, the priority determines the order in which those messages are displayed.


segmentVersion?

Type: number (optional)

The version of the segment to associate with the campaign.


tags?

Type: any (optional)

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

For more information, see Tag .


templateConfiguration?

Type: IResolvable | TemplateConfigurationProperty (optional)

The message template to use for the treatment.


treatmentDescription?

Type: string (optional)

A custom description of the default treatment for the campaign.


treatmentName?

Type: string (optional)

A custom name of the default treatment for the campaign, if the campaign has multiple treatments.

A treatment is a variation of a campaign that's used for A/B testing.