/*
* 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 sdb-2009-04-15.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.SimpleDB.Model
{
///
/// Container for the parameters to the BatchPutAttributes operation.
/// The BatchPutAttributes
operation creates or replaces attributes within
/// one or more items. By using this operation, the client can perform multiple PutAttribute
/// operation with a single call. This helps yield savings in round trips and latencies,
/// enabling Amazon SimpleDB to optimize requests and generally produce better throughput.
///
///
///
///
/// The client may specify the item name with the Item.X.ItemName
parameter.
/// The client may specify new attributes using a combination of the Item.X.Attribute.Y.Name
/// and Item.X.Attribute.Y.Value
parameters. The client may specify the first
/// attribute for the first item using the parameters Item.0.Attribute.0.Name
/// and Item.0.Attribute.0.Value
, and for the second attribute for the first
/// item by the parameters Item.0.Attribute.1.Name
and Item.0.Attribute.1.Value
,
/// and so on.
///
///
///
/// Attributes are uniquely identified within an item by their name/value combination.
/// For example, a single item can have the attributes { "first_name", "first_value"
/// }
and { "first_name", "second_value" }
. However, it cannot have
/// two attribute instances where both the Item.X.Attribute.Y.Name
and Item.X.Attribute.Y.Value
/// are the same.
///
///
///
/// Optionally, the requester can supply the Replace
parameter for each
/// individual value. Setting this value to true
will cause the new attribute
/// values to replace the existing attribute values. For example, if an item I
/// has the attributes { 'a', '1' }, { 'b', '2'}
and { 'b', '3' }
/// and the requester does a BatchPutAttributes of {'I', 'b', '4' }
with
/// the Replace parameter set to true, the final attributes of the item will be {
/// 'a', '1' }
and { 'b', '4' }
, replacing the previous values of
/// the 'b' attribute with the new value.
///
/// This operation is vulnerable to exceeding the maximum URL size when making
/// a REST request using the HTTP GET method. This operation does not support conditions
/// using Expected.X.Name
, Expected.X.Value
, or Expected.X.Exists
.
///
///
/// You can execute multiple BatchPutAttributes
operations and other operations
/// in parallel. However, large numbers of concurrent BatchPutAttributes
/// calls can result in Service Unavailable (503) responses.
///
///
///
/// The following limitations are enforced for this operation: - 256 attribute
/// name-value pairs per item
- 1 MB request size
- 1 billion attributes
/// per domain
- 10 GB of total user data storage per domain
- 25 item limit
/// per
BatchPutAttributes
operation
///
///
public partial class BatchPutAttributesRequest : AmazonSimpleDBRequest
{
private string _domainName;
private List _items = new List();
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public BatchPutAttributesRequest() { }
///
/// Instantiates BatchPutAttributesRequest with the parameterized properties
///
/// The name of the domain in which the attributes are being stored.
/// A list of items on which to perform the operation.
public BatchPutAttributesRequest(string domainName, List items)
{
_domainName = domainName;
_items = items;
}
///
/// Gets and sets the property DomainName. The name of the domain in which the attributes
/// are being stored.
///
[AWSProperty(Required=true)]
public string DomainName
{
get { return this._domainName; }
set { this._domainName = value; }
}
// Check to see if DomainName property is set
internal bool IsSetDomainName()
{
return this._domainName != null;
}
///
/// Gets and sets the property Items. A list of items on which to perform the operation.
///
[AWSProperty(Required=true)]
public List Items
{
get { return this._items; }
set { this._items = value; }
}
// Check to see if Items property is set
internal bool IsSetItems()
{
return this._items != null && this._items.Count > 0;
}
}
}