Push items: AMI

class pushsource.AmiPushItem[source]

A PushItem representing an Amazon Machine Image (or “AMI”).

For push items of this type, the src() attribute refers to a file containing an EBS snapshot. The push item contains additional metadata which can be used to associate the snapshot with an image.

This library does not verify that the referenced file is a valid snapshot.

Attributes:

type

Billing type associated with the image, e.g. “hourly” or “access”.

Type:

str

region

Region to which this image should be pushed.

Type:

str

virtualization

Virtualization type, e.g. “hvm” or “pv”.

Type:

str

volume

EBS volume type, e.g. “gp2” or “io1”.

Type:

str

root_device

Root device node used with this image, e.g. “/dev/sda1”.

Type:

str

sriov_net_support

“simple” if the image is SRIOV-enabled.

Type:

str

ena_support

True if the image supports Elastic Network Adapter (ENA).

Type:

bool

uefi_support

True if the image supports UEFI boot.

Type:

bool

billing_codes

Billing codes associated with this image.

Type:

AmiBillingCodes

release_notes

“Notes regarding changes in the newest version.

Type:

str

usage_instructions

Step by step instructions for the end-user to launch, configure and access the product.

Write with a less-technical customer in mind.

Type:

str

recommended_instance_type

Recommended instance type for AMI e.g. “t2.micro”, “r6a.large”

Type:

str

marketplace_entity_type

Type of entity e.g. “AMIProduct”, “SaasProduct”, “ServerProduct”.

Type:

str

image_id

AMI Image ID used to reference the image in AWS.

Type:

str

public_image

True if the image is allowed to be released publicly (shared with group “all”).

Type:

bool

scanning_port

AMI scanning port, used when importing the AMI into AWS Marketplace to validate the AMI.

Type:

int

user_name

The username used to login to the AMI. (Usually set to ec2-user)

Type:

str

version_title

The title given to a version. This will display in AWS Marketplace as the name of the version.

Type:

str

security_groups

Automatically created security groups for the product.

Type:

list

access_endpoint_url

Access endpoint url associated with this image.

Type:

AmiAccessEndpointUrl

class pushsource.AmiRelease[source]

Release metadata associated with an AMI.

This class has the same attributes as VMIRelease and it’s only kept for backwards compatibility.

Attributes:

  • arch()

  • base_product()

  • base_version()

  • date()

  • product()

  • respin()

  • type()

  • variant()

  • version()

class pushsource.AmiBillingCodes[source]

Billing codes associated with an AMI.

Attributes:

name

Billing codes name, for example Hourly2, arbitrary string for making image name unique.

Type:

str

codes

List of billing codes, for example [‘bp-1234abcd’, ‘bp-5678efgh’].

Type:

list[str]

class pushsource.AmiSecurityGroup[source]

Security group information to be associated with a Marketplace VM.

Attributes:

from_port

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

Type:

int

ip_protocol

The IP protocol name ( tcp , udp , icmp , icmpv6 ).

Type:

str

ip_ranges

List of the IPv4 ranges, for example [‘22.22.22.22’, ‘33.33.33.33’].

Type:

list[str]

to_port

If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes..

Type:

int

class pushsource.AmiAccessEndpointUrl[source]

Access Endpoint URL to be associated with a Marketplace VM.

Attributes:

port

Port to access the endpoint URL.

Type:

int

protocol

Protocol to access the endpoint URL (http, https).

Type:

str