boto3-assist 0.32.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. boto3_assist/__init__.py +0 -0
  2. boto3_assist/aws_config.py +199 -0
  3. boto3_assist/aws_lambda/event_info.py +414 -0
  4. boto3_assist/aws_lambda/mock_context.py +5 -0
  5. boto3_assist/boto3session.py +87 -0
  6. boto3_assist/cloudwatch/cloudwatch_connection.py +84 -0
  7. boto3_assist/cloudwatch/cloudwatch_connection_tracker.py +17 -0
  8. boto3_assist/cloudwatch/cloudwatch_log_connection.py +62 -0
  9. boto3_assist/cloudwatch/cloudwatch_logs.py +39 -0
  10. boto3_assist/cloudwatch/cloudwatch_query.py +191 -0
  11. boto3_assist/cognito/cognito_authorizer.py +169 -0
  12. boto3_assist/cognito/cognito_connection.py +59 -0
  13. boto3_assist/cognito/cognito_utility.py +514 -0
  14. boto3_assist/cognito/jwks_cache.py +21 -0
  15. boto3_assist/cognito/user.py +27 -0
  16. boto3_assist/connection.py +146 -0
  17. boto3_assist/connection_tracker.py +120 -0
  18. boto3_assist/dynamodb/dynamodb.py +1206 -0
  19. boto3_assist/dynamodb/dynamodb_connection.py +113 -0
  20. boto3_assist/dynamodb/dynamodb_helpers.py +333 -0
  21. boto3_assist/dynamodb/dynamodb_importer.py +102 -0
  22. boto3_assist/dynamodb/dynamodb_index.py +507 -0
  23. boto3_assist/dynamodb/dynamodb_iservice.py +29 -0
  24. boto3_assist/dynamodb/dynamodb_key.py +130 -0
  25. boto3_assist/dynamodb/dynamodb_model_base.py +382 -0
  26. boto3_assist/dynamodb/dynamodb_model_base_interfaces.py +34 -0
  27. boto3_assist/dynamodb/dynamodb_re_indexer.py +165 -0
  28. boto3_assist/dynamodb/dynamodb_reindexer.py +165 -0
  29. boto3_assist/dynamodb/dynamodb_reserved_words.py +52 -0
  30. boto3_assist/dynamodb/dynamodb_reserved_words.txt +573 -0
  31. boto3_assist/dynamodb/readme.md +68 -0
  32. boto3_assist/dynamodb/troubleshooting.md +7 -0
  33. boto3_assist/ec2/ec2_connection.py +57 -0
  34. boto3_assist/environment_services/__init__.py +0 -0
  35. boto3_assist/environment_services/environment_loader.py +128 -0
  36. boto3_assist/environment_services/environment_variables.py +219 -0
  37. boto3_assist/erc/__init__.py +64 -0
  38. boto3_assist/erc/ecr_connection.py +57 -0
  39. boto3_assist/errors/custom_exceptions.py +46 -0
  40. boto3_assist/http_status_codes.py +80 -0
  41. boto3_assist/models/serializable_model.py +9 -0
  42. boto3_assist/role_assumption_mixin.py +38 -0
  43. boto3_assist/s3/s3.py +64 -0
  44. boto3_assist/s3/s3_bucket.py +67 -0
  45. boto3_assist/s3/s3_connection.py +76 -0
  46. boto3_assist/s3/s3_event_data.py +168 -0
  47. boto3_assist/s3/s3_object.py +695 -0
  48. boto3_assist/securityhub/securityhub.py +150 -0
  49. boto3_assist/securityhub/securityhub_connection.py +57 -0
  50. boto3_assist/session_setup_mixin.py +70 -0
  51. boto3_assist/ssm/connection.py +57 -0
  52. boto3_assist/ssm/parameter_store/parameter_store.py +116 -0
  53. boto3_assist/utilities/datetime_utility.py +349 -0
  54. boto3_assist/utilities/decimal_conversion_utility.py +140 -0
  55. boto3_assist/utilities/dictionary_utility.py +32 -0
  56. boto3_assist/utilities/file_operations.py +135 -0
  57. boto3_assist/utilities/http_utility.py +48 -0
  58. boto3_assist/utilities/logging_utility.py +0 -0
  59. boto3_assist/utilities/numbers_utility.py +329 -0
  60. boto3_assist/utilities/serialization_utility.py +664 -0
  61. boto3_assist/utilities/string_utility.py +337 -0
  62. boto3_assist/version.py +1 -0
  63. boto3_assist-0.32.0.dist-info/METADATA +76 -0
  64. boto3_assist-0.32.0.dist-info/RECORD +67 -0
  65. boto3_assist-0.32.0.dist-info/WHEEL +4 -0
  66. boto3_assist-0.32.0.dist-info/licenses/LICENSE-EXPLAINED.txt +11 -0
  67. boto3_assist-0.32.0.dist-info/licenses/LICENSE.txt +21 -0
