mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-19 16:15:07 +00:00
Previously Alternator, when emit Amazon's ARN would not stick to the standard. After our attempt to run KCL with scylla we discovered few issues. Amazon's ARN looks like this: arn:partition:service:region:account-id:resource-type/resource-id for example: arn:aws:dynamodb:us-west-2:111122223333:table/TestTable/stream/2015-05-11T21:21:33.291 KCL checks for: - ARN provided from Alternator calls must fit with basic Amazon's ARN pattern shown above, - region constisting only of lower letter alphabets and `-`, no underscore character - account-id being only digits (exactly 12) - service being `dynamodb` - partition starting with `aws` The patch updates our code handling ARNs to match those findings. 1. Split `stream_arn` object into `stream_arn` - ARN for streams only and `stream_shard_id` - id value for stream shards. The latter receives original implementation. The former emits and parses ARN in a Amazon style. for example: 2. Update new `stream_arn` class to encode keyspace and table together separating them by `@`. New ARN looks like this: arn:aws:dynamodb:us-east-1:000000000000:table/TestKeyspace@TestTable/stream/2015-05-11T21:21:33.291 3. hardcode `dynamodb` as service, `aws` as partition, `us-east-1` as region and `000000000000` as account-id (must have 12 digits) 4. Update code handling ARNs for tags manipulation to be able to parse Amazon's style ARNs. Emiting code is left intact - the parser is now capable of parsing both styles. 5. Added unit tests. Fixes #28350 Fixes: SCYLLADB-539 Fixes: #28142 Closes scylladb/scylladb#28187