Push items: VMI

class pushsource.VMIPushItem[source]

A PushItem representing a generic VM image.

This class is used as a parent class for different types of VM images.

Attributes:

release

Release metadata associated with this image.

description

A brief human-readable description of the image.

Type:

str

boot_mode

uefi, legacy, or hybrid (uefi + legacy).

Type:

Boot mode supported by the image (if known)

cloud_info

Cloud provider information, such as the provider’s short name and account alias.

Type:

VMICloudInfo

marketplace_title_template

The template is of the form used by str.format, with available keywords being all of the documented fields on VMIRelease and AMIRelease classes.

It’s used by the property marketplace_title to format it as the marketplace title.

Type:

str

marketplace_name

Name of the marketplace where the Image is expected to be shipped.

Type:

str

property marketplace_title: str

The marketplace title which is used for some certain layered products.

It’s built from the marketplace_title_template by formatting it with the proper values.

class pushsource.VMIRelease[source]

Release metadata associated with a VM image.

Attributes:

product

A short product name, for example “RHEL” if this is an image for Red Hat Enterprise Linux.

Type:

str

date

Date at which this image was generated.

Type:

date

arch

Architecture of the image, for example “x86_64”.

Type:

str

respin

Respin count. 0 for original build of an image, incremented by one for each rebuild.

Type:

int

version

A <major>.<minor> version string for the image’s product version, for example “7.9” if this is an image for Red Hat Enterprise Linux 7.9.x.

Type:

str

base_product

For layered products, name of the base product for which the image should be used.

Type:

str

base_version

For layered products, version of the base product for which the image should be used.

Type:

str

variant

Variant of this image’s product (only for products which have variants). For example, “Server”, for Red Hat Enterprise Linux Server.

Type:

str

type

Release type, typically “ga” or “beta”.

Type:

str

class pushsource.VMICloudInfo[source]

Information on the cloud provider associated with a given push item.

Cloud provider information is only available for VMIs which have previously been published to a cloud. It may be used to locate an existing VMI for manipulation, such as metadata updates or deletion.

This library doesn’t define any specific cloud provider names or aliases. Generally, a user of this library is expected to use the information here to look up cloud access details from a configuration file or other source.

Attributes:

provider

“aws”.

Type:

The cloud provider’s name, e.g.

account

“aws-na”.

Type:

The cloud provider’s account alias, e.g.

class pushsource.BootMode[source]

Represent the possible boot modes for VM images.

hybrid = 'hybrid'

Supports both UEFI and BIOS mode.

uefi = 'uefi'

Supports only UEFI mode.

legacy = 'legacy'

Supports only BIOS mode.