/*
* 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 elasticache-2015-02-02.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.ElastiCache.Model
{
///
/// Container for the parameters to the CreateCacheParameterGroup operation.
/// Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter
/// group is a collection of parameters and their values that are applied to all of the
/// nodes in any cluster or replication group using the CacheParameterGroup.
///
///
///
/// A newly created CacheParameterGroup is an exact duplicate of the default parameter
/// group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup
/// you can change the values of specific parameters. For more information, see:
///
///
///
public partial class CreateCacheParameterGroupRequest : AmazonElastiCacheRequest
{
private string _cacheParameterGroupFamily;
private string _cacheParameterGroupName;
private string _description;
private List _tags = new List();
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public CreateCacheParameterGroupRequest() { }
///
/// Instantiates CreateCacheParameterGroupRequest with the parameterized properties
///
/// A user-specified name for the cache parameter group.
/// The name of the cache parameter group family that the cache parameter group can be used with. Valid values are: memcached1.4
| memcached1.5
| memcached1.6
| redis2.6
| redis2.8
| redis3.2
| redis4.0
| redis5.0
| redis6.x
| redis7
/// A user-specified description for the cache parameter group.
public CreateCacheParameterGroupRequest(string cacheParameterGroupName, string cacheParameterGroupFamily, string description)
{
_cacheParameterGroupName = cacheParameterGroupName;
_cacheParameterGroupFamily = cacheParameterGroupFamily;
_description = description;
}
///
/// Gets and sets the property CacheParameterGroupFamily.
///
/// The name of the cache parameter group family that the cache parameter group can be
/// used with.
///
///
///
/// Valid values are: memcached1.4
| memcached1.5
| memcached1.6
/// | redis2.6
| redis2.8
| redis3.2
| redis4.0
/// | redis5.0
| redis6.x
| redis7
///
///
[AWSProperty(Required=true)]
public string CacheParameterGroupFamily
{
get { return this._cacheParameterGroupFamily; }
set { this._cacheParameterGroupFamily = value; }
}
// Check to see if CacheParameterGroupFamily property is set
internal bool IsSetCacheParameterGroupFamily()
{
return this._cacheParameterGroupFamily != null;
}
///
/// Gets and sets the property CacheParameterGroupName.
///
/// A user-specified name for the cache parameter group.
///
///
[AWSProperty(Required=true)]
public string CacheParameterGroupName
{
get { return this._cacheParameterGroupName; }
set { this._cacheParameterGroupName = value; }
}
// Check to see if CacheParameterGroupName property is set
internal bool IsSetCacheParameterGroupName()
{
return this._cacheParameterGroupName != null;
}
///
/// Gets and sets the property Description.
///
/// A user-specified description for the cache parameter group.
///
///
[AWSProperty(Required=true)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property Tags.
///
/// A list of tags to be added to this resource. A tag is a key-value pair. A tag key
/// must be accompanied by a tag value, although null is accepted.
///
///
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;
}
}
}