/*******************************************************************************
* Copyright 2012-2019 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.
* *****************************************************************************
*
* AWS Tools for Windows (TM) PowerShell (TM)
*
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Text;
using Amazon.PowerShell.Common;
using Amazon.Runtime;
using Amazon.Pinpoint;
using Amazon.Pinpoint.Model;
namespace Amazon.PowerShell.Cmdlets.PIN
{
///
/// Updates the settings for an application.
///
[Cmdlet("Update", "PINApplicationSettingList", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)]
[OutputType("Amazon.Pinpoint.Model.ApplicationSettingsResource")]
[AWSCmdlet("Calls the Amazon Pinpoint UpdateApplicationSettings API operation.", Operation = new[] {"UpdateApplicationSettings"}, SelectReturnType = typeof(Amazon.Pinpoint.Model.UpdateApplicationSettingsResponse))]
[AWSCmdletOutput("Amazon.Pinpoint.Model.ApplicationSettingsResource or Amazon.Pinpoint.Model.UpdateApplicationSettingsResponse",
"This cmdlet returns an Amazon.Pinpoint.Model.ApplicationSettingsResource object.",
"The service call response (type Amazon.Pinpoint.Model.UpdateApplicationSettingsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack."
)]
public partial class UpdatePINApplicationSettingListCmdlet : AmazonPinpointClientCmdlet, IExecutor
{
#region Parameter ApplicationId
///
///
/// The unique identifier for the application. This identifier is displayed as the Project
/// ID on the Amazon Pinpoint console.
///
///
#if !MODULAR
[System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)]
#else
[System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)]
[System.Management.Automation.AllowEmptyString]
[System.Management.Automation.AllowNull]
#endif
[Amazon.PowerShell.Common.AWSRequiredParameter]
public System.String ApplicationId { get; set; }
#endregion
#region Parameter TimeframeCap_Cap
///
///
/// The maximum number of messages that all journeys can send to an endpoint during the
/// specified timeframe. The maximum value is 100. If set to 0, this limit will not apply.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_JourneyLimits_TimeframeCap_Cap")]
public System.Int32? TimeframeCap_Cap { get; set; }
#endregion
#region Parameter WriteApplicationSettingsRequest_CloudWatchMetricsEnabled
///
///
/// Specifies whether to enable application-related alarms in Amazon CloudWatch.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? WriteApplicationSettingsRequest_CloudWatchMetricsEnabled { get; set; }
#endregion
#region Parameter Limits_Daily
///
///
/// 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.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_Limits_Daily")]
public System.Int32? Limits_Daily { get; set; }
#endregion
#region Parameter JourneyLimits_DailyCap
///
///
/// The daily number of messages that an endpoint can receive from all journeys. The maximum
/// value is 100. If set to 0, this limit will not apply.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_JourneyLimits_DailyCap")]
public System.Int32? JourneyLimits_DailyCap { get; set; }
#endregion
#region Parameter TimeframeCap_Day
///
///
/// The length of the timeframe in days. The maximum value is 30. If set to 0, this limit
/// will not apply.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_JourneyLimits_TimeframeCap_Days")]
public System.Int32? TimeframeCap_Day { get; set; }
#endregion
#region Parameter QuietTime_End
///
///
/// 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.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_QuietTime_End")]
public System.String QuietTime_End { get; set; }
#endregion
#region Parameter WriteApplicationSettingsRequest_EventTaggingEnabled
///
///
/// The service has not provided documentation for this parameter; please refer to the service's API reference documentation for the latest available information.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? WriteApplicationSettingsRequest_EventTaggingEnabled { get; set; }
#endregion
#region Parameter CampaignHook_LambdaFunctionName
///
///
/// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Pinpoint
/// invokes to customize a segment for a campaign.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_CampaignHook_LambdaFunctionName")]
public System.String CampaignHook_LambdaFunctionName { get; set; }
#endregion
#region Parameter Limits_MaximumDuration
///
///
/// 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.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_Limits_MaximumDuration")]
public System.Int32? Limits_MaximumDuration { get; set; }
#endregion
#region Parameter Limits_MessagesPerSecond
///
///
/// 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 50. The maximum value is 20,000.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_Limits_MessagesPerSecond")]
public System.Int32? Limits_MessagesPerSecond { get; set; }
#endregion
#region Parameter CampaignHook_Mode
///
///
/// 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.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_CampaignHook_Mode")]
[AWSConstantClassSource("Amazon.Pinpoint.Mode")]
public Amazon.Pinpoint.Mode CampaignHook_Mode { get; set; }
#endregion
#region Parameter Limits_Session
///
///
/// The maximum total number of messages that the campaign can send per user session.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_Limits_Session")]
public System.Int32? Limits_Session { get; set; }
#endregion
#region Parameter QuietTime_Start
///
///
/// 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.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_QuietTime_Start")]
public System.String QuietTime_Start { get; set; }
#endregion
#region Parameter Limits_Total
///
///
/// 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.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_Limits_Total")]
public System.Int32? Limits_Total { get; set; }
#endregion
#region Parameter JourneyLimits_TotalCap
///
///
/// The default maximum number of messages that a single journey can sent to a single
/// endpoint. The maximum value is 100. If set to 0, this limit will not apply.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_JourneyLimits_TotalCap")]
public System.Int32? JourneyLimits_TotalCap { get; set; }
#endregion
#region Parameter CampaignHook_WebUrl
///
///
/// The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over HTTPS.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("WriteApplicationSettingsRequest_CampaignHook_WebUrl")]
public System.String CampaignHook_WebUrl { get; set; }
#endregion
#region Parameter Select
///
/// Use the -Select parameter to control the cmdlet output. The default value is 'ApplicationSettingsResource'.
/// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.Pinpoint.Model.UpdateApplicationSettingsResponse).
/// Specifying the name of a property of type Amazon.Pinpoint.Model.UpdateApplicationSettingsResponse will result in that property being returned.
/// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public string Select { get; set; } = "ApplicationSettingsResource";
#endregion
#region Parameter PassThru
///
/// Changes the cmdlet behavior to return the value passed to the ApplicationId parameter.
/// The -PassThru parameter is deprecated, use -Select '^ApplicationId' instead. This parameter will be removed in a future version.
///
[System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ApplicationId' instead. This parameter will be removed in a future version.")]
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public SwitchParameter PassThru { get; set; }
#endregion
#region Parameter Force
///
/// This parameter overrides confirmation prompts to force
/// the cmdlet to continue its operation. This parameter should always
/// be used with caution.
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public SwitchParameter Force { get; set; }
#endregion
protected override void ProcessRecord()
{
this._AWSSignerType = "v4";
base.ProcessRecord();
var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ApplicationId), MyInvocation.BoundParameters);
if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-PINApplicationSettingList (UpdateApplicationSettings)"))
{
return;
}
var context = new CmdletContext();
// allow for manipulation of parameters prior to loading into context
PreExecutionContextLoad(context);
#pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute
if (ParameterWasBound(nameof(this.Select)))
{
context.Select = CreateSelectDelegate(Select) ??
throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select));
if (this.PassThru.IsPresent)
{
throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select));
}
}
else if (this.PassThru.IsPresent)
{
context.Select = (response, cmdlet) => this.ApplicationId;
}
#pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute
context.ApplicationId = this.ApplicationId;
#if MODULAR
if (this.ApplicationId == null && ParameterWasBound(nameof(this.ApplicationId)))
{
WriteWarning("You are passing $null as a value for parameter ApplicationId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues.");
}
#endif
context.CampaignHook_LambdaFunctionName = this.CampaignHook_LambdaFunctionName;
context.CampaignHook_Mode = this.CampaignHook_Mode;
context.CampaignHook_WebUrl = this.CampaignHook_WebUrl;
context.WriteApplicationSettingsRequest_CloudWatchMetricsEnabled = this.WriteApplicationSettingsRequest_CloudWatchMetricsEnabled;
context.WriteApplicationSettingsRequest_EventTaggingEnabled = this.WriteApplicationSettingsRequest_EventTaggingEnabled;
context.JourneyLimits_DailyCap = this.JourneyLimits_DailyCap;
context.TimeframeCap_Cap = this.TimeframeCap_Cap;
context.TimeframeCap_Day = this.TimeframeCap_Day;
context.JourneyLimits_TotalCap = this.JourneyLimits_TotalCap;
context.Limits_Daily = this.Limits_Daily;
context.Limits_MaximumDuration = this.Limits_MaximumDuration;
context.Limits_MessagesPerSecond = this.Limits_MessagesPerSecond;
context.Limits_Session = this.Limits_Session;
context.Limits_Total = this.Limits_Total;
context.QuietTime_End = this.QuietTime_End;
context.QuietTime_Start = this.QuietTime_Start;
// allow further manipulation of loaded context prior to processing
PostExecutionContextLoad(context);
var output = Execute(context) as CmdletOutput;
ProcessOutput(output);
}
#region IExecutor Members
public object Execute(ExecutorContext context)
{
var cmdletContext = context as CmdletContext;
// create request
var request = new Amazon.Pinpoint.Model.UpdateApplicationSettingsRequest();
if (cmdletContext.ApplicationId != null)
{
request.ApplicationId = cmdletContext.ApplicationId;
}
// populate WriteApplicationSettingsRequest
var requestWriteApplicationSettingsRequestIsNull = true;
request.WriteApplicationSettingsRequest = new Amazon.Pinpoint.Model.WriteApplicationSettingsRequest();
System.Boolean? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CloudWatchMetricsEnabled = null;
if (cmdletContext.WriteApplicationSettingsRequest_CloudWatchMetricsEnabled != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CloudWatchMetricsEnabled = cmdletContext.WriteApplicationSettingsRequest_CloudWatchMetricsEnabled.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CloudWatchMetricsEnabled != null)
{
request.WriteApplicationSettingsRequest.CloudWatchMetricsEnabled = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CloudWatchMetricsEnabled.Value;
requestWriteApplicationSettingsRequestIsNull = false;
}
System.Boolean? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_EventTaggingEnabled = null;
if (cmdletContext.WriteApplicationSettingsRequest_EventTaggingEnabled != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_EventTaggingEnabled = cmdletContext.WriteApplicationSettingsRequest_EventTaggingEnabled.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_EventTaggingEnabled != null)
{
request.WriteApplicationSettingsRequest.EventTaggingEnabled = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_EventTaggingEnabled.Value;
requestWriteApplicationSettingsRequestIsNull = false;
}
Amazon.Pinpoint.Model.QuietTime requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime = null;
// populate QuietTime
var requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTimeIsNull = true;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime = new Amazon.Pinpoint.Model.QuietTime();
System.String requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_End = null;
if (cmdletContext.QuietTime_End != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_End = cmdletContext.QuietTime_End;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_End != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime.End = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_End;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTimeIsNull = false;
}
System.String requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_Start = null;
if (cmdletContext.QuietTime_Start != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_Start = cmdletContext.QuietTime_Start;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_Start != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime.Start = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime_quietTime_Start;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTimeIsNull = false;
}
// determine if requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime should be set to null
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTimeIsNull)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime = null;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime != null)
{
request.WriteApplicationSettingsRequest.QuietTime = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_QuietTime;
requestWriteApplicationSettingsRequestIsNull = false;
}
Amazon.Pinpoint.Model.CampaignHook requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook = null;
// populate CampaignHook
var requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHookIsNull = true;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook = new Amazon.Pinpoint.Model.CampaignHook();
System.String requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_LambdaFunctionName = null;
if (cmdletContext.CampaignHook_LambdaFunctionName != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_LambdaFunctionName = cmdletContext.CampaignHook_LambdaFunctionName;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_LambdaFunctionName != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook.LambdaFunctionName = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_LambdaFunctionName;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHookIsNull = false;
}
Amazon.Pinpoint.Mode requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_Mode = null;
if (cmdletContext.CampaignHook_Mode != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_Mode = cmdletContext.CampaignHook_Mode;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_Mode != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook.Mode = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_Mode;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHookIsNull = false;
}
System.String requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_WebUrl = null;
if (cmdletContext.CampaignHook_WebUrl != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_WebUrl = cmdletContext.CampaignHook_WebUrl;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_WebUrl != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook.WebUrl = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook_campaignHook_WebUrl;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHookIsNull = false;
}
// determine if requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook should be set to null
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHookIsNull)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook = null;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook != null)
{
request.WriteApplicationSettingsRequest.CampaignHook = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_CampaignHook;
requestWriteApplicationSettingsRequestIsNull = false;
}
Amazon.Pinpoint.Model.ApplicationSettingsJourneyLimits requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits = null;
// populate JourneyLimits
var requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimitsIsNull = true;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits = new Amazon.Pinpoint.Model.ApplicationSettingsJourneyLimits();
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_DailyCap = null;
if (cmdletContext.JourneyLimits_DailyCap != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_DailyCap = cmdletContext.JourneyLimits_DailyCap.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_DailyCap != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits.DailyCap = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_DailyCap.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimitsIsNull = false;
}
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_TotalCap = null;
if (cmdletContext.JourneyLimits_TotalCap != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_TotalCap = cmdletContext.JourneyLimits_TotalCap.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_TotalCap != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits.TotalCap = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_journeyLimits_TotalCap.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimitsIsNull = false;
}
Amazon.Pinpoint.Model.JourneyTimeframeCap requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap = null;
// populate TimeframeCap
var requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCapIsNull = true;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap = new Amazon.Pinpoint.Model.JourneyTimeframeCap();
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Cap = null;
if (cmdletContext.TimeframeCap_Cap != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Cap = cmdletContext.TimeframeCap_Cap.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Cap != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap.Cap = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Cap.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCapIsNull = false;
}
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Day = null;
if (cmdletContext.TimeframeCap_Day != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Day = cmdletContext.TimeframeCap_Day.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Day != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap.Days = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap_timeframeCap_Day.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCapIsNull = false;
}
// determine if requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap should be set to null
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCapIsNull)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap = null;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits.TimeframeCap = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits_writeApplicationSettingsRequest_JourneyLimits_TimeframeCap;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimitsIsNull = false;
}
// determine if requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits should be set to null
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimitsIsNull)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits = null;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits != null)
{
request.WriteApplicationSettingsRequest.JourneyLimits = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_JourneyLimits;
requestWriteApplicationSettingsRequestIsNull = false;
}
Amazon.Pinpoint.Model.CampaignLimits requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits = null;
// populate Limits
var requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_LimitsIsNull = true;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits = new Amazon.Pinpoint.Model.CampaignLimits();
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Daily = null;
if (cmdletContext.Limits_Daily != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Daily = cmdletContext.Limits_Daily.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Daily != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits.Daily = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Daily.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_LimitsIsNull = false;
}
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MaximumDuration = null;
if (cmdletContext.Limits_MaximumDuration != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MaximumDuration = cmdletContext.Limits_MaximumDuration.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MaximumDuration != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits.MaximumDuration = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MaximumDuration.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_LimitsIsNull = false;
}
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MessagesPerSecond = null;
if (cmdletContext.Limits_MessagesPerSecond != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MessagesPerSecond = cmdletContext.Limits_MessagesPerSecond.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MessagesPerSecond != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits.MessagesPerSecond = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_MessagesPerSecond.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_LimitsIsNull = false;
}
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Session = null;
if (cmdletContext.Limits_Session != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Session = cmdletContext.Limits_Session.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Session != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits.Session = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Session.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_LimitsIsNull = false;
}
System.Int32? requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Total = null;
if (cmdletContext.Limits_Total != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Total = cmdletContext.Limits_Total.Value;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Total != null)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits.Total = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits_limits_Total.Value;
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_LimitsIsNull = false;
}
// determine if requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits should be set to null
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_LimitsIsNull)
{
requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits = null;
}
if (requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits != null)
{
request.WriteApplicationSettingsRequest.Limits = requestWriteApplicationSettingsRequest_writeApplicationSettingsRequest_Limits;
requestWriteApplicationSettingsRequestIsNull = false;
}
// determine if request.WriteApplicationSettingsRequest should be set to null
if (requestWriteApplicationSettingsRequestIsNull)
{
request.WriteApplicationSettingsRequest = null;
}
CmdletOutput output;
// issue call
var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint);
try
{
var response = CallAWSServiceOperation(client, request);
object pipelineOutput = null;
pipelineOutput = cmdletContext.Select(response, this);
output = new CmdletOutput
{
PipelineOutput = pipelineOutput,
ServiceResponse = response
};
}
catch (Exception e)
{
output = new CmdletOutput { ErrorResponse = e };
}
return output;
}
public ExecutorContext CreateContext()
{
return new CmdletContext();
}
#endregion
#region AWS Service Operation Call
private Amazon.Pinpoint.Model.UpdateApplicationSettingsResponse CallAWSServiceOperation(IAmazonPinpoint client, Amazon.Pinpoint.Model.UpdateApplicationSettingsRequest request)
{
Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Pinpoint", "UpdateApplicationSettings");
try
{
#if DESKTOP
return client.UpdateApplicationSettings(request);
#elif CORECLR
return client.UpdateApplicationSettingsAsync(request).GetAwaiter().GetResult();
#else
#error "Unknown build edition"
#endif
}
catch (AmazonServiceException exc)
{
var webException = exc.InnerException as System.Net.WebException;
if (webException != null)
{
throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
}
throw;
}
}
#endregion
internal partial class CmdletContext : ExecutorContext
{
public System.String ApplicationId { get; set; }
public System.String CampaignHook_LambdaFunctionName { get; set; }
public Amazon.Pinpoint.Mode CampaignHook_Mode { get; set; }
public System.String CampaignHook_WebUrl { get; set; }
public System.Boolean? WriteApplicationSettingsRequest_CloudWatchMetricsEnabled { get; set; }
public System.Boolean? WriteApplicationSettingsRequest_EventTaggingEnabled { get; set; }
public System.Int32? JourneyLimits_DailyCap { get; set; }
public System.Int32? TimeframeCap_Cap { get; set; }
public System.Int32? TimeframeCap_Day { get; set; }
public System.Int32? JourneyLimits_TotalCap { get; set; }
public System.Int32? Limits_Daily { get; set; }
public System.Int32? Limits_MaximumDuration { get; set; }
public System.Int32? Limits_MessagesPerSecond { get; set; }
public System.Int32? Limits_Session { get; set; }
public System.Int32? Limits_Total { get; set; }
public System.String QuietTime_End { get; set; }
public System.String QuietTime_Start { get; set; }
public System.Func Select { get; set; } =
(response, cmdlet) => response.ApplicationSettingsResource;
}
}
}