/*
* 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 SetTopicAttributes operation.
/// Allows a topic owner to set an attribute of the topic to a new value.
///
public partial class SetTopicAttributesRequest : AmazonSimpleNotificationServiceRequest
{
private string _attributeName;
private string _attributeValue;
private string _topicArn;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public SetTopicAttributesRequest() { }
///
/// Instantiates SetTopicAttributesRequest with the parameterized properties
///
/// The ARN of the topic to modify.
/// A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
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.
/// The new value for the attribute.
public SetTopicAttributesRequest(string topicArn, string attributeName, string attributeValue)
{
_topicArn = topicArn;
_attributeName = attributeName;
_attributeValue = attributeValue;
}
///
/// Gets and sets the property AttributeName.
///
/// A map of attributes with their corresponding values.
///
///
///
/// The following lists the names, descriptions, and values of the special request parameters
/// that the SetTopicAttributes
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.
///
///
///
[AWSProperty(Required=true)]
public string AttributeName
{
get { return this._attributeName; }
set { this._attributeName = value; }
}
// Check to see if AttributeName property is set
internal bool IsSetAttributeName()
{
return this._attributeName != null;
}
///
/// Gets and sets the property AttributeValue.
///
/// The new value for the attribute.
///
///
public string AttributeValue
{
get { return this._attributeValue; }
set { this._attributeValue = value; }
}
// Check to see if AttributeValue property is set
internal bool IsSetAttributeValue()
{
return this._attributeValue != null;
}
///
/// Gets and sets the property TopicArn.
///
/// The ARN of the topic to modify.
///
///
[AWSProperty(Required=true)]
public string TopicArn
{
get { return this._topicArn; }
set { this._topicArn = value; }
}
// Check to see if TopicArn property is set
internal bool IsSetTopicArn()
{
return this._topicArn != null;
}
}
}