@@ -0,0 +1,573 @@
1
+ ABORT
2
+ ABSOLUTE
3
+ ACTION
4
+ ADD
5
+ AFTER
6
+ AGENT
7
+ AGGREGATE
8
+ ALL
9
+ ALLOCATE
10
+ ALTER
11
+ ANALYZE
12
+ AND
13
+ ANY
14
+ ARCHIVE
15
+ ARE
16
+ ARRAY
17
+ AS
18
+ ASC
19
+ ASCII
20
+ ASENSITIVE
21
+ ASSERTION
22
+ ASYMMETRIC
23
+ AT
24
+ ATOMIC
25
+ ATTACH
26
+ ATTRIBUTE
27
+ AUTH
28
+ AUTHORIZATION
29
+ AUTHORIZE
30
+ AUTO
31
+ AVG
32
+ BACK
33
+ BACKUP
34
+ BASE
35
+ BATCH
36
+ BEFORE
37
+ BEGIN
38
+ BETWEEN
39
+ BIGINT
40
+ BINARY
41
+ BIT
42
+ BLOB
43
+ BLOCK
44
+ BOOLEAN
45
+ BOTH
46
+ BREADTH
47
+ BUCKET
48
+ BULK
49
+ BY
50
+ BYTE
51
+ CALL
52
+ CALLED
53
+ CALLING
54
+ CAPACITY
55
+ CASCADE
56
+ CASCADED
57
+ CASE
58
+ CAST
59
+ CATALOG
60
+ CHAR
61
+ CHARACTER
62
+ CHECK
63
+ CLASS
64
+ CLOB
65
+ CLOSE
66
+ CLUSTER
67
+ CLUSTERED
68
+ CLUSTERING
69
+ CLUSTERS
70
+ COALESCE
71
+ COLLATE
72
+ COLLATION
73
+ COLLECTION
74
+ COLUMN
75
+ COLUMNS
76
+ COMBINE
77
+ COMMENT
78
+ COMMIT
79
+ COMPACT
80
+ COMPILE
81
+ COMPRESS
82
+ CONDITION
83
+ CONFLICT
84
+ CONNECT
85
+ CONNECTION
86
+ CONSISTENCY
87
+ CONSISTENT
88
+ CONSTRAINT
89
+ CONSTRAINTS
90
+ CONSTRUCTOR
91
+ CONSUMED
92
+ CONTINUE
93
+ CONVERT
94
+ COPY
95
+ CORRESPONDING
96
+ COUNT
97
+ COUNTER
98
+ CREATE
99
+ CROSS
100
+ CUBE
101
+ CURRENT
102
+ CURSOR
103
+ CYCLE
104
+ DATA
105
+ DATABASE
106
+ DATE
107
+ DATETIME
108
+ DAY
109
+ DEALLOCATE
110
+ DEC
111
+ DECIMAL
112
+ DECLARE
113
+ DEFAULT
114
+ DEFERRABLE
115
+ DEFERRED
116
+ DEFINE
117
+ DEFINED
118
+ DEFINITION
119
+ DELETE
120
+ DELIMITED
121
+ DEPTH
122
+ DEREF
123
+ DESC
124
+ DESCRIBE
125
+ DESCRIPTOR
126
+ DETACH
127
+ DETERMINISTIC
128
+ DIAGNOSTICS
129
+ DIRECTORIES
130
+ DISABLE
131
+ DISCONNECT
132
+ DISTINCT
133
+ DISTRIBUTE
134
+ DO
135
+ DOMAIN
136
+ DOUBLE
137
+ DROP
138
+ DUMP
139
+ DURATION
140
+ DYNAMIC
141
+ EACH
142
+ ELEMENT
143
+ ELSE
144
+ ELSEIF
145
+ EMPTY
146
+ ENABLE
147
+ END
148
+ EQUAL
149
+ EQUALS
150
+ ERROR
151
+ ESCAPE
152
+ ESCAPED
153
+ EVAL
154
+ EVALUATE
155
+ EXCEEDED
156
+ EXCEPT
157
+ EXCEPTION
158
+ EXCEPTIONS
159
+ EXCLUSIVE
160
+ EXEC
161
+ EXECUTE
162
+ EXISTS
163
+ EXIT
164
+ EXPLAIN
165
+ EXPLODE
166
+ EXPORT
167
+ EXPRESSION
168
+ EXTENDED
169
+ EXTERNAL
170
+ EXTRACT
171
+ FAIL
172
+ FALSE
173
+ FAMILY
174
+ FETCH
175
+ FIELDS
176
+ FILE
177
+ FILTER
178
+ FILTERING
179
+ FINAL
180
+ FINISH
181
+ FIRST
182
+ FIXED
183
+ FLATTERN
184
+ FLOAT
185
+ FOR
186
+ FORCE
187
+ FOREIGN
188
+ FORMAT
189
+ FORWARD
190
+ FOUND
191
+ FREE
192
+ FROM
193
+ FULL
194
+ FUNCTION
195
+ FUNCTIONS
196
+ GENERAL
197
+ GENERATE
198
+ GET
199
+ GLOB
200
+ GLOBAL
201
+ GO
202
+ GOTO
203
+ GRANT
204
+ GREATER
205
+ GROUP
206
+ GROUPING
207
+ HANDLER
208
+ HASH
209
+ HAVE
210
+ HAVING
211
+ HEAP
212
+ HIDDEN
213
+ HOLD
214
+ HOUR
215
+ IDENTIFIED
216
+ IDENTITY
217
+ IF
218
+ IGNORE
219
+ IMMEDIATE
220
+ IMPORT
221
+ IN
222
+ INCLUDING
223
+ INCLUSIVE
224
+ INCREMENT
225
+ INCREMENTAL
226
+ INDEX
227
+ INDEXED
228
+ INDEXES
229
+ INDICATOR
230
+ INFINITE
231
+ INITIALLY
232
+ INLINE
233
+ INNER
234
+ INNTER
235
+ INOUT
236
+ INPUT
237
+ INSENSITIVE
238
+ INSERT
239
+ INSTEAD
240
+ INT
241
+ INTEGER
242
+ INTERSECT
243
+ INTERVAL
244
+ INTO
245
+ INVALIDATE
246
+ IS
247
+ ISOLATION
248
+ ITEM
249
+ ITEMS
250
+ ITERATE
251
+ JOIN
252
+ KEY
253
+ KEYS
254
+ LAG
255
+ LANGUAGE
256
+ LARGE
257
+ LAST
258
+ LATERAL
259
+ LEAD
260
+ LEADING
261
+ LEAVE
262
+ LEFT
263
+ LENGTH
264
+ LESS
265
+ LEVEL
266
+ LIKE
267
+ LIMIT
268
+ LIMITED
269
+ LINES
270
+ LIST
271
+ LOAD
272
+ LOCAL
273
+ LOCALTIME
274
+ LOCALTIMESTAMP
275
+ LOCATION
276
+ LOCATOR
277
+ LOCK
278
+ LOCKS
279
+ LOG
280
+ LOGED
281
+ LONG
282
+ LOOP
283
+ LOWER
284
+ MAP
285
+ MATCH
286
+ MATERIALIZED
287
+ MAX
288
+ MAXLEN
289
+ MEMBER
290
+ MERGE
291
+ METHOD
292
+ METRICS
293
+ MIN
294
+ MINUS
295
+ MINUTE
296
+ MISSING
297
+ MOD
298
+ MODE
299
+ MODIFIES
300
+ MODIFY
301
+ MODULE
302
+ MONTH
303
+ MULTI
304
+ MULTISET
305
+ NAME
306
+ NAMES
307
+ NATIONAL
308
+ NATURAL
309
+ NCHAR
310
+ NCLOB
311
+ NEW
312
+ NEXT
313
+ NO
314
+ NONE
315
+ NOT
316
+ NULL
317
+ NULLIF
318
+ NUMBER
319
+ NUMERIC
320
+ OBJECT
321
+ OF
322
+ OFFLINE
323
+ OFFSET
324
+ OLD
325
+ ON
326
+ ONLINE
327
+ ONLY
328
+ OPAQUE
329
+ OPEN
330
+ OPERATOR
331
+ OPTION
332
+ OR
333
+ ORDER
334
+ ORDINALITY
335
+ OTHER
336
+ OTHERS
337
+ OUT
338
+ OUTER
339
+ OUTPUT
340
+ OVER
341
+ OVERLAPS
342
+ OVERRIDE
343
+ OWNER
344
+ PAD
345
+ PARALLEL
346
+ PARAMETER
347
+ PARAMETERS
348
+ PARTIAL
349
+ PARTITION
350
+ PARTITIONED
351
+ PARTITIONS
352
+ PATH
353
+ PERCENT
354
+ PERCENTILE
355
+ PERMISSION
356
+ PERMISSIONS
357
+ PIPE
358
+ PIPELINED
359
+ PLAN
360
+ POOL
361
+ POSITION
362
+ PRECISION
363
+ PREPARE
364
+ PRESERVE
365
+ PRIMARY
366
+ PRIOR
367
+ PRIVATE
368
+ PRIVILEGES
369
+ PROCEDURE
370
+ PROCESSED
371
+ PROJECT
372
+ PROJECTION
373
+ PROPERTY
374
+ PROVISIONING
375
+ PUBLIC
376
+ PUT
377
+ QUERY
378
+ QUIT
379
+ QUORUM
380
+ RAISE
381
+ RANDOM
382
+ RANGE
383
+ RANK
384
+ RAW
385
+ READ
386
+ READS
387
+ REAL
388
+ REBUILD
389
+ RECORD
390
+ RECURSIVE
391
+ REDUCE
392
+ REF
393
+ REFERENCE
394
+ REFERENCES
395
+ REFERENCING
396
+ REGEXP
397
+ REGION
398
+ REINDEX
399
+ RELATIVE
400
+ RELEASE
401
+ REMAINDER
402
+ RENAME
403
+ REPEAT
404
+ REPLACE
405
+ REQUEST
406
+ RESET
407
+ RESIGNAL
408
+ RESOURCE
409
+ RESPONSE
410
+ RESTORE
411
+ RESTRICT
412
+ RESULT
413
+ RETURN
414
+ RETURNING
415
+ RETURNS
416
+ REVERSE
417
+ REVOKE
418
+ RIGHT
419
+ ROLE
420
+ ROLES
421
+ ROLLBACK
422
+ ROLLUP
423
+ ROUTINE
424
+ ROW
425
+ ROWS
426
+ RULE
427
+ RULES
428
+ SAMPLE
429
+ SATISFIES
430
+ SAVE
431
+ SAVEPOINT
432
+ SCAN
433
+ SCHEMA
434
+ SCOPE
435
+ SCROLL
436
+ SEARCH
437
+ SECOND
438
+ SECTION
439
+ SEGMENT
440
+ SEGMENTS
441
+ SELECT
442
+ SELF
443
+ SEMI
444
+ SENSITIVE
445
+ SEPARATE
446
+ SEQUENCE
447
+ SERIALIZABLE
448
+ SESSION
449
+ SET
450
+ SETS
451
+ SHARD
452
+ SHARE
453
+ SHARED
454
+ SHORT
455
+ SHOW
456
+ SIGNAL
457
+ SIMILAR
458
+ SIZE
459
+ SKEWED
460
+ SMALLINT
461
+ SNAPSHOT
462
+ SOME
463
+ SOURCE
464
+ SPACE
465
+ SPACES
466
+ SPARSE
467
+ SPECIFIC
468
+ SPECIFICTYPE
469
+ SPLIT
470
+ SQL
471
+ SQLCODE
472
+ SQLERROR
473
+ SQLEXCEPTION
474
+ SQLSTATE
475
+ SQLWARNING
476
+ START
477
+ STATE
478
+ STATIC
479
+ STATUS
480
+ STORAGE
481
+ STORE
482
+ STORED
483
+ STREAM
484
+ STRING
485
+ STRUCT
486
+ STYLE
487
+ SUB
488
+ SUBMULTISET
489
+ SUBPARTITION
490
+ SUBSTRING
491
+ SUBTYPE
492
+ SUM
493
+ SUPER
494
+ SYMMETRIC
495
+ SYNONYM
496
+ SYSTEM
497
+ TABLE
498
+ TABLESAMPLE
499
+ TEMP
500
+ TEMPORARY
501
+ TERMINATED
502
+ TEXT
503
+ THAN
504
+ THEN
505
+ THROUGHPUT
506
+ TIME
507
+ TIMESTAMP
508
+ TIMEZONE
509
+ TINYINT
510
+ TO
511
+ TOKEN
512
+ TOTAL
513
+ TOUCH
514
+ TRAILING
515
+ TRANSACTION
516
+ TRANSFORM
517
+ TRANSLATE
518
+ TRANSLATION
519
+ TREAT
520
+ TRIGGER
521
+ TRIM
522
+ TRUE
523
+ TRUNCATE
524
+ TTL
525
+ TUPLE
526
+ TYPE
527
+ UNDER
528
+ UNDO
529
+ UNION
530
+ UNIQUE
531
+ UNIT
532
+ UNKNOWN
533
+ UNLOGGED
534
+ UNNEST
535
+ UNPROCESSED
536
+ UNSIGNED
537
+ UNTIL
538
+ UPDATE
539
+ UPPER
540
+ URL
541
+ USAGE
542
+ USE
543
+ USER
544
+ USERS
545
+ USING
546
+ UUID
547
+ VACUUM
548
+ VALUE
549
+ VALUED
550
+ VALUES
551
+ VARCHAR
552
+ VARIABLE
553
+ VARIANCE
554
+ VARINT
555
+ VARYING
556
+ VIEW
557
+ VIEWS
558
+ VIRTUAL
559
+ VOID
560
+ WAIT
561
+ WHEN
562
+ WHENEVER
563
+ WHERE
564
+ WHILE
565
+ WINDOW
566
+ WITH
567
+ WITHIN
568
+ WITHOUT
569
+ WORK
570
+ WRAPPED
571
+ WRITE
572
+ YEAR
573
+ ZONE
@@ -0,0 +1,68 @@
1
+ # DynamoDB Library
2
+
3
+
4
+
5
+ ## Debugging Locally with Docker
6
+
7
+ Make sure you have Docker installed and it's running before completing the following steps.
8
+
9
+ ### Steps to Run DynamoDB Local with Docker
10
+ 1. Pull the DynamoDB Local Docker Image:
11
+
12
+ - Open a terminal or command prompt and run the following command to pull the DynamoDB Local Docker image from the Docker Hub:
13
+
14
+
15
+ ```sh
16
+ docker pull amazon/dynamodb-local
17
+ ```
18
+
19
+ 2. Run the DynamoDB Local Docker Container:
20
+
21
+ - To start a container with DynamoDB Local, use the following command:
22
+
23
+
24
+ ```sh
25
+ docker run -d -p 8000:8000 amazon/dynamodb-local
26
+ ```
27
+
28
+
29
+ - This command runs the container in detached mode (-d) and maps port 8000 of the container to port 8000 on your local machine (-p 8000:8000).
30
+
31
+ 3. Verify the Container is Running:
32
+
33
+ - You can check if the container is running with the following command:
34
+
35
+ ```sh
36
+ docker ps
37
+ ```
38
+
39
+ - You should see the `amazon/dynamodb-local` container listed.
40
+
41
+ 4. Configure AWS CLI or SDKs to Use Local DynamoDB:
42
+
43
+ - When using AWS CLI:
44
+
45
+ ```sh
46
+ aws dynamodb list-tables --endpoint-url http://localhost:8000
47
+ ```
48
+
49
+ - When using AWS SDKs in your application, set the endpoint to <http://localhost:8000.> For example, in Python using Boto3:
50
+
51
+
52
+ ```python
53
+ import boto3
54
+ dynamodb = boto3.resource('dynamodb', endpoint_url='http://localhost:8000')
55
+ ```
56
+ -
57
+
58
+
59
+
60
+ ```sh
61
+ docker run -d --name scylla-dynamodb \
62
+ -p 8000:8000 \
63
+ scylladb/scylla --alternator-port=8000 \
64
+ --alternator-write-isolation=always_use_lwt \
65
+ --developer-mode 1
66
+
67
+
68
+ ```
@@ -0,0 +1,7 @@
1
+
2
+
3
+ 1. Unable to locate credentials. You can configure credentials by running "aws configure".
4
+
5
+ - out of the blue, this started happening
6
+ - depending on how you are connecting boto3 may require a credentials file
7
+ - running "aws configure" and simply puttting in some garbage may fix the issue.
@@ -0,0 +1,57 @@
1
+ """
2
+ Geek Cafe, LLC
3
+ Maintainers: Eric Wilson
4
+ MIT License. See Project Root for the license information.
5
+ """
6
+
7
+ from typing import Optional
8
+ from typing import TYPE_CHECKING
9
+
10
+ from aws_lambda_powertools import Logger
11
+
12
+ from boto3_assist.connection import Connection
13
+
14
+ if TYPE_CHECKING:
15
+ from mypy_boto3_ec2 import Client
16
+ else:
17
+ Client = object
18
+
19
+
20
+ logger = Logger()
21
+
22
+
23
+ class EC2Connection(Connection):
24
+ """EC2 Connection"""
25
+
26
+ def __init__(
27
+ self,
28
+ *,
29
+ aws_profile: Optional[str] = None,
30
+ aws_region: Optional[str] = None,
31
+ aws_access_key_id: Optional[str] = None,
32
+ aws_secret_access_key: Optional[str] = None,
33
+ ) -> None:
34
+ super().__init__(
35
+ service_name="ec2",
36
+ aws_profile=aws_profile,
37
+ aws_region=aws_region,
38
+ aws_access_key_id=aws_access_key_id,
39
+ aws_secret_access_key=aws_secret_access_key,
40
+ )
41
+
42
+ self.__client: Client | None = None
43
+
44
+ self.raise_on_error: bool = True
45
+
46
+ @property
47
+ def client(self) -> Client:
48
+ """Client Connection"""
49
+ if self.__client is None:
50
+ self.__client = self.session.client
51
+
52
+ return self.__client
53
+
54
+ @client.setter
55
+ def client(self, value: Client):
56
+ logger.info("Setting Client")
57
+ self.__client = value
File without changes