/*
* 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 Amazon.Runtime;
using Amazon.SimpleDB.Model;
namespace Amazon.SimpleDB
{
///
/// Interface for accessing SimpleDB
///
/// Amazon SimpleDB is a web service providing the core database functions of data indexing
/// and querying in the cloud. By offloading the time and effort associated with building
/// and operating a web-scale database, SimpleDB provides developers the freedom to focus
/// on application development.
///
/// A traditional, clustered relational database requires a sizable upfront capital outlay,
/// is complex to design, and often requires extensive and repetitive database administration.
/// Amazon SimpleDB is dramatically simpler, requiring no schema, automatically indexing
/// your data and providing a simple API for storage and access. This approach eliminates
/// the administrative burden of data modeling, index maintenance, and performance tuning.
/// Developers gain access to this functionality within Amazon's proven computing environment,
/// are able to scale instantly, and pay only for what they use.
///
///
///
/// Visit http://aws.amazon.com/simpledb/
/// for more information.
///
///
public partial interface IAmazonSimpleDB : IAmazonService, IDisposable
{
#region BatchDeleteAttributes
///
/// Performs multiple DeleteAttributes operations in a single call, which reduces round
/// trips and latencies. This enables Amazon SimpleDB to optimize requests, which generally
/// yields better throughput.
///
///
///
/// The following limitations are enforced for this operation: - 1 MB request
/// size
- 25 item limit per BatchDeleteAttributes operation
///
///
/// Container for the necessary parameters to execute the BatchDeleteAttributes service method.
///
/// The response from the BatchDeleteAttributes service method, as returned by SimpleDB.
/// REST API Reference for BatchDeleteAttributes Operation
BatchDeleteAttributesResponse BatchDeleteAttributes(BatchDeleteAttributesRequest request);
///
/// Initiates the asynchronous execution of the BatchDeleteAttributes operation.
///
///
/// Container for the necessary parameters to execute the BatchDeleteAttributes operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndBatchDeleteAttributes
/// operation.
/// REST API Reference for BatchDeleteAttributes Operation
IAsyncResult BeginBatchDeleteAttributes(BatchDeleteAttributesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the BatchDeleteAttributes operation.
///
///
/// The IAsyncResult returned by the call to BeginBatchDeleteAttributes.
///
/// Returns a BatchDeleteAttributesResult from SimpleDB.
/// REST API Reference for BatchDeleteAttributes Operation
BatchDeleteAttributesResponse EndBatchDeleteAttributes(IAsyncResult asyncResult);
#endregion
#region BatchPutAttributes
///
/// 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
///
///
/// Container for the necessary parameters to execute the BatchPutAttributes service method.
///
/// The response from the BatchPutAttributes service method, as returned by SimpleDB.
///
/// The item name was specified more than once.
///
///
/// The value for a parameter is invalid.
///
///
/// The request must contain the specified missing parameter.
///
///
/// The specified domain does not exist.
///
///
/// Too many attributes in this domain.
///
///
/// Too many bytes in this domain.
///
///
/// Too many attributes in this item.
///
///
/// Too many attributes exist in a single call.
///
///
/// Too many items exist in a single call.
///
/// REST API Reference for BatchPutAttributes Operation
BatchPutAttributesResponse BatchPutAttributes(BatchPutAttributesRequest request);
///
/// Initiates the asynchronous execution of the BatchPutAttributes operation.
///
///
/// Container for the necessary parameters to execute the BatchPutAttributes operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndBatchPutAttributes
/// operation.
/// REST API Reference for BatchPutAttributes Operation
IAsyncResult BeginBatchPutAttributes(BatchPutAttributesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the BatchPutAttributes operation.
///
///
/// The IAsyncResult returned by the call to BeginBatchPutAttributes.
///
/// Returns a BatchPutAttributesResult from SimpleDB.
/// REST API Reference for BatchPutAttributes Operation
BatchPutAttributesResponse EndBatchPutAttributes(IAsyncResult asyncResult);
#endregion
#region CreateDomain
///
/// The CreateDomain
operation creates a new domain. The domain name should
/// be unique among the domains associated with the Access Key ID provided in the request.
/// The CreateDomain
operation may take 10 or more seconds to complete.
///
///
///
/// The client can create up to 100 domains per account.
///
///
///
/// If the client requires additional domains, go to
/// http://aws.amazon.com/contact-us/simpledb-limit-request/.
///
///
/// Container for the necessary parameters to execute the CreateDomain service method.
///
/// The response from the CreateDomain service method, as returned by SimpleDB.
///
/// The value for a parameter is invalid.
///
///
/// The request must contain the specified missing parameter.
///
///
/// Too many domains exist per this account.
///
/// REST API Reference for CreateDomain Operation
CreateDomainResponse CreateDomain(CreateDomainRequest request);
///
/// Initiates the asynchronous execution of the CreateDomain operation.
///
///
/// Container for the necessary parameters to execute the CreateDomain operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateDomain
/// operation.
/// REST API Reference for CreateDomain Operation
IAsyncResult BeginCreateDomain(CreateDomainRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the CreateDomain operation.
///
///
/// The IAsyncResult returned by the call to BeginCreateDomain.
///
/// Returns a CreateDomainResult from SimpleDB.
/// REST API Reference for CreateDomain Operation
CreateDomainResponse EndCreateDomain(IAsyncResult asyncResult);
#endregion
#region DeleteAttributes
///
/// Deletes one or more attributes associated with an item. If all attributes of the
/// item are deleted, the item is deleted.
///
///
///
/// DeleteAttributes
is an idempotent operation; running it multiple times
/// on the same item or attribute does not result in an error response.
///
///
///
/// Because Amazon SimpleDB makes multiple copies of item data and uses an eventual consistency
/// update model, performing a GetAttributes or Select operation (read)
/// immediately after a DeleteAttributes
or PutAttributes operation
/// (write) might not return updated item data.
///
///
/// Container for the necessary parameters to execute the DeleteAttributes service method.
///
/// The response from the DeleteAttributes service method, as returned by SimpleDB.
///
/// The specified attribute does not exist.
///
///
/// The value for a parameter is invalid.
///
///
/// The request must contain the specified missing parameter.
///
///
/// The specified domain does not exist.
///
/// REST API Reference for DeleteAttributes Operation
DeleteAttributesResponse DeleteAttributes(DeleteAttributesRequest request);
///
/// Initiates the asynchronous execution of the DeleteAttributes operation.
///
///
/// Container for the necessary parameters to execute the DeleteAttributes operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteAttributes
/// operation.
/// REST API Reference for DeleteAttributes Operation
IAsyncResult BeginDeleteAttributes(DeleteAttributesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DeleteAttributes operation.
///
///
/// The IAsyncResult returned by the call to BeginDeleteAttributes.
///
/// Returns a DeleteAttributesResult from SimpleDB.
/// REST API Reference for DeleteAttributes Operation
DeleteAttributesResponse EndDeleteAttributes(IAsyncResult asyncResult);
#endregion
#region DeleteDomain
///
/// The DeleteDomain
operation deletes a domain. Any items (and their attributes)
/// in the domain are deleted as well. The DeleteDomain
operation might take
/// 10 or more seconds to complete.
///
/// Container for the necessary parameters to execute the DeleteDomain service method.
///
/// The response from the DeleteDomain service method, as returned by SimpleDB.
///
/// The request must contain the specified missing parameter.
///
/// REST API Reference for DeleteDomain Operation
DeleteDomainResponse DeleteDomain(DeleteDomainRequest request);
///
/// Initiates the asynchronous execution of the DeleteDomain operation.
///
///
/// Container for the necessary parameters to execute the DeleteDomain operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteDomain
/// operation.
/// REST API Reference for DeleteDomain Operation
IAsyncResult BeginDeleteDomain(DeleteDomainRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DeleteDomain operation.
///
///
/// The IAsyncResult returned by the call to BeginDeleteDomain.
///
/// Returns a DeleteDomainResult from SimpleDB.
/// REST API Reference for DeleteDomain Operation
DeleteDomainResponse EndDeleteDomain(IAsyncResult asyncResult);
#endregion
#region DomainMetadata
///
/// Returns information about the domain, including when the domain was created, the
/// number of items and attributes in the domain, and the size of the attribute names
/// and values.
///
/// Container for the necessary parameters to execute the DomainMetadata service method.
///
/// The response from the DomainMetadata service method, as returned by SimpleDB.
///
/// The request must contain the specified missing parameter.
///
///
/// The specified domain does not exist.
///
/// REST API Reference for DomainMetadata Operation
DomainMetadataResponse DomainMetadata(DomainMetadataRequest request);
///
/// Initiates the asynchronous execution of the DomainMetadata operation.
///
///
/// Container for the necessary parameters to execute the DomainMetadata operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDomainMetadata
/// operation.
/// REST API Reference for DomainMetadata Operation
IAsyncResult BeginDomainMetadata(DomainMetadataRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DomainMetadata operation.
///
///
/// The IAsyncResult returned by the call to BeginDomainMetadata.
///
/// Returns a DomainMetadataResult from SimpleDB.
/// REST API Reference for DomainMetadata Operation
DomainMetadataResponse EndDomainMetadata(IAsyncResult asyncResult);
#endregion
#region GetAttributes
///
/// Returns all of the attributes associated with the specified item. Optionally, the
/// attributes returned can be limited to one or more attributes by specifying an attribute
/// name parameter.
///
///
///
/// If the item does not exist on the replica that was accessed for this operation, an
/// empty set is returned. The system does not return an error as it cannot guarantee
/// the item does not exist on other replicas.
///
///
/// Container for the necessary parameters to execute the GetAttributes service method.
///
/// The response from the GetAttributes service method, as returned by SimpleDB.
///
/// The value for a parameter is invalid.
///
///
/// The request must contain the specified missing parameter.
///
///
/// The specified domain does not exist.
///
/// REST API Reference for GetAttributes Operation
GetAttributesResponse GetAttributes(GetAttributesRequest request);
///
/// Initiates the asynchronous execution of the GetAttributes operation.
///
///
/// Container for the necessary parameters to execute the GetAttributes operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetAttributes
/// operation.
/// REST API Reference for GetAttributes Operation
IAsyncResult BeginGetAttributes(GetAttributesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetAttributes operation.
///
///
/// The IAsyncResult returned by the call to BeginGetAttributes.
///
/// Returns a GetAttributesResult from SimpleDB.
/// REST API Reference for GetAttributes Operation
GetAttributesResponse EndGetAttributes(IAsyncResult asyncResult);
#endregion
#region ListDomains
///
/// The ListDomains
operation lists all domains associated with the Access
/// Key ID. It returns domain names up to the limit set by MaxNumberOfDomains.
/// A NextToken is returned if there are more than MaxNumberOfDomains
/// domains. Calling ListDomains
successive times with the NextToken
/// provided by the operation returns up to MaxNumberOfDomains
more domain
/// names with each successive operation call.
///
///
/// The response from the ListDomains service method, as returned by SimpleDB.
///
/// The specified NextToken is not valid.
///
///
/// The value for a parameter is invalid.
///
/// REST API Reference for ListDomains Operation
ListDomainsResponse ListDomains();
///
/// The ListDomains
operation lists all domains associated with the Access
/// Key ID. It returns domain names up to the limit set by MaxNumberOfDomains.
/// A NextToken is returned if there are more than MaxNumberOfDomains
/// domains. Calling ListDomains
successive times with the NextToken
/// provided by the operation returns up to MaxNumberOfDomains
more domain
/// names with each successive operation call.
///
/// Container for the necessary parameters to execute the ListDomains service method.
///
/// The response from the ListDomains service method, as returned by SimpleDB.
///
/// The specified NextToken is not valid.
///
///
/// The value for a parameter is invalid.
///
/// REST API Reference for ListDomains Operation
ListDomainsResponse ListDomains(ListDomainsRequest request);
///
/// Initiates the asynchronous execution of the ListDomains operation.
///
///
/// Container for the necessary parameters to execute the ListDomains operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListDomains
/// operation.
/// REST API Reference for ListDomains Operation
IAsyncResult BeginListDomains(ListDomainsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListDomains operation.
///
///
/// The IAsyncResult returned by the call to BeginListDomains.
///
/// Returns a ListDomainsResult from SimpleDB.
/// REST API Reference for ListDomains Operation
ListDomainsResponse EndListDomains(IAsyncResult asyncResult);
#endregion
#region PutAttributes
///
/// The PutAttributes operation creates or replaces attributes in an item. The client
/// may specify new attributes using a combination of the Attribute.X.Name
/// and Attribute.X.Value
parameters. The client specifies the first attribute
/// by the parameters Attribute.0.Name
and Attribute.0.Value
,
/// the second attribute by the parameters Attribute.1.Name
and Attribute.1.Value
,
/// and so on.
///
///
///
/// Attributes are uniquely identified in 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 Attribute.X.Name
and Attribute.X.Value
/// are the same.
///
///
///
/// Optionally, the requestor can supply the Replace
parameter for each
/// individual attribute. Setting this value to true
causes the new attribute
/// value to replace the existing attribute value(s). For example, if an item has the
/// attributes { 'a', '1' }
, { 'b', '2'}
and { 'b', '3'
/// }
and the requestor calls PutAttributes
using the attributes {
/// 'b', '4' }
with the Replace
parameter set to true, the final attributes
/// of the item are changed to { 'a', '1' }
and { 'b', '4' }
,
/// which replaces the previous values of the 'b' attribute with the new value.
///
///
///
/// You cannot specify an empty string as an attribute name.
///
///
///
/// Because Amazon SimpleDB makes multiple copies of client data and uses an eventual
/// consistency update model, an immediate GetAttributes or Select operation
/// (read) immediately after a PutAttributes or DeleteAttributes operation
/// (write) might not return the updated data.
///
///
///
/// The following limitations are enforced for this operation: - 256 total attribute
/// name-value pairs per item
- One billion attributes per domain
- 10 GB
/// of total user data storage per domain
///
///
/// Container for the necessary parameters to execute the PutAttributes service method.
///
/// The response from the PutAttributes service method, as returned by SimpleDB.
///
/// The specified attribute does not exist.
///
///
/// The value for a parameter is invalid.
///
///
/// The request must contain the specified missing parameter.
///
///
/// The specified domain does not exist.
///
///
/// Too many attributes in this domain.
///
///
/// Too many bytes in this domain.
///
///
/// Too many attributes in this item.
///
/// REST API Reference for PutAttributes Operation
PutAttributesResponse PutAttributes(PutAttributesRequest request);
///
/// Initiates the asynchronous execution of the PutAttributes operation.
///
///
/// Container for the necessary parameters to execute the PutAttributes operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutAttributes
/// operation.
/// REST API Reference for PutAttributes Operation
IAsyncResult BeginPutAttributes(PutAttributesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the PutAttributes operation.
///
///
/// The IAsyncResult returned by the call to BeginPutAttributes.
///
/// Returns a PutAttributesResult from SimpleDB.
/// REST API Reference for PutAttributes Operation
PutAttributesResponse EndPutAttributes(IAsyncResult asyncResult);
#endregion
#region Select
///
/// The Select
operation returns a set of attributes for ItemNames
/// that match the select expression. Select
is similar to the standard SQL
/// SELECT statement.
///
///
///
/// The total size of the response cannot exceed 1 MB in total size. Amazon SimpleDB
/// automatically adjusts the number of items returned per page to enforce this limit.
/// For example, if the client asks to retrieve 2500 items, but each individual item is
/// 10 kB in size, the system returns 100 items and an appropriate NextToken
/// so the client can access the next page of results.
///
///
///
/// For information on how to construct select expressions, see Using Select to Create
/// Amazon SimpleDB Queries in the Developer Guide.
///
///
/// Container for the necessary parameters to execute the Select service method.
///
/// The response from the Select service method, as returned by SimpleDB.
///
/// The specified NextToken is not valid.
///
///
/// Too many predicates exist in the query expression.
///
///
/// Too many predicates exist in the query expression.
///
///
/// The value for a parameter is invalid.
///
///
/// The specified query expression syntax is not valid.
///
///
/// The request must contain the specified missing parameter.
///
///
/// The specified domain does not exist.
///
///
/// A timeout occurred when attempting to query the specified domain with specified query
/// expression.
///
///
/// Too many attributes requested.
///
/// REST API Reference for Select Operation
SelectResponse Select(SelectRequest request);
///
/// Initiates the asynchronous execution of the Select operation.
///
///
/// Container for the necessary parameters to execute the Select operation on AmazonSimpleDBClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSelect
/// operation.
/// REST API Reference for Select Operation
IAsyncResult BeginSelect(SelectRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the Select operation.
///
///
/// The IAsyncResult returned by the call to BeginSelect.
///
/// Returns a SelectResult from SimpleDB.
/// REST API Reference for Select Operation
SelectResponse EndSelect(IAsyncResult asyncResult);
#endregion
}
}