Skip to content

ericmaustin/aws_arn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simple-arn

PyPI version

A simple AWS ARN parsing and serialization package.

Supports python 3.7+ or 3.6 with the dataclasses backport.

Motivation

Other AWS ARN parsing libraries provide parsing functionality but lack the ability to serialize the parsed ARN back into a string.

Sometimes it is necessary to swap parts of arn strings in the case of resource migration automation and this package provides a simple way to do this:

from simple_arn import AwsArn

arn = AwsArn.parse("arn:aws:iam::123456789012:user/MyUserName")\
    .clone(resource="MyOtherUserName")

print(str(arn)) # prints: arn:aws:iam::123456789012:user/MyOtherUserName

Installation

install from PyPI: pip install simple-arn

Usage

This package provides the functionality to parse AWS ARNs into a dataclass AwsArn and AwsArn objects can be serialized back into arn strings by simply calling the object's __str__ method.

AwsArn objects expose a clone method allowing for copies of AwsArn objects with modified attributes.

Example:

from simple_arn import AwsArn

arn = AwsArn.parse("arn:aws:iam::123456789012:user/MyUserName")
print(str(arn)) # prints: arn:aws:iam::123456789012:user/MyUserName

# clone the arn with a different resource
arn2 = arn.clone(resource="MyOtherUserName")
print(str(arn2)) # prints: arn:aws:iam::123456789012:user/MyOtherUserName

About

ARN parser lib for python 3.7+

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published