/*
* 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 sns-2010-03-31.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.SimpleNotificationService.Model
{
///
/// Container for the parameters to the CreatePlatformApplication operation.
/// Creates a platform application object for one of the supported push notification services,
/// such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps
/// may register. You must specify PlatformPrincipal and PlatformCredential
/// attributes when using the CreatePlatformApplication action.
///
///
///
/// PlatformPrincipal and PlatformCredential are received from
/// the notification service.
///
/// -
///
/// For
ADM, PlatformPrincipal is client id and
/// PlatformCredential is client secret.
///
/// -
///
/// For
Baidu, PlatformPrincipal is API key and
/// PlatformCredential is secret key.
///
/// -
///
/// For
APNS and APNS_SANDBOX using certificate credentials,
/// PlatformPrincipal is SSL certificate and PlatformCredential
/// is private key.
///
/// -
///
/// For
APNS and APNS_SANDBOX using token credentials, PlatformPrincipal
/// is signing key ID and PlatformCredential is signing
/// key.
///
/// -
///
/// For
GCM (Firebase Cloud Messaging), there is no PlatformPrincipal
/// and the PlatformCredential is API key.
///
/// -
///
/// For
MPNS, PlatformPrincipal is TLS certificate
/// and PlatformCredential is private key.
///
/// -
///
/// For
WNS, PlatformPrincipal is Package Security Identifier
/// and PlatformCredential is secret key.
///
///
///
/// You can use the returned PlatformApplicationArn as an attribute for the
/// CreatePlatformEndpoint action.
///
///
public partial class CreatePlatformApplicationRequest : AmazonSimpleNotificationServiceRequest
{
private Dictionary _attributes = new Dictionary();
private string _name;
private string _platform;
///
/// Gets and sets the property Attributes.
///
/// For a list of attributes, see SetPlatformApplicationAttributes.
///
///
[AWSProperty(Required=true)]
public Dictionary Attributes
{
get { return this._attributes; }
set { this._attributes = value; }
}
// Check to see if Attributes property is set
internal bool IsSetAttributes()
{
return this._attributes != null && this._attributes.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// Application names must be made up of only uppercase and lowercase ASCII letters, numbers,
/// underscores, hyphens, and periods, and must be between 1 and 256 characters long.
///
///
[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 Platform.
///
/// The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple
/// Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud Messaging).
///
///
[AWSProperty(Required=true)]
public string Platform
{
get { return this._platform; }
set { this._platform = value; }
}
// Check to see if Platform property is set
internal bool IsSetPlatform()
{
return this._platform != null;
}
}
}