Skip to main content

pyawsutils

pyawsutils is a collection of utilities for interacting with Amazon Web Services.

PyPI - Format PyPI - Python Version PyPI - License

Overview

pyawsutils is available:

Usage

pyawsutils is intended as a library but could also be used stand-alone as a CLI. Its primary consumer is iotprovision. Make sure you have the AWS CLI installed and run aws configure first to setup your profile.

Command-line interface

pyawsutils has 4 actions with different options. See help and examples below for more details.

Getting help:

pyawsutils --help

register-mar action

The register-mar action supports AWS Multi account registration(MAR) of your device certificate(s) with your AWS profile.

Example:

pyawsutils register-mar -c mycertificate.pem --policy-name mypolicy

register-jitr action

The register-jitr action uses Just-In-Time-Registration(JITR) of device certificates on AWS IoT

Example:

pyawsutils register-jitr

create-policy action

The create-policy action lets you create policies that can be used with your MAR setup and AWS IoT account.

Example:

pyawsutils create-policy --policy mypolicy.json --policy-name mypolicy

Clean action

The clean action let you delete all certificates and things in your AWS IoT account.

Example:

pyawsutils clean  

Library

pyawsutils can be used as a library by instantiating any of the contained classes.

Register device for custom provisioning with MAR

The mar module enables registering a device in AWS by using multi account registration(MAR). The policy module contains policy helper functions. For example:

from pyawsutils.mar import aws_mar
from pyawsutils.policy import Policy

device_cert_file = "my_device.crt"
my_policy = "my_policy"
templatefile = "my_policytemplate.json"

# Read policy template file
with open(templatefile, "r") as myfile:
    policy_template = myfile.read()

# Create AWS policy
aws_policy_tool = Policy()
aws_policy_tool.create_policy(my_policy, policy_template)

# Register device certificate without CA for custom provisioning with MAR.
aws_mar_tool = aws_mar()
aws_mar_tool.create_device(certificate_file=device_cert_file,
                           policy_name=my_policy,
                           thing_type=None)

Register signer with AWS for custom provisioning

The register_signer module enables registering a signer in the AWS cloud.

from pyawsutils.register_signer import register_signer

# Register signer with AWS. For custom provisioning only.
register_signer(signer_ca_key_path=signer_ca_key_file,
                signer_ca_cert_path=signer_ca_cert_file,
                signer_ca_ver_cert_path=signer_ca_ver_cert_file,
                aws_profile="default")

Setup an AWS Just-in-Time Registration(JITR) account

The aws_cloudformation module contains functions using AWS Cloudformation to setup a JITR account. Example setting up a lambda function with JITR code.

from pyawsutils.aws_cloudformation import setup_aws_jitr_account
# Setup AWS account for JITR, using Cloudformation and uploading Lambda pack with JITR code
setup_aws_jitr_account(force=force_setup)

Cleaner utility

The clean module contains functions to delete certificates, things and policies from your account.

from pyawsutils.clean import AccountCleaner
clean_tool = AccountCleaner(profile_name)
clean_tool.cleanup()

Versioning

pyawsutils version can be determined by:

from pyawsutils.version import VERSION as pyawsutils_version
print("pyawsutils version {}".format(pyawsutils_version))

Release files for pyawsutils 1.1.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for pyawsutils 1.1.0.7
File Interpreter ABI Platform
pyawsutils-1.1.0.7-py3-none-any.whl Python 3 none any Details

Release files / pyawsutils-1.1.0.7-py3-none-any.whl

Download URL pyawsutils-1.1.0.7-py3-none-any.whl
Size 4.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1cb7b1b02cc92cc435e4d6939a401e93a98b61c486ec2507fc68e9095bc743ed
BLAKE2b-256 checksum
How to use checksums
df4d45c5b2d382c5cadf6ec624fb35671c81a82f511bf95f76f56ce01e798827
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.6

Release history Release notifications | RSS feed

This release

1.1.0.7 This release

1 release file

0.0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page