Skip to content

Commit 56e49bd

Browse files
authored
Add documentation on top of classes (#924)
* Add documentation on top of classes * Add changelog * remove debug code
1 parent 48fa0f2 commit 56e49bd

File tree

85 files changed

+572
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+572
-0
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## NOT RELEASED
44

5+
### Added
6+
7+
- Added documentation in class's headers.
8+
59
## 1.0.1
610

711
### Fixed

src/Enum/AttributeAction.php

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,50 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* Specifies how to perform the update. Valid values are `PUT` (default), `DELETE`, and `ADD`. The behavior depends on
7+
* whether the specified primary key already exists in the table.
8+
* **If an item with the specified *Key* is found in the table:**.
9+
*
10+
* - `PUT` - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.
11+
* - `DELETE` - If no value is specified, the attribute and its value are removed from the item. The data type of the
12+
* specified value must match the existing value's data type.
13+
* If a *set* of values is specified, then those values are subtracted from the old set. For example, if the attribute
14+
* value was the set `[a,b,c]` and the `DELETE` action specified `[a,c]`, then the final attribute value would be
15+
* `[b]`. Specifying an empty set is an error.
16+
* - `ADD` - If the attribute does not already exist, then the attribute and its values are added to the item. If the
17+
* attribute does exist, then the behavior of `ADD` depends on the data type of the attribute:
18+
*
19+
* - If the existing attribute is a number, and if `Value` is also a number, then the `Value` is mathematically added
20+
* to the existing attribute. If `Value` is a negative number, then it is subtracted from the existing attribute.
21+
*
22+
* > If you use `ADD` to increment or decrement a number value for an item that doesn't exist before the update,
23+
* > DynamoDB uses 0 as the initial value.
24+
* > In addition, if you use `ADD` to update an existing item, and intend to increment or decrement an attribute
25+
* > value which does not yet exist, DynamoDB uses `0` as the initial value. For example, suppose that the item you
26+
* > want to update does not yet have an attribute named *itemcount*, but you decide to `ADD` the number `3` to this
27+
* > attribute anyway, even though it currently does not exist. DynamoDB will create the *itemcount* attribute, set
28+
* > its initial value to `0`, and finally add `3` to it. The result will be a new *itemcount* attribute in the
29+
* > item, with a value of `3`.
30+
*
31+
* - If the existing data type is a set, and if the `Value` is also a set, then the `Value` is added to the existing
32+
* set. (This is a *set* operation, not mathematical addition.) For example, if the attribute value was the set
33+
* `[1,2]`, and the `ADD` action specified `[3]`, then the final attribute value would be `[1,2,3]`. An error occurs
34+
* if an Add action is specified for a set attribute and the attribute type specified does not match the existing
35+
* set type.
36+
* Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the
37+
* `Value` must also be a set of strings. The same holds true for number sets and binary sets.
38+
*
39+
* This action is only valid for an existing attribute whose data type is number or is a set. Do not use `ADD` for any
40+
* other data types.
41+
*
42+
* **If no item with the specified *Key* is found:**
43+
*
44+
* - `PUT` - DynamoDB creates a new item with the specified primary key, and then adds the attribute.
45+
* - `DELETE` - Nothing happens; there is no attribute to delete.
46+
* - `ADD` - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute
47+
* value. The only data types allowed are number and number set; no other data types can be specified.
48+
*/
549
final class AttributeAction
650
{
751
public const ADD = 'ADD';

src/Enum/BillingMode.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed
7+
* later.
8+
*
9+
* - `PROVISIONED` - We recommend using `PROVISIONED` for predictable workloads. `PROVISIONED` sets the billing mode to
10+
* Provisioned Mode.
11+
* - `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for unpredictable workloads. `PAY_PER_REQUEST` sets the
12+
* billing mode to On-Demand Mode.
13+
*
14+
* @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
15+
* @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
16+
*/
517
final class BillingMode
618
{
719
public const PAY_PER_REQUEST = 'PAY_PER_REQUEST';

src/Enum/ComparisonOperator.php

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,86 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* A comparator for evaluating attributes in the `AttributeValueList`. For example, equals, greater than, less than,
7+
* etc.
8+
* The following comparison operators are available:
9+
* `EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN`
10+
* The following are descriptions of each comparison operator.
11+
*
12+
* - `EQ` : Equal. `EQ` is supported for all data types, including lists and maps.
13+
* `AttributeValueList` can contain only one `AttributeValue` element of type String, Number, Binary, String Set,
14+
* Number Set, or Binary Set. If an item contains an `AttributeValue` element of a different type than the one
15+
* provided in the request, the value does not match. For example, `{"S":"6"}` does not equal `{"N":"6"}`. Also,
16+
* `{"N":"6"}` does not equal `{"NS":["6", "2", "1"]}`.
17+
* - `NE` : Not equal. `NE` is supported for all data types, including lists and maps.
18+
* `AttributeValueList` can contain only one `AttributeValue` of type String, Number, Binary, String Set, Number Set,
19+
* or Binary Set. If an item contains an `AttributeValue` of a different type than the one provided in the request,
20+
* the value does not match. For example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}` does not equal
21+
* `{"NS":["6", "2", "1"]}`.
22+
* - `LE` : Less than or equal.
23+
* `AttributeValueList` can contain only one `AttributeValue` element of type String, Number, or Binary (not a set
24+
* type). If an item contains an `AttributeValue` element of a different type than the one provided in the request,
25+
* the value does not match. For example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}` does not compare
26+
* to `{"NS":["6", "2", "1"]}`.
27+
* - `LT` : Less than.
28+
* `AttributeValueList` can contain only one `AttributeValue` of type String, Number, or Binary (not a set type). If
29+
* an item contains an `AttributeValue` element of a different type than the one provided in the request, the value
30+
* does not match. For example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}` does not compare to
31+
* `{"NS":["6", "2", "1"]}`.
32+
* - `GE` : Greater than or equal.
33+
* `AttributeValueList` can contain only one `AttributeValue` element of type String, Number, or Binary (not a set
34+
* type). If an item contains an `AttributeValue` element of a different type than the one provided in the request,
35+
* the value does not match. For example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}` does not compare
36+
* to `{"NS":["6", "2", "1"]}`.
37+
* - `GT` : Greater than.
38+
* `AttributeValueList` can contain only one `AttributeValue` element of type String, Number, or Binary (not a set
39+
* type). If an item contains an `AttributeValue` element of a different type than the one provided in the request,
40+
* the value does not match. For example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}` does not compare
41+
* to `{"NS":["6", "2", "1"]}`.
42+
* - `NOT_NULL` : The attribute exists. `NOT_NULL` is supported for all data types, including lists and maps.
43+
*
44+
* > This operator tests for the existence of an attribute, not its data type. If the data type of attribute "`a`" is
45+
* > null, and you evaluate it using `NOT_NULL`, the result is a Boolean `true`. This result is because the attribute
46+
* > "`a`" exists; its data type is not relevant to the `NOT_NULL` comparison operator.
47+
*
48+
* - `NULL` : The attribute does not exist. `NULL` is supported for all data types, including lists and maps.
49+
*
50+
* > This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute "`a`"
51+
* > is null, and you evaluate it using `NULL`, the result is a Boolean `false`. This is because the attribute "`a`"
52+
* > exists; its data type is not relevant to the `NULL` comparison operator.
53+
*
54+
* - `CONTAINS` : Checks for a subsequence, or value in a set.
55+
* `AttributeValueList` can contain only one `AttributeValue` element of type String, Number, or Binary (not a set
56+
* type). If the target attribute of the comparison is of type String, then the operator checks for a substring match.
57+
* If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the
58+
* target that matches the input. If the target attribute of the comparison is a set ("`SS`", "`NS`", or "`BS`"), then
59+
* the operator evaluates to true if it finds an exact match with any member of the set.
60+
* CONTAINS is supported for lists: When evaluating "`a CONTAINS b`", "`a`" can be a list; however, "`b`" cannot be a
61+
* set, a map, or a list.
62+
* - `NOT_CONTAINS` : Checks for absence of a subsequence, or absence of a value in a set.
63+
* `AttributeValueList` can contain only one `AttributeValue` element of type String, Number, or Binary (not a set
64+
* type). If the target attribute of the comparison is a String, then the operator checks for the absence of a
65+
* substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a
66+
* subsequence of the target that matches the input. If the target attribute of the comparison is a set ("`SS`",
67+
* "`NS`", or "`BS`"), then the operator evaluates to true if it *does not* find an exact match with any member of the
68+
* set.
69+
* NOT_CONTAINS is supported for lists: When evaluating "`a NOT CONTAINS b`", "`a`" can be a list; however, "`b`"
70+
* cannot be a set, a map, or a list.
71+
* - `BEGINS_WITH` : Checks for a prefix.
72+
* `AttributeValueList` can contain only one `AttributeValue` of type String or Binary (not a Number or a set type).
73+
* The target attribute of the comparison must be of type String or Binary (not a Number or a set type).
74+
* - `IN` : Checks for matching elements in a list.
75+
* `AttributeValueList` can contain one or more `AttributeValue` elements of type String, Number, or Binary. These
76+
* attributes are compared against an existing attribute of an item. If any elements of the input are equal to the
77+
* item attribute, the expression evaluates to true.
78+
* - `BETWEEN` : Greater than or equal to the first value, and less than or equal to the second value.
79+
* `AttributeValueList` must contain two `AttributeValue` elements of the same type, either String, Number, or Binary
80+
* (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element
81+
* and less than, or equal to, the second element. If an item contains an `AttributeValue` element of a different type
82+
* than the one provided in the request, the value does not match. For example, `{"S":"6"}` does not compare to
83+
* `{"N":"6"}`. Also, `{"N":"6"}` does not compare to `{"NS":["6", "2", "1"]}`
84+
*/
585
final class ComparisonOperator
686
{
787
public const BEGINS_WITH = 'BEGINS_WITH';

src/Enum/ConditionalOperator.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* This is a legacy parameter. Use `ConditionExpression` instead. For more information, see ConditionalOperator in the
7+
* *Amazon DynamoDB Developer Guide*.
8+
*
9+
* @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html
10+
*/
511
final class ConditionalOperator
612
{
713
public const AND = 'AND';

src/Enum/IndexStatus.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* The current state of the global secondary index:.
7+
*
8+
* - `CREATING` - The index is being created.
9+
* - `UPDATING` - The index is being updated.
10+
* - `DELETING` - The index is being deleted.
11+
* - `ACTIVE` - The index is ready for use.
12+
*/
513
final class IndexStatus
614
{
715
public const ACTIVE = 'ACTIVE';

src/Enum/KeyType.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* The role that this key attribute will assume:.
7+
*
8+
* - `HASH` - partition key
9+
* - `RANGE` - sort key
10+
*
11+
* > The partition key of an item is also known as its *hash attribute*. The term "hash attribute" derives from
12+
* > DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their
13+
* > partition key values.
14+
* > The sort key of an item is also known as its *range attribute*. The term "range attribute" derives from the way
15+
* > DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.
16+
*/
517
final class KeyType
618
{
719
public const HASH = 'HASH';

src/Enum/ProjectionType.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* The set of attributes that are projected into the index:.
7+
*
8+
* - `KEYS_ONLY` - Only the index and primary keys are projected into the index.
9+
* - `INCLUDE` - In addition to the attributes described in `KEYS_ONLY`, the secondary index will include other non-key
10+
* attributes that you specify.
11+
* - `ALL` - All of the table attributes are projected into the index.
12+
*/
513
final class ProjectionType
614
{
715
public const ALL = 'ALL';

src/Enum/ReplicaStatus.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* The current state of the replica:.
7+
*
8+
* - `CREATING` - The replica is being created.
9+
* - `UPDATING` - The replica is being updated.
10+
* - `DELETING` - The replica is being deleted.
11+
* - `ACTIVE` - The replica is ready for use.
12+
* - `REGION_DISABLED` - The replica is inaccessible because the AWS Region has been disabled.
13+
*
14+
* > If the AWS Region remains inaccessible for more than 20 hours, DynamoDB will remove this replica from the
15+
* > replication group. The replica will not be deleted and replication will stop from and to this region.
16+
*
17+
* - `INACCESSIBLE_ENCRYPTION_CREDENTIALS ` - The AWS KMS key used to encrypt the table is inaccessible.
18+
*
19+
* > If the AWS KMS key remains inaccessible for more than 20 hours, DynamoDB will remove this replica from the
20+
* > replication group. The replica will not be deleted and replication will stop from and to this region.
21+
*/
522
final class ReplicaStatus
623
{
724
public const ACTIVE = 'ACTIVE';

src/Enum/ReturnItemCollectionMetrics.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
namespace AsyncAws\DynamoDb\Enum;
44

5+
/**
6+
* Determines whether item collection metrics are returned. If set to `SIZE`, the response includes statistics about
7+
* item collections, if any, that were modified during the operation are returned in the response. If set to `NONE` (the
8+
* default), no statistics are returned.
9+
*/
510
final class ReturnItemCollectionMetrics
611
{
712
public const NONE = 'NONE';

0 commit comments

Comments
 (0)