/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the pinpoint-2016-12-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Pinpoint.Model { /// /// Specifies the configuration and other settings for a journey. /// public partial class WriteJourneyRequest { private Dictionary _activities = new Dictionary(); private ClosedDays _closedDays; private string _creationDate; private JourneyChannelSettings _journeyChannelSettings; private string _lastModifiedDate; private JourneyLimits _limits; private bool? _localTime; private string _name; private OpenHours _openHours; private QuietTime _quietTime; private string _refreshFrequency; private bool? _refreshOnSegmentUpdate; private JourneySchedule _schedule; private bool? _sendingSchedule; private string _startActivity; private StartCondition _startCondition; private State _state; private List _timezoneEstimationMethods = new List(); private bool? _waitForQuietTime; /// /// Gets and sets the property Activities. /// /// A map that contains a set of Activity objects, one object for each activity in the /// journey. For each Activity object, the key is the unique identifier (string) for an /// activity and the value is the settings for the activity. An activity identifier can /// contain a maximum of 100 characters. The characters must be alphanumeric characters. /// /// public Dictionary Activities { get { return this._activities; } set { this._activities = value; } } // Check to see if Activities property is set internal bool IsSetActivities() { return this._activities != null && this._activities.Count > 0; } /// /// Gets and sets the property ClosedDays. /// /// The time when journey will stop sending messages. QuietTime should be configured first /// and SendingSchedule should be set to true. /// /// public ClosedDays ClosedDays { get { return this._closedDays; } set { this._closedDays = value; } } // Check to see if ClosedDays property is set internal bool IsSetClosedDays() { return this._closedDays != null; } /// /// Gets and sets the property CreationDate. /// /// The date, in ISO 8601 format, when the journey was created. /// /// public string CreationDate { get { return this._creationDate; } set { this._creationDate = value; } } // Check to see if CreationDate property is set internal bool IsSetCreationDate() { return this._creationDate != null; } /// /// Gets and sets the property JourneyChannelSettings. /// /// The channel-specific configurations for the journey. /// /// public JourneyChannelSettings JourneyChannelSettings { get { return this._journeyChannelSettings; } set { this._journeyChannelSettings = value; } } // Check to see if JourneyChannelSettings property is set internal bool IsSetJourneyChannelSettings() { return this._journeyChannelSettings != null; } /// /// Gets and sets the property LastModifiedDate. /// /// The date, in ISO 8601 format, when the journey was last modified. /// /// public string LastModifiedDate { get { return this._lastModifiedDate; } set { this._lastModifiedDate = value; } } // Check to see if LastModifiedDate property is set internal bool IsSetLastModifiedDate() { return this._lastModifiedDate != null; } /// /// Gets and sets the property Limits. /// /// The messaging and entry limits for the journey. /// /// public JourneyLimits Limits { get { return this._limits; } set { this._limits = value; } } // Check to see if Limits property is set internal bool IsSetLimits() { return this._limits != null; } /// /// Gets and sets the property LocalTime. /// /// Specifies whether the journey's scheduled start and end times use each participant's /// local time. To base the schedule on each participant's local time, set this value /// to true. /// /// public bool LocalTime { get { return this._localTime.GetValueOrDefault(); } set { this._localTime = value; } } // Check to see if LocalTime property is set internal bool IsSetLocalTime() { return this._localTime.HasValue; } /// /// Gets and sets the property Name. /// /// The name of the journey. A journey name can contain a maximum of 150 characters. The /// characters can be alphanumeric characters or symbols, such as underscores (_) or hyphens /// (-). A journey name can't contain any spaces. /// /// [AWSProperty(Required=true)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property OpenHours. /// /// The time when journey allow to send messages. QuietTime should be configured first /// and SendingSchedule should be set to true. /// /// public OpenHours OpenHours { get { return this._openHours; } set { this._openHours = value; } } // Check to see if OpenHours property is set internal bool IsSetOpenHours() { return this._openHours != null; } /// /// Gets and sets the property QuietTime. /// /// The quiet time settings for the journey. Quiet time is a specific time range when /// a journey doesn't send messages to participants, if all the following conditions are /// met: /// ///
  • /// /// The EndpointDemographic.Timezone property of the endpoint for the participant is set /// to a valid value. /// ///
  • /// /// The current time in the participant's time zone is later than or equal to the time /// specified by the QuietTime.Start property for the journey. /// ///
  • /// /// The current time in the participant's time zone is earlier than or equal to the time /// specified by the QuietTime.End property for the journey. /// ///
/// /// If any of the preceding conditions isn't met, the participant will receive messages /// from the journey, even if quiet time is enabled. /// ///
public QuietTime QuietTime { get { return this._quietTime; } set { this._quietTime = value; } } // Check to see if QuietTime property is set internal bool IsSetQuietTime() { return this._quietTime != null; } /// /// Gets and sets the property RefreshFrequency. /// /// The frequency with which Amazon Pinpoint evaluates segment and event data for the /// journey, as a duration in ISO 8601 format. /// /// public string RefreshFrequency { get { return this._refreshFrequency; } set { this._refreshFrequency = value; } } // Check to see if RefreshFrequency property is set internal bool IsSetRefreshFrequency() { return this._refreshFrequency != null; } /// /// Gets and sets the property RefreshOnSegmentUpdate. /// /// Indicates whether the journey participants should be refreshed when a segment is updated. /// /// public bool RefreshOnSegmentUpdate { get { return this._refreshOnSegmentUpdate.GetValueOrDefault(); } set { this._refreshOnSegmentUpdate = value; } } // Check to see if RefreshOnSegmentUpdate property is set internal bool IsSetRefreshOnSegmentUpdate() { return this._refreshOnSegmentUpdate.HasValue; } /// /// Gets and sets the property Schedule. /// /// The schedule settings for the journey. /// /// public JourneySchedule Schedule { get { return this._schedule; } set { this._schedule = value; } } // Check to see if Schedule property is set internal bool IsSetSchedule() { return this._schedule != null; } /// /// Gets and sets the property SendingSchedule. /// /// Indicates if journey has Advance Quiet Time enabled. This flag should be set to true /// in order to allow using OpenHours and ClosedDays. /// /// public bool SendingSchedule { get { return this._sendingSchedule.GetValueOrDefault(); } set { this._sendingSchedule = value; } } // Check to see if SendingSchedule property is set internal bool IsSetSendingSchedule() { return this._sendingSchedule.HasValue; } /// /// Gets and sets the property StartActivity. /// /// The unique identifier for the first activity in the journey. The identifier for this /// activity can contain a maximum of 128 characters. The characters must be alphanumeric /// characters. /// /// public string StartActivity { get { return this._startActivity; } set { this._startActivity = value; } } // Check to see if StartActivity property is set internal bool IsSetStartActivity() { return this._startActivity != null; } /// /// Gets and sets the property StartCondition. /// /// The segment that defines which users are participants in the journey. /// /// public StartCondition StartCondition { get { return this._startCondition; } set { this._startCondition = value; } } // Check to see if StartCondition property is set internal bool IsSetStartCondition() { return this._startCondition != null; } /// /// Gets and sets the property State. /// /// The status of the journey. Valid values are: /// ///
  • /// /// DRAFT - Saves the journey and doesn't publish it. /// ///
  • /// /// ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the /// journey starts running immediately or at the scheduled start time. If a journey's /// status is ACTIVE, you can't add, change, or remove activities from it. /// ///
/// /// PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create /// or update a journey. To cancel, pause, or resume a journey, use the Journey /// State resource. /// ///
public State State { get { return this._state; } set { this._state = value; } } // Check to see if State property is set internal bool IsSetState() { return this._state != null; } /// /// Gets and sets the property TimezoneEstimationMethods. /// /// An array of time zone estimation methods, if any, to use for determining an Endpoints /// time zone if the Endpoint does not have a value for the Demographic.Timezone attribute. /// ///
  • /// /// PHONE_NUMBER - A time zone is determined based on the Endpoint.Address and Endpoint.Location.Country. /// ///
  • /// /// POSTAL_CODE - A time zone is determined based on the Endpoint.Location.PostalCode /// and Endpoint.Location.Country. /// /// /// /// POSTAL_CODE detection is only supported in the United States, United Kingdom, Australia, /// New Zealand, Canada, France, Italy, Spain, Germany and in regions where Amazon Pinpoint /// is available. /// ///
///
public List TimezoneEstimationMethods { get { return this._timezoneEstimationMethods; } set { this._timezoneEstimationMethods = value; } } // Check to see if TimezoneEstimationMethods property is set internal bool IsSetTimezoneEstimationMethods() { return this._timezoneEstimationMethods != null && this._timezoneEstimationMethods.Count > 0; } /// /// Gets and sets the property WaitForQuietTime. /// /// Specifies whether endpoints in quiet hours should enter a wait till the end of their /// quiet hours. /// /// public bool WaitForQuietTime { get { return this._waitForQuietTime.GetValueOrDefault(); } set { this._waitForQuietTime = value; } } // Check to see if WaitForQuietTime property is set internal bool IsSetWaitForQuietTime() { return this._waitForQuietTime.HasValue; } } }