OsinfoDeployment

## OsinfoDeployment OsinfoDeployment — An virtualization deployment |

## Synopsis

    struct              OsinfoDeployment;
    struct              OsinfoDeploymentClass;
    OsinfoDeployment *  osinfo_deployment_new               (const gchar *id,
                                                             OsinfoOs *os,
                                                             OsinfoPlatform *platform);
    OsinfoOs *          osinfo_deployment_get_os            (OsinfoDeployment *deployment);
    OsinfoPlatform *    osinfo_deployment_get_platform      (OsinfoDeployment *deployment);
    OsinfoDevice *      osinfo_deployment_get_preferred_device
                                                            (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);
    OsinfoDeviceLink *  osinfo_deployment_get_preferred_device_link
                                                            (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);
    OsinfoDeviceList *  osinfo_deployment_get_devices       (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);
    OsinfoDeviceLinkList * osinfo_deployment_get_device_links
                                                            (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);
    OsinfoDeviceLink *  osinfo_deployment_add_device        (OsinfoDeployment *deployment,
                                                             OsinfoDevice *dev);

## Object Hierarchy

      GObject
       +----OsinfoEntity
             +----OsinfoDeployment

## Properties

      "os"                       OsinfoOs*             : Read / Write / Construct Only
      "platform"                 OsinfoPlatform*       : Read / Write / Construct Only

## Description

OsinfoDeployment is an entity representing an virtualization deployment. Deployments have a list of supported devices

## Details

### struct OsinfoDeployment

    struct OsinfoDeployment;

### struct OsinfoDeploymentClass

    struct OsinfoDeploymentClass {
    };

### osinfo_deployment_new ()

    OsinfoDeployment *  osinfo_deployment_new               (const gchar *id,
                                                             OsinfoOs *os,
                                                             OsinfoPlatform *platform);

Create a new deployment entity

`id` : | the unique identifier
`os` : | the operating system to deploy
`platform` : | the platform to deploy on
Returns : | A deployment entity. [transfer full]

### osinfo_deployment_get_os ()

    OsinfoOs *          osinfo_deployment_get_os            (OsinfoDeployment *deployment);

Get the operating system for the deployment

`deployment` : | the deployment entity
Returns : | an OS, or NULL. [transfer none]

### osinfo_deployment_get_platform ()

    OsinfoPlatform *    osinfo_deployment_get_platform      (OsinfoDeployment *deployment);

Get the platform for the deployment

`deployment` : | the deployment entity
Returns : | a platform, or NULL. [transfer none]

### osinfo_deployment_get_preferred_device ()

    OsinfoDevice *      osinfo_deployment_get_preferred_device
                                                            (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);

Get the preferred device matching a given filter

`deployment` : | the deployment entity
`filter` : | a device metadata filter. [transfer none][allow-none]
Returns : | a device, or NULL. [transfer none]

### osinfo_deployment_get_preferred_device_link ()

    OsinfoDeviceLink *  osinfo_deployment_get_preferred_device_link
                                                            (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);

Get the preferred device link matching a given filter and platform. The filter matches against attributes on the link, not the device.

`deployment` : | the deployment entity
`filter` : | a device metadata filter. [transfer none][allow-none]
Returns : | a device, or NULL. [transfer none]

### osinfo_deployment_get_devices ()

    OsinfoDeviceList *  osinfo_deployment_get_devices       (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);

Retrieve all the associated devices matching the filter. The filter matches against the device, not the link.

`deployment` : | a deployment entity
`filter` : | an optional filter. [transfer none][allow-none]
Returns : | a list of OsinfoDevice entities. [transfer full]

### osinfo_deployment_get_device_links ()

    OsinfoDeviceLinkList * osinfo_deployment_get_device_links
                                                            (OsinfoDeployment *deployment,
                                                             OsinfoFilter *filter);

Retrieve all the associated devices matching the filter. The filter matches against the link, not the device.

`deployment` : | a deployment entity
`filter` : | an optional filter. [transfer none][allow-none]
Returns : | a list of OsinfoDevice entities. [transfer full]

### osinfo_deployment_add_device ()

    OsinfoDeviceLink *  osinfo_deployment_add_device        (OsinfoDeployment *deployment,
                                                             OsinfoDevice *dev);

Associate a device with a deployment. The returned OsinfoDeviceLink can be used to record extra metadata against the link

`deployment` : | a deployment entity
`dev` : | the device to associate. [transfer none]
Returns : | the device association. [transfer none]

## Property Details

### The `"os"` property

      "os"                       OsinfoOs*             : Read / Write / Construct Only

The operating system to be deployed

### The `"platform"` property

      "platform"                 OsinfoPlatform*       : Read / Write / Construct Only

The platform to deploy on

## See Also

OsinfoOs, OsinfoDeployment