---
title: Getting Started with Datadog
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Infrastructure > Datadog Resource Catalog
---

# aws_pinpoint_campaign{% #aws_pinpoint_campaign %}

## `account_id`{% #account_id %}

**Type**: `STRING`

## `additional_treatments`{% #additional_treatments %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `AdditionalTreatments`**Description**: An array of responses, one for each treatment that you defined for the campaign, in addition to the default treatment.

- `custom_delivery_configuration`**Type**: `STRUCT`**Provider name**: `CustomDeliveryConfiguration`**Description**: 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.
  - `delivery_uri`**Type**: `STRING`**Provider name**: `DeliveryUri`**Description**: The destination to send the campaign or treatment to. This value can be one of the following:
    - The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the campaign or treatment.
    - The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.
  - `endpoint_types`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `EndpointTypes`**Description**: The types of endpoints to send the campaign or treatment to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.
- `id`**Type**: `STRING`**Provider name**: `Id`**Description**: The unique identifier for the treatment.
- `message_configuration`**Type**: `STRUCT`**Provider name**: `MessageConfiguration`**Description**: The message configuration settings for the treatment.
  - `adm_message`**Type**: `STRUCT`**Provider name**: `ADMMessage`**Description**: The message that the campaign sends through the ADM (Amazon Device Messaging) channel. If specified, this message overrides the default message.
    - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
      - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
      - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
      - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
    - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
    - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
    - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
    - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
    - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
    - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
    - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
    - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
    - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
    - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
  - `apns_message`**Type**: `STRUCT`**Provider name**: `APNSMessage`**Description**: The message that the campaign sends through the APNs (Apple Push Notification service) channel. If specified, this message overrides the default message.
    - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
      - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
      - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
      - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
    - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
    - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
    - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
    - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
    - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
    - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
    - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
    - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
    - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
    - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
  - `baidu_message`**Type**: `STRUCT`**Provider name**: `BaiduMessage`**Description**: The message that the campaign sends through the Baidu (Baidu Cloud Push) channel. If specified, this message overrides the default message.
    - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
      - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
      - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
      - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
    - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
    - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
    - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
    - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
    - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
    - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
    - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
    - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
    - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
    - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
  - `custom_message`**Type**: `STRUCT`**Provider name**: `CustomMessage`**Description**: The message that the campaign sends through a custom channel, as specified by the delivery configuration (CustomDeliveryConfiguration) settings for the campaign. If specified, this message overrides the default message.
    - `data`**Type**: `STRING`**Provider name**: `Data`**Description**: The raw, JSON-formatted string to use as the payload for the message. The maximum size is 5 KB.
  - `default_message`**Type**: `STRUCT`**Provider name**: `DefaultMessage`**Description**: The default message that the campaign sends through all the channels that are configured for the campaign.
    - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
      - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
      - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
      - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
    - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
    - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
    - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
    - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
    - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
    - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
    - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
    - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
    - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
    - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
  - `email_message`**Type**: `STRUCT`**Provider name**: `EmailMessage`**Description**: The message that the campaign sends through the email channel. If specified, this message overrides the default message.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the email for recipients whose email clients don't render HTML content.
    - `from_address`**Type**: `STRING`**Provider name**: `FromAddress`**Description**: The verified email address to send the email from. The default address is the FromAddress specified for the email channel for the application.
    - `headers`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `Headers`**Description**: The list of [MessageHeaders](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-campaigns-campaign-id.html#apps-application-id-campaigns-campaign-id-model-messageheader) for the email. You can have up to 15 MessageHeaders for each email.
      - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message header. The header name can contain up to 126 characters.
      - `value`**Type**: `STRING`**Provider name**: `Value`**Description**: The value of the message header. The header value can contain up to 870 characters, including the length of any rendered attributes. For example if you add the {CreationDate} attribute, it renders as YYYY-MM-DDTHH:MM:SS.SSSZ and is 24 characters in length.
    - `html_body`**Type**: `STRING`**Provider name**: `HtmlBody`**Description**: The body of the email, in HTML format, for recipients whose email clients render HTML content.
    - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The subject line, or title, of the email.
  - `gcm_message`**Type**: `STRUCT`**Provider name**: `GCMMessage`**Description**: The message that the campaign sends through the GCM channel, which enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this message overrides the default message.
    - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
      - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
      - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
      - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
    - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
    - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
    - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
    - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
    - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
    - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
    - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
    - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
    - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
    - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
  - `in_app_message`**Type**: `STRUCT`**Provider name**: `InAppMessage`**Description**: The in-app message configuration.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The message body of the notification, the email body or the text message.
    - `content`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `Content`**Description**: In-app message content.
      - `background_color`**Type**: `STRING`**Provider name**: `BackgroundColor`**Description**: The background color for the message.
      - `body_config`**Type**: `STRUCT`**Provider name**: `BodyConfig`**Description**: The configuration for the message body.
        - `alignment`**Type**: `STRING`**Provider name**: `Alignment`**Description**: The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
        - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: Message Body.
        - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color.
      - `header_config`**Type**: `STRUCT`**Provider name**: `HeaderConfig`**Description**: The configuration for the message header.
        - `alignment`**Type**: `STRING`**Provider name**: `Alignment`**Description**: The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
        - `header`**Type**: `STRING`**Provider name**: `Header`**Description**: Message Header.
        - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color.
      - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The image url for the background of message.
      - `primary_btn`**Type**: `STRUCT`**Provider name**: `PrimaryBtn`**Description**: The first button inside the message.
        - `android`**Type**: `STRUCT`**Provider name**: `Android`**Description**: Default button content.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
        - `default_config`**Type**: `STRUCT`**Provider name**: `DefaultConfig`**Description**: Default button content.
          - `background_color`**Type**: `STRING`**Provider name**: `BackgroundColor`**Description**: The background color of the button.
          - `border_radius`**Type**: `INT32`**Provider name**: `BorderRadius`**Description**: The border radius of the button.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
          - `text`**Type**: `STRING`**Provider name**: `Text`**Description**: Button text.
          - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color of the button.
        - `ios`**Type**: `STRUCT`**Provider name**: `IOS`**Description**: Default button content.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
        - `web`**Type**: `STRUCT`**Provider name**: `Web`**Description**: Default button content.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
      - `secondary_btn`**Type**: `STRUCT`**Provider name**: `SecondaryBtn`**Description**: The second button inside message.
        - `android`**Type**: `STRUCT`**Provider name**: `Android`**Description**: Default button content.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
        - `default_config`**Type**: `STRUCT`**Provider name**: `DefaultConfig`**Description**: Default button content.
          - `background_color`**Type**: `STRING`**Provider name**: `BackgroundColor`**Description**: The background color of the button.
          - `border_radius`**Type**: `INT32`**Provider name**: `BorderRadius`**Description**: The border radius of the button.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
          - `text`**Type**: `STRING`**Provider name**: `Text`**Description**: Button text.
          - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color of the button.
        - `ios`**Type**: `STRUCT`**Provider name**: `IOS`**Description**: Default button content.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
        - `web`**Type**: `STRUCT`**Provider name**: `Web`**Description**: Default button content.
          - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
          - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
    - `custom_config`**Type**: `MAP_STRING_STRING`**Provider name**: `CustomConfig`**Description**: Custom config to be sent to client.
    - `layout`**Type**: `STRING`**Provider name**: `Layout`**Description**: In-app message layout.
  - `sms_message`**Type**: `STRUCT`**Provider name**: `SMSMessage`**Description**: The message that the campaign sends through the SMS channel. If specified, this message overrides the default message.
    - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the SMS message.
    - `entity_id`**Type**: `STRING`**Provider name**: `EntityId`**Description**: The entity ID or Principal Entity (PE) id received from the regulatory body for sending SMS in your country.
    - `message_type`**Type**: `STRING`**Provider name**: `MessageType`**Description**: The SMS message type. Valid values are TRANSACTIONAL (for messages that are critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for messsages that aren't critical or time-sensitive, such as marketing messages).
    - `origination_number`**Type**: `STRING`**Provider name**: `OriginationNumber`**Description**: The long code to send the SMS message from. This value should be one of the dedicated long codes that's assigned to your AWS account. Although it isn't required, we recommend that you specify the long code using an E.164 format to ensure prompt and accurate delivery of the message. For example, +12065550100.
    - `sender_id`**Type**: `STRING`**Provider name**: `SenderId`**Description**: The sender ID to display on recipients' devices when they receive the SMS message.
    - `template_id`**Type**: `STRING`**Provider name**: `TemplateId`**Description**: The template ID received from the regulatory body for sending SMS in your country.
- `schedule`**Type**: `STRUCT`**Provider name**: `Schedule`**Description**: The schedule settings for the treatment.
  - `end_time`**Type**: `STRING`**Provider name**: `EndTime`**Description**: The scheduled time, in ISO 8601 format, when the campaign ended or will end.
  - `event_filter`**Type**: `STRUCT`**Provider name**: `EventFilter`**Description**: The type of event that causes the campaign to be sent, if the value of the Frequency property is EVENT.
    - `dimensions`**Type**: `STRUCT`**Provider name**: `Dimensions`**Description**: The dimension settings of the event filter for the campaign.
      - `attributes`**Type**: `STRING`**Provider name**: `Attributes`**Description**: One or more custom attributes that your application reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create an event filter.
      - `event_type`**Type**: `STRUCT`**Provider name**: `EventType`**Description**: The name of the event that causes the campaign to be sent or the journey activity to be performed. This can be a standard event that Amazon Pinpoint generates, such as _email.delivered. For campaigns, this can also be a custom event that's specific to your application. For information about standard events, see [Streaming Amazon Pinpoint Events](https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams.html) in the Amazon Pinpoint Developer Guide.
        - `dimension_type`**Type**: `STRING`**Provider name**: `DimensionType`**Description**: The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints that match the criteria are included in the segment; and, EXCLUSIVE, endpoints that match the criteria are excluded from the segment.
        - `values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `Values`**Description**: The criteria values to use for the segment dimension. Depending on the value of the DimensionType property, endpoints are included or excluded from the segment if their values match the criteria values.
      - `metrics`**Type**: `STRING`**Provider name**: `Metrics`**Description**: One or more custom metrics that your application reports to Amazon Pinpoint. You can use these metrics as selection criteria when you create an event filter.
    - `filter_type`**Type**: `STRING`**Provider name**: `FilterType`**Description**: The type of event that causes the campaign to be sent. Valid values are: SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends the campaign when an endpoint event (Events resource) occurs.
  - `frequency`**Type**: `STRING`**Provider name**: `Frequency`**Description**: Specifies how often the campaign is sent or whether the campaign is sent in response to a specific event.
  - `is_local_time`**Type**: `BOOLEAN`**Provider name**: `IsLocalTime`**Description**: Specifies whether the start and end times for the campaign schedule use each recipient's local time. To base the schedule on each recipient's local time, set this value to true.
  - `quiet_time`**Type**: `STRUCT`**Provider name**: `QuietTime`**Description**: The default quiet time for the campaign. Quiet time is a specific time range when a campaign doesn't send messages to endpoints, if all the following conditions are met:
    - The EndpointDemographic.Timezone property of the endpoint is set to a valid value.
    - The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the campaign.
    - The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the campaign.
If any of the preceding conditions isn't met, the endpoint will receive messages from the campaign, even if quiet time is enabled.
    - `end`**Type**: `STRING`**Provider name**: `End`**Description**: The specific time when quiet time ends. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.
    - `start`**Type**: `STRING`**Provider name**: `Start`**Description**: The specific time when quiet time begins. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.
  - `start_time`**Type**: `STRING`**Provider name**: `StartTime`**Description**: The scheduled time when the campaign began or will begin. Valid values are: IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 format.
  - `timezone`**Type**: `STRING`**Provider name**: `Timezone`**Description**: The starting UTC offset for the campaign schedule, if the value of the IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
- `size_percent`**Type**: `INT32`**Provider name**: `SizePercent`**Description**: The allocated percentage of users (segment members) that the treatment is sent to.
- `state`**Type**: `STRUCT`**Provider name**: `State`**Description**: The current status of the treatment.
  - `campaign_status`**Type**: `STRING`**Provider name**: `CampaignStatus`**Description**: The current status of the campaign, or the current status of a treatment that belongs to an A/B test campaign. If a campaign uses A/B testing, the campaign has a status of COMPLETED only if all campaign treatments have a status of COMPLETED. If you delete the segment that's associated with a campaign, the campaign fails and has a status of DELETED.
- `template_configuration`**Type**: `STRUCT`**Provider name**: `TemplateConfiguration`**Description**: The message template to use for the treatment.
  - `email_template`**Type**: `STRUCT`**Provider name**: `EmailTemplate`**Description**: The email template to use for the message.
    - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
    - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
  - `in_app_template`**Type**: `STRUCT`**Provider name**: `InAppTemplate`**Description**: The InApp template to use for the message. The InApp template object is not supported for SendMessages.
    - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
    - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
  - `push_template`**Type**: `STRUCT`**Provider name**: `PushTemplate`**Description**: The push notification template to use for the message.
    - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
    - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
  - `sms_template`**Type**: `STRUCT`**Provider name**: `SMSTemplate`**Description**: The SMS template to use for the message.
    - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
    - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
  - `voice_template`**Type**: `STRUCT`**Provider name**: `VoiceTemplate`**Description**: The voice template to use for the message. This object isn't supported for campaigns.
    - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
    - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
- `treatment_description`**Type**: `STRING`**Provider name**: `TreatmentDescription`**Description**: The custom description of the treatment.
- `treatment_name`**Type**: `STRING`**Provider name**: `TreatmentName`**Description**: The custom name of the treatment.

## `application_id`{% #application_id %}

**Type**: `STRING`**Provider name**: `ApplicationId`**Description**: The unique identifier for the application that the campaign applies to.

## `arn`{% #arn %}

**Type**: `STRING`**Provider name**: `Arn`**Description**: The Amazon Resource Name (ARN) of the campaign.

## `creation_date`{% #creation_date %}

**Type**: `STRING`**Provider name**: `CreationDate`**Description**: The date, in ISO 8601 format, when the campaign was created.

## `custom_delivery_configuration`{% #custom_delivery_configuration %}

**Type**: `STRUCT`**Provider name**: `CustomDeliveryConfiguration`**Description**: The delivery configuration settings for sending the campaign through a custom channel.

- `delivery_uri`**Type**: `STRING`**Provider name**: `DeliveryUri`**Description**: The destination to send the campaign or treatment to. This value can be one of the following:
  - The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the campaign or treatment.
  - The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.
- `endpoint_types`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `EndpointTypes`**Description**: The types of endpoints to send the campaign or treatment to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.

## `default_state`{% #default_state %}

**Type**: `STRUCT`**Provider name**: `DefaultState`**Description**: The current status of the campaign's default treatment. This value exists only for campaigns that have more than one treatment.

- `campaign_status`**Type**: `STRING`**Provider name**: `CampaignStatus`**Description**: The current status of the campaign, or the current status of a treatment that belongs to an A/B test campaign. If a campaign uses A/B testing, the campaign has a status of COMPLETED only if all campaign treatments have a status of COMPLETED. If you delete the segment that's associated with a campaign, the campaign fails and has a status of DELETED.

## `description`{% #description %}

**Type**: `STRING`**Provider name**: `Description`**Description**: The custom description of the campaign.

## `holdout_percent`{% #holdout_percent %}

**Type**: `INT32`**Provider name**: `HoldoutPercent`**Description**: The allocated percentage of users (segment members) who shouldn't receive messages from the campaign.

## `hook`{% #hook %}

**Type**: `STRUCT`**Provider name**: `Hook`**Description**: The settings for the AWS Lambda function to use as a code hook for the campaign. You can use this hook to customize the segment that's used by the campaign.

- `lambda_function_name`**Type**: `STRING`**Provider name**: `LambdaFunctionName`**Description**: The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Pinpoint invokes to customize a segment for a campaign.
- `mode`**Type**: `STRING`**Provider name**: `Mode`**Description**: The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible values are:
  - FILTER - Invoke the function to customize the segment that's used by a campaign.
  - DELIVERY - (Deprecated) Previously, invoked the function to send a campaign through a custom channel. This functionality is not supported anymore. To send a campaign through a custom channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects of the campaign.
- `web_url`**Type**: `STRING`**Provider name**: `WebUrl`**Description**: The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over HTTPS.

## `id`{% #id %}

**Type**: `STRING`**Provider name**: `Id`**Description**: The unique identifier for the campaign.

## `is_paused`{% #is_paused %}

**Type**: `BOOLEAN`**Provider name**: `IsPaused`**Description**: Specifies whether the campaign is paused. A paused campaign doesn't run unless you resume it by changing this value to false.

## `last_modified_date`{% #last_modified_date %}

**Type**: `STRING`**Provider name**: `LastModifiedDate`**Description**: The date, in ISO 8601 format, when the campaign was last modified.

## `limits`{% #limits %}

**Type**: `STRUCT`**Provider name**: `Limits`**Description**: The messaging limits for the campaign.

- `daily`**Type**: `INT32`**Provider name**: `Daily`**Description**: The maximum number of messages that a campaign can send to a single endpoint during a 24-hour period. For an application, this value specifies the default limit for the number of messages that campaigns and journeys can send to a single endpoint during a 24-hour period. The maximum value is 100.
- `maximum_duration`**Type**: `INT32`**Provider name**: `MaximumDuration`**Description**: The maximum amount of time, in seconds, that a campaign can attempt to deliver a message after the scheduled start time for the campaign. The minimum value is 60 seconds.
- `messages_per_second`**Type**: `INT32`**Provider name**: `MessagesPerSecond`**Description**: The maximum number of messages that a campaign can send each second. For an application, this value specifies the default limit for the number of messages that campaigns can send each second. The minimum value is 1. The maximum value is 20,000.
- `session`**Type**: `INT32`**Provider name**: `Session`**Description**: The maximum total number of messages that the campaign can send per user session.
- `total`**Type**: `INT32`**Provider name**: `Total`**Description**: The maximum number of messages that a campaign can send to a single endpoint during the course of the campaign. If a campaign recurs, this setting applies to all runs of the campaign. The maximum value is 100.

## `message_configuration`{% #message_configuration %}

**Type**: `STRUCT`**Provider name**: `MessageConfiguration`**Description**: The message configuration settings for the campaign.

- `adm_message`**Type**: `STRUCT`**Provider name**: `ADMMessage`**Description**: The message that the campaign sends through the ADM (Amazon Device Messaging) channel. If specified, this message overrides the default message.
  - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
    - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
    - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
    - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
  - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
  - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
  - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
  - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
  - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
  - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
  - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
  - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
  - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
  - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
- `apns_message`**Type**: `STRUCT`**Provider name**: `APNSMessage`**Description**: The message that the campaign sends through the APNs (Apple Push Notification service) channel. If specified, this message overrides the default message.
  - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
    - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
    - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
    - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
  - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
  - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
  - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
  - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
  - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
  - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
  - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
  - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
  - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
  - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
- `baidu_message`**Type**: `STRUCT`**Provider name**: `BaiduMessage`**Description**: The message that the campaign sends through the Baidu (Baidu Cloud Push) channel. If specified, this message overrides the default message.
  - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
    - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
    - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
    - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
  - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
  - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
  - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
  - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
  - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
  - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
  - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
  - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
  - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
  - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
- `custom_message`**Type**: `STRUCT`**Provider name**: `CustomMessage`**Description**: The message that the campaign sends through a custom channel, as specified by the delivery configuration (CustomDeliveryConfiguration) settings for the campaign. If specified, this message overrides the default message.
  - `data`**Type**: `STRING`**Provider name**: `Data`**Description**: The raw, JSON-formatted string to use as the payload for the message. The maximum size is 5 KB.
- `default_message`**Type**: `STRUCT`**Provider name**: `DefaultMessage`**Description**: The default message that the campaign sends through all the channels that are configured for the campaign.
  - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
    - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
    - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
    - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
  - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
  - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
  - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
  - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
  - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
  - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
  - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
  - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
  - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
  - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
- `email_message`**Type**: `STRUCT`**Provider name**: `EmailMessage`**Description**: The message that the campaign sends through the email channel. If specified, this message overrides the default message.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the email for recipients whose email clients don't render HTML content.
  - `from_address`**Type**: `STRING`**Provider name**: `FromAddress`**Description**: The verified email address to send the email from. The default address is the FromAddress specified for the email channel for the application.
  - `headers`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `Headers`**Description**: The list of [MessageHeaders](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-campaigns-campaign-id.html#apps-application-id-campaigns-campaign-id-model-messageheader) for the email. You can have up to 15 MessageHeaders for each email.
    - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message header. The header name can contain up to 126 characters.
    - `value`**Type**: `STRING`**Provider name**: `Value`**Description**: The value of the message header. The header value can contain up to 870 characters, including the length of any rendered attributes. For example if you add the {CreationDate} attribute, it renders as YYYY-MM-DDTHH:MM:SS.SSSZ and is 24 characters in length.
  - `html_body`**Type**: `STRING`**Provider name**: `HtmlBody`**Description**: The body of the email, in HTML format, for recipients whose email clients render HTML content.
  - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The subject line, or title, of the email.
- `gcm_message`**Type**: `STRUCT`**Provider name**: `GCMMessage`**Description**: The message that the campaign sends through the GCM channel, which enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this message overrides the default message.
  - `action`**Type**: `STRING`**Provider name**: `Action`**Description**: The action to occur if a recipient taps the push notification. Valid values are:
    - OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
    - DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.
    - URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the notification message. The maximum number of characters is 200.
  - `image_icon_url`**Type**: `STRING`**Provider name**: `ImageIconUrl`**Description**: The URL of the image to display as the push-notification icon, such as the icon for the app.
  - `image_small_icon_url`**Type**: `STRING`**Provider name**: `ImageSmallIconUrl`**Description**: The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
  - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The URL of an image to display in the push notification.
  - `json_body`**Type**: `STRING`**Provider name**: `JsonBody`**Description**: The JSON payload to use for a silent push notification.
  - `media_url`**Type**: `STRING`**Provider name**: `MediaUrl`**Description**: The URL of the image or video to display in the push notification.
  - `raw_content`**Type**: `STRING`**Provider name**: `RawContent`**Description**: The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.
  - `silent_push`**Type**: `BOOLEAN`**Provider name**: `SilentPush`**Description**: Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.
  - `time_to_live`**Type**: `INT32`**Provider name**: `TimeToLive`**Description**: The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again. This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.
  - `title`**Type**: `STRING`**Provider name**: `Title`**Description**: The title to display above the notification message on a recipient's device.
  - `url`**Type**: `STRING`**Provider name**: `Url`**Description**: The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
- `in_app_message`**Type**: `STRUCT`**Provider name**: `InAppMessage`**Description**: The in-app message configuration.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The message body of the notification, the email body or the text message.
  - `content`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `Content`**Description**: In-app message content.
    - `background_color`**Type**: `STRING`**Provider name**: `BackgroundColor`**Description**: The background color for the message.
    - `body_config`**Type**: `STRUCT`**Provider name**: `BodyConfig`**Description**: The configuration for the message body.
      - `alignment`**Type**: `STRING`**Provider name**: `Alignment`**Description**: The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
      - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: Message Body.
      - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color.
    - `header_config`**Type**: `STRUCT`**Provider name**: `HeaderConfig`**Description**: The configuration for the message header.
      - `alignment`**Type**: `STRING`**Provider name**: `Alignment`**Description**: The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
      - `header`**Type**: `STRING`**Provider name**: `Header`**Description**: Message Header.
      - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color.
    - `image_url`**Type**: `STRING`**Provider name**: `ImageUrl`**Description**: The image url for the background of message.
    - `primary_btn`**Type**: `STRUCT`**Provider name**: `PrimaryBtn`**Description**: The first button inside the message.
      - `android`**Type**: `STRUCT`**Provider name**: `Android`**Description**: Default button content.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
      - `default_config`**Type**: `STRUCT`**Provider name**: `DefaultConfig`**Description**: Default button content.
        - `background_color`**Type**: `STRING`**Provider name**: `BackgroundColor`**Description**: The background color of the button.
        - `border_radius`**Type**: `INT32`**Provider name**: `BorderRadius`**Description**: The border radius of the button.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
        - `text`**Type**: `STRING`**Provider name**: `Text`**Description**: Button text.
        - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color of the button.
      - `ios`**Type**: `STRUCT`**Provider name**: `IOS`**Description**: Default button content.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
      - `web`**Type**: `STRUCT`**Provider name**: `Web`**Description**: Default button content.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
    - `secondary_btn`**Type**: `STRUCT`**Provider name**: `SecondaryBtn`**Description**: The second button inside message.
      - `android`**Type**: `STRUCT`**Provider name**: `Android`**Description**: Default button content.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
      - `default_config`**Type**: `STRUCT`**Provider name**: `DefaultConfig`**Description**: Default button content.
        - `background_color`**Type**: `STRING`**Provider name**: `BackgroundColor`**Description**: The background color of the button.
        - `border_radius`**Type**: `INT32`**Provider name**: `BorderRadius`**Description**: The border radius of the button.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
        - `text`**Type**: `STRING`**Provider name**: `Text`**Description**: Button text.
        - `text_color`**Type**: `STRING`**Provider name**: `TextColor`**Description**: The text color of the button.
      - `ios`**Type**: `STRUCT`**Provider name**: `IOS`**Description**: Default button content.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
      - `web`**Type**: `STRUCT`**Provider name**: `Web`**Description**: Default button content.
        - `button_action`**Type**: `STRING`**Provider name**: `ButtonAction`**Description**: Action triggered by the button.
        - `link`**Type**: `STRING`**Provider name**: `Link`**Description**: Button destination.
  - `custom_config`**Type**: `MAP_STRING_STRING`**Provider name**: `CustomConfig`**Description**: Custom config to be sent to client.
  - `layout`**Type**: `STRING`**Provider name**: `Layout`**Description**: In-app message layout.
- `sms_message`**Type**: `STRUCT`**Provider name**: `SMSMessage`**Description**: The message that the campaign sends through the SMS channel. If specified, this message overrides the default message.
  - `body`**Type**: `STRING`**Provider name**: `Body`**Description**: The body of the SMS message.
  - `entity_id`**Type**: `STRING`**Provider name**: `EntityId`**Description**: The entity ID or Principal Entity (PE) id received from the regulatory body for sending SMS in your country.
  - `message_type`**Type**: `STRING`**Provider name**: `MessageType`**Description**: The SMS message type. Valid values are TRANSACTIONAL (for messages that are critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for messsages that aren't critical or time-sensitive, such as marketing messages).
  - `origination_number`**Type**: `STRING`**Provider name**: `OriginationNumber`**Description**: The long code to send the SMS message from. This value should be one of the dedicated long codes that's assigned to your AWS account. Although it isn't required, we recommend that you specify the long code using an E.164 format to ensure prompt and accurate delivery of the message. For example, +12065550100.
  - `sender_id`**Type**: `STRING`**Provider name**: `SenderId`**Description**: The sender ID to display on recipients' devices when they receive the SMS message.
  - `template_id`**Type**: `STRING`**Provider name**: `TemplateId`**Description**: The template ID received from the regulatory body for sending SMS in your country.

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the campaign.

## `priority`{% #priority %}

**Type**: `INT32`**Provider name**: `Priority`**Description**: Defines the priority of the campaign, used to decide the order of messages displayed to user if there are multiple messages scheduled to be displayed at the same moment.

## `schedule`{% #schedule %}

**Type**: `STRUCT`**Provider name**: `Schedule`**Description**: The schedule settings for the campaign.

- `end_time`**Type**: `STRING`**Provider name**: `EndTime`**Description**: The scheduled time, in ISO 8601 format, when the campaign ended or will end.
- `event_filter`**Type**: `STRUCT`**Provider name**: `EventFilter`**Description**: The type of event that causes the campaign to be sent, if the value of the Frequency property is EVENT.
  - `dimensions`**Type**: `STRUCT`**Provider name**: `Dimensions`**Description**: The dimension settings of the event filter for the campaign.
    - `attributes`**Type**: `STRING`**Provider name**: `Attributes`**Description**: One or more custom attributes that your application reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create an event filter.
    - `event_type`**Type**: `STRUCT`**Provider name**: `EventType`**Description**: The name of the event that causes the campaign to be sent or the journey activity to be performed. This can be a standard event that Amazon Pinpoint generates, such as _email.delivered. For campaigns, this can also be a custom event that's specific to your application. For information about standard events, see [Streaming Amazon Pinpoint Events](https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams.html) in the Amazon Pinpoint Developer Guide.
      - `dimension_type`**Type**: `STRING`**Provider name**: `DimensionType`**Description**: The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints that match the criteria are included in the segment; and, EXCLUSIVE, endpoints that match the criteria are excluded from the segment.
      - `values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `Values`**Description**: The criteria values to use for the segment dimension. Depending on the value of the DimensionType property, endpoints are included or excluded from the segment if their values match the criteria values.
    - `metrics`**Type**: `STRING`**Provider name**: `Metrics`**Description**: One or more custom metrics that your application reports to Amazon Pinpoint. You can use these metrics as selection criteria when you create an event filter.
  - `filter_type`**Type**: `STRING`**Provider name**: `FilterType`**Description**: The type of event that causes the campaign to be sent. Valid values are: SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends the campaign when an endpoint event (Events resource) occurs.
- `frequency`**Type**: `STRING`**Provider name**: `Frequency`**Description**: Specifies how often the campaign is sent or whether the campaign is sent in response to a specific event.
- `is_local_time`**Type**: `BOOLEAN`**Provider name**: `IsLocalTime`**Description**: Specifies whether the start and end times for the campaign schedule use each recipient's local time. To base the schedule on each recipient's local time, set this value to true.
- `quiet_time`**Type**: `STRUCT`**Provider name**: `QuietTime`**Description**: The default quiet time for the campaign. Quiet time is a specific time range when a campaign doesn't send messages to endpoints, if all the following conditions are met:
  - The EndpointDemographic.Timezone property of the endpoint is set to a valid value.
  - The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the campaign.
  - The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the campaign.
If any of the preceding conditions isn't met, the endpoint will receive messages from the campaign, even if quiet time is enabled.
  - `end`**Type**: `STRING`**Provider name**: `End`**Description**: The specific time when quiet time ends. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.
  - `start`**Type**: `STRING`**Provider name**: `Start`**Description**: The specific time when quiet time begins. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.
- `start_time`**Type**: `STRING`**Provider name**: `StartTime`**Description**: The scheduled time when the campaign began or will begin. Valid values are: IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 format.
- `timezone`**Type**: `STRING`**Provider name**: `Timezone`**Description**: The starting UTC offset for the campaign schedule, if the value of the IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

## `segment_id`{% #segment_id %}

**Type**: `STRING`**Provider name**: `SegmentId`**Description**: The unique identifier for the segment that's associated with the campaign.

## `segment_version`{% #segment_version %}

**Type**: `INT32`**Provider name**: `SegmentVersion`**Description**: The version number of the segment that's associated with the campaign.

## `state`{% #state %}

**Type**: `STRUCT`**Provider name**: `State`**Description**: The current status of the campaign.

- `campaign_status`**Type**: `STRING`**Provider name**: `CampaignStatus`**Description**: The current status of the campaign, or the current status of a treatment that belongs to an A/B test campaign. If a campaign uses A/B testing, the campaign has a status of COMPLETED only if all campaign treatments have a status of COMPLETED. If you delete the segment that's associated with a campaign, the campaign fails and has a status of DELETED.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `template_configuration`{% #template_configuration %}

**Type**: `STRUCT`**Provider name**: `TemplateConfiguration`**Description**: The message template that's used for the campaign.

- `email_template`**Type**: `STRUCT`**Provider name**: `EmailTemplate`**Description**: The email template to use for the message.
  - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
  - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
- `in_app_template`**Type**: `STRUCT`**Provider name**: `InAppTemplate`**Description**: The InApp template to use for the message. The InApp template object is not supported for SendMessages.
  - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
  - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
- `push_template`**Type**: `STRUCT`**Provider name**: `PushTemplate`**Description**: The push notification template to use for the message.
  - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
  - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
- `sms_template`**Type**: `STRUCT`**Provider name**: `SMSTemplate`**Description**: The SMS template to use for the message.
  - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
  - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.
- `voice_template`**Type**: `STRUCT`**Provider name**: `VoiceTemplate`**Description**: The voice template to use for the message. This object isn't supported for campaigns.
  - `name`**Type**: `STRING`**Provider name**: `Name`**Description**: The name of the message template to use for the message. If specified, this value must match the name of an existing message template.
  - `version`**Type**: `STRING`**Provider name**: `Version`**Description**: The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use theTemplate Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

## `treatment_description`{% #treatment_description %}

**Type**: `STRING`**Provider name**: `TreatmentDescription`**Description**: The custom description of the default treatment for the campaign.

## `treatment_name`{% #treatment_name %}

**Type**: `STRING`**Provider name**: `TreatmentName`**Description**: The 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.

## `version`{% #version %}

**Type**: `INT32`**Provider name**: `Version`**Description**: The version number of the campaign.
