/* * Copyright 2010-2014 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 Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SimpleNotificationService.Model { /// /// Container for the parameters to the CreateTopic operation. /// Creates a topic to which notifications can be published. Users can create at most /// 100,000 topics. For more information, see https://aws.amazon.com/sns. /// This action is idempotent, so if the requester already owns a topic with the specified /// name, that topic's ARN is returned without creating a new topic. /// public partial class CreateTopicRequest : AmazonSimpleNotificationServiceRequest { private Dictionary _attributes = new Dictionary(); private string _name; private List _tags = new List(); /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public CreateTopicRequest() { } /// /// Instantiates CreateTopicRequest with the parameterized properties /// /// The name of the topic you want to create. Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. public CreateTopicRequest(string name) { _name = name; } /// /// Gets and sets the property Attributes. /// /// A map of attributes with their corresponding values. /// /// /// /// The following lists the names, descriptions, and values of the special request parameters /// that the CreateTopic action uses: /// ///
  • /// /// DeliveryPolicy – The policy that defines how Amazon SNS retries failed /// deliveries to HTTP/S endpoints. /// ///
  • /// /// DisplayName – The display name to use for a topic with SMS subscriptions. /// ///
  • /// /// Policy – The policy that defines who can access your topic. By default, /// only the topic owner can publish or subscribe to the topic. /// ///
/// /// The following attribute applies only to server-side-encryption: /// ///
  • /// /// KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) /// for Amazon SNS or a custom CMK. For more information, see Key /// Terms. For more examples, see KeyId /// in the AWS Key Management Service API Reference. /// ///
///
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. /// /// The name of the topic you want to create. /// /// /// /// Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, /// numbers, underscores, and hyphens, 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 Tags. /// /// The list of tags to add to a new topic. /// /// /// /// To be able to tag a topic on creation, you must have the sns:CreateTopic /// and sns:TagResource permissions. /// /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } } }