/*
* 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;
}
}
}