All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cloudshift.awscdk.dsl.services.pinpoint.CfnPushTemplateDefaultPushNotificationTemplatePropertyDsl.kt Maven / Gradle / Ivy

There is a newer version: 0.7.0
Show newest version
@file:Suppress("RedundantVisibilityModifier", "RedundantUnitReturnType", "RemoveRedundantQualifierName", "unused", "UnusedImport", "ClassName", "REDUNDANT_PROJECTION", "DEPRECATION")

package cloudshift.awscdk.dsl.services.pinpoint

import cloudshift.awscdk.common.CdkDslMarker
import software.amazon.awscdk.services.pinpoint.CfnPushTemplate
import kotlin.String

/**
 * Specifies the default settings and content for a message template that can be used in messages
 * that are sent through a push notification channel.
 *
 * Example:
 *
 * ```
 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import software.amazon.awscdk.services.pinpoint.*;
 * DefaultPushNotificationTemplateProperty defaultPushNotificationTemplateProperty =
 * DefaultPushNotificationTemplateProperty.builder()
 * .action("action")
 * .body("body")
 * .sound("sound")
 * .title("title")
 * .url("url")
 * .build();
 * ```
 *
 * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html)
 */
@CdkDslMarker
public class CfnPushTemplateDefaultPushNotificationTemplatePropertyDsl {
    private val cdkBuilder: CfnPushTemplate.DefaultPushNotificationTemplateProperty.Builder =
        CfnPushTemplate.DefaultPushNotificationTemplateProperty.builder()

    /**
     * @param action The action to occur if a recipient taps a push notification that's based on the
     * message template.
     * 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 the iOS and Android platforms.
     * * `URL` – The default mobile browser on the recipient's device opens and loads the web page at
     * a URL that you specify.
     */
    public fun action(action: String) {
        cdkBuilder.action(action)
    }

    /**
     * @param body The message body to use in push notifications that are based on the message
     * template.
     */
    public fun body(body: String) {
        cdkBuilder.body(body)
    }

    /**
     * @param sound The sound to play when a recipient receives a push notification that's based on
     * the message template.
     * You can use the default stream or specify the file name of a sound resource that's bundled in
     * your app. On an Android platform, the sound file must reside in `/res/raw/` .
     *
     * For an iOS platform, this value is the key for the name of a sound file in your app's main
     * bundle or the `Library/Sounds` folder in your app's data container. If the sound file can't be
     * found or you specify `default` for the value, the system plays the default alert sound.
     */
    public fun sound(sound: String) {
        cdkBuilder.sound(sound)
    }

    /**
     * @param title The title to use in push notifications that are based on the message template.
     * This title appears above the notification message on a recipient's device.
     */
    public fun title(title: String) {
        cdkBuilder.title(title)
    }

    /**
     * @param url The URL to open in a recipient's default mobile browser, if a recipient taps a push
     * notification that's based on the message template and the value of the `Action` property is `URL`
     * .
     */
    public fun url(url: String) {
        cdkBuilder.url(url)
    }

    public fun build(): CfnPushTemplate.DefaultPushNotificationTemplateProperty = cdkBuilder.build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy