File Coverage

blib/lib/Paws/DynamoDB/CreateTable.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1              
2             package Paws::DynamoDB::CreateTable;
3 1     1   546 use Moose;
  1     1   3  
  1         8  
  1         671  
  1         4  
  1         12  
4             has AttributeDefinitions => (is => 'ro', isa => 'ArrayRef[Paws::DynamoDB::AttributeDefinition]', required => 1);
5             has GlobalSecondaryIndexes => (is => 'ro', isa => 'ArrayRef[Paws::DynamoDB::GlobalSecondaryIndex]');
6             has KeySchema => (is => 'ro', isa => 'ArrayRef[Paws::DynamoDB::KeySchemaElement]', required => 1);
7             has LocalSecondaryIndexes => (is => 'ro', isa => 'ArrayRef[Paws::DynamoDB::LocalSecondaryIndex]');
8             has ProvisionedThroughput => (is => 'ro', isa => 'Paws::DynamoDB::ProvisionedThroughput', required => 1);
9             has StreamSpecification => (is => 'ro', isa => 'Paws::DynamoDB::StreamSpecification');
10             has TableName => (is => 'ro', isa => 'Str', required => 1);
11              
12 1     1   7308 use MooseX::ClassAttribute;
  1     1   3  
  1         11  
  1         7380  
  1         3  
  1         9  
13              
14             class_has _api_call => (isa => 'Str', is => 'ro', default => 'CreateTable');
15             class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::DynamoDB::CreateTableOutput');
16             class_has _result_key => (isa => 'Str', is => 'ro');
17             1;
18              
19             ### main pod documentation begin ###
20              
21             =head1 NAME
22              
23             Paws::DynamoDB::CreateTable - Arguments for method CreateTable on Paws::DynamoDB
24              
25             =head1 DESCRIPTION
26              
27             This class represents the parameters used for calling the method CreateTable on the
28             Amazon DynamoDB service. Use the attributes of this class
29             as arguments to method CreateTable.
30              
31             You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateTable.
32              
33             As an example:
34              
35             $service_obj->CreateTable(Att1 => $value1, Att2 => $value2, ...);
36              
37             Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object.
38              
39             =head1 ATTRIBUTES
40              
41              
42             =head2 B<REQUIRED> AttributeDefinitions => ArrayRef[L<Paws::DynamoDB::AttributeDefinition>]
43              
44             An array of attributes that describe the key schema for the table and
45             indexes.
46              
47              
48              
49             =head2 GlobalSecondaryIndexes => ArrayRef[L<Paws::DynamoDB::GlobalSecondaryIndex>]
50              
51             One or more global secondary indexes (the maximum is five) to be
52             created on the table. Each global secondary index in the array includes
53             the following:
54              
55             =over
56              
57             =item *
58              
59             C<IndexName> - The name of the global secondary index. Must be unique
60             only for this table.
61              
62             =item *
63              
64             C<KeySchema> - Specifies the key schema for the global secondary index.
65              
66             =item *
67              
68             C<Projection> - Specifies attributes that are copied (projected) from
69             the table into the index. These are in addition to the primary key
70             attributes and index key attributes, which are automatically projected.
71             Each attribute specification is composed of:
72              
73             =over
74              
75             =item *
76              
77             C<ProjectionType> - One of the following:
78              
79             =over
80              
81             =item *
82              
83             C<KEYS_ONLY> - Only the index and primary keys are projected into the
84             index.
85              
86             =item *
87              
88             C<INCLUDE> - Only the specified table attributes are projected into the
89             index. The list of projected attributes are in C<NonKeyAttributes>.
90              
91             =item *
92              
93             C<ALL> - All of the table attributes are projected into the index.
94              
95             =back
96              
97             =item *
98              
99             C<NonKeyAttributes> - A list of one or more non-key attribute names
100             that are projected into the secondary index. The total count of
101             attributes provided in C<NonKeyAttributes>, summed across all of the
102             secondary indexes, must not exceed 20. If you project the same
103             attribute into two different indexes, this counts as two distinct
104             attributes when determining the total.
105              
106             =back
107              
108             =item *
109              
110             C<ProvisionedThroughput> - The provisioned throughput settings for the
111             global secondary index, consisting of read and write capacity units.
112              
113             =back
114              
115              
116              
117              
118             =head2 B<REQUIRED> KeySchema => ArrayRef[L<Paws::DynamoDB::KeySchemaElement>]
119              
120             Specifies the attributes that make up the primary key for a table or an
121             index. The attributes in C<KeySchema> must also be defined in the
122             C<AttributeDefinitions> array. For more information, see Data Model in
123             the I<Amazon DynamoDB Developer Guide>.
124              
125             Each C<KeySchemaElement> in the array is composed of:
126              
127             =over
128              
129             =item *
130              
131             C<AttributeName> - The name of this key attribute.
132              
133             =item *
134              
135             C<KeyType> - The role that the key attribute will assume:
136              
137             =over
138              
139             =item *
140              
141             C<HASH> - partition key
142              
143             =item *
144              
145             C<RANGE> - sort key
146              
147             =back
148              
149             =back
150              
151             The partition key of an item is also known as its I<hash attribute>.
152             The term "hash attribute" derives from DynamoDB' usage of an internal
153             hash function to evenly distribute data items across partitions, based
154             on their partition key values.
155              
156             The sort key of an item is also known as its I<range attribute>. The
157             term "range attribute" derives from the way DynamoDB stores items with
158             the same partition key physically close together, in sorted order by
159             the sort key value.
160              
161             For a simple primary key (partition key), you must provide exactly one
162             element with a C<KeyType> of C<HASH>.
163              
164             For a composite primary key (partition key and sort key), you must
165             provide exactly two elements, in this order: The first element must
166             have a C<KeyType> of C<HASH>, and the second element must have a
167             C<KeyType> of C<RANGE>.
168              
169             For more information, see Specifying the Primary Key in the I<Amazon
170             DynamoDB Developer Guide>.
171              
172              
173              
174             =head2 LocalSecondaryIndexes => ArrayRef[L<Paws::DynamoDB::LocalSecondaryIndex>]
175              
176             One or more local secondary indexes (the maximum is five) to be created
177             on the table. Each index is scoped to a given partition key value.
178             There is a 10 GB size limit per partition key value; otherwise, the
179             size of a local secondary index is unconstrained.
180              
181             Each local secondary index in the array includes the following:
182              
183             =over
184              
185             =item *
186              
187             C<IndexName> - The name of the local secondary index. Must be unique
188             only for this table.
189              
190             =item *
191              
192             C<KeySchema> - Specifies the key schema for the local secondary index.
193             The key schema must begin with the same partition key as the table.
194              
195             =item *
196              
197             C<Projection> - Specifies attributes that are copied (projected) from
198             the table into the index. These are in addition to the primary key
199             attributes and index key attributes, which are automatically projected.
200             Each attribute specification is composed of:
201              
202             =over
203              
204             =item *
205              
206             C<ProjectionType> - One of the following:
207              
208             =over
209              
210             =item *
211              
212             C<KEYS_ONLY> - Only the index and primary keys are projected into the
213             index.
214              
215             =item *
216              
217             C<INCLUDE> - Only the specified table attributes are projected into the
218             index. The list of projected attributes are in C<NonKeyAttributes>.
219              
220             =item *
221              
222             C<ALL> - All of the table attributes are projected into the index.
223              
224             =back
225              
226             =item *
227              
228             C<NonKeyAttributes> - A list of one or more non-key attribute names
229             that are projected into the secondary index. The total count of
230             attributes provided in C<NonKeyAttributes>, summed across all of the
231             secondary indexes, must not exceed 20. If you project the same
232             attribute into two different indexes, this counts as two distinct
233             attributes when determining the total.
234              
235             =back
236              
237             =back
238              
239              
240              
241              
242             =head2 B<REQUIRED> ProvisionedThroughput => L<Paws::DynamoDB::ProvisionedThroughput>
243              
244             Represents the provisioned throughput settings for a specified table or
245             index. The settings can be modified using the C<UpdateTable> operation.
246              
247             For current minimum and maximum provisioned throughput values, see
248             Limits in the I<Amazon DynamoDB Developer Guide>.
249              
250              
251              
252             =head2 StreamSpecification => L<Paws::DynamoDB::StreamSpecification>
253              
254             The settings for DynamoDB Streams on the table. These settings consist
255             of:
256              
257             =over
258              
259             =item *
260              
261             C<StreamEnabled> - Indicates whether Streams is to be enabled (true) or
262             disabled (false).
263              
264             =item *
265              
266             C<StreamViewType> - When an item in the table is modified,
267             C<StreamViewType> determines what information is written to the table's
268             stream. Valid values for C<StreamViewType> are:
269              
270             =over
271              
272             =item *
273              
274             C<KEYS_ONLY> - Only the key attributes of the modified item are written
275             to the stream.
276              
277             =item *
278              
279             C<NEW_IMAGE> - The entire item, as it appears after it was modified, is
280             written to the stream.
281              
282             =item *
283              
284             C<OLD_IMAGE> - The entire item, as it appeared before it was modified,
285             is written to the stream.
286              
287             =item *
288              
289             C<NEW_AND_OLD_IMAGES> - Both the new and the old item images of the
290             item are written to the stream.
291              
292             =back
293              
294             =back
295              
296              
297              
298              
299             =head2 B<REQUIRED> TableName => Str
300              
301             The name of the table to create.
302              
303              
304              
305              
306             =head1 SEE ALSO
307              
308             This class forms part of L<Paws>, documenting arguments for method CreateTable in L<Paws::DynamoDB>
309              
310             =head1 BUGS and CONTRIBUTIONS
311              
312             The source code is located here: https://github.com/pplu/aws-sdk-perl
313              
314             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
315              
316             =cut
317