def add_permission_to_layer()

in release_layer.py [0:0]


def add_permission_to_layer(layer_name, region, version, principal=None):
    if not principal:
        principal = '*'
    print('  - Adding permission to use the layer to: ' + principal)
    state_id = 'UniversalReadPermissions' if principal == '*' else 'ReadPermissions-' + principal
    cmd = ['aws', 'lambda', 'add-layer-version-permission',
           '--layer-name', layer_name,
           '--region', region,
           '--version-number', version,
           '--statement-id', state_id,
           '--principal', principal,
           '--action', 'lambda:GetLayerVersion']
    result = subprocess.run(cmd, capture_output=True, text=True)
    if result.returncode != 0:
        print(str(result.stderr))
        raise RuntimeError('Failed to add permission to layer')