Source code for saltext.vcf.modules.vcf_vcenter_content_library

"""Execution module for vCenter Content Library."""

from saltext.vcf.clients import vcenter_content_library as c

__virtualname__ = "vcf_vcenter_content_library"


def __virtual__():
    return __virtualname__


[docs] def list_(profile=None): """List . CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.list_ """ return c.list_(__opts__, profile=profile)
[docs] def get(library_id, profile=None): """Get. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.get <library_id> """ return c.get(__opts__, library_id, profile=profile)
[docs] def list_local(profile=None): """List local. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.list_local """ return c.list_local(__opts__, profile=profile)
[docs] def create_local(name, storage_backings, profile=None, **spec): """Create local. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.create_local <name> <storage_backings> """ return c.create_local(__opts__, name, storage_backings, profile=profile, **spec)
[docs] def delete_local(library_id, profile=None): """Delete local. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.delete_local <library_id> """ return c.delete_local(__opts__, library_id, profile=profile)
[docs] def list_subscribed(profile=None): """List subscribed. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.list_subscribed """ return c.list_subscribed(__opts__, profile=profile)
[docs] def create_subscribed(name, subscription_url, storage_backings, profile=None, **spec): """Create subscribed. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.create_subscribed <name> <subscription_url> <storage_backings> """ return c.create_subscribed( __opts__, name, subscription_url, storage_backings, profile=profile, **spec )
[docs] def list_items(library_id, profile=None): """List items. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.list_items <library_id> """ return c.list_items(__opts__, library_id, profile=profile)
[docs] def get_item(item_id, profile=None): """Get item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.get_item <item_id> """ return c.get_item(__opts__, item_id, profile=profile)
[docs] def delete_item(item_id, profile=None): """Delete item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.delete_item <item_id> """ return c.delete_item(__opts__, item_id, profile=profile)
# -- library write paths --------------------------------------------------
[docs] def update_local(library_id, spec, profile=None): """PATCH a local library. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_local <library_id> spec='{"name": "new"}' """ return c.update_local(__opts__, library_id, spec, profile=profile)
[docs] def update_subscribed(library_id, spec, profile=None): """PATCH a subscribed library. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_subscribed <library_id> spec='{...}' """ return c.update_subscribed(__opts__, library_id, spec, profile=profile)
[docs] def sync_subscribed(library_id, profile=None): """Force a subscribed library to sync. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.sync_subscribed <library_id> """ return c.sync_subscribed(__opts__, library_id, profile=profile)
[docs] def publish_library(library_id, subscriptions=None, profile=None): """Publish a local library to subscribers (all subscribers if *subscriptions* is None). CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.publish_library <library_id> """ return c.publish_library(__opts__, library_id, subscriptions=subscriptions, profile=profile)
[docs] def find_libraries(name=None, type=None, profile=None): # pylint: disable=redefined-builtin """Search libraries by name/type. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.find_libraries name=base type=LOCAL """ return c.find_libraries(__opts__, name=name, type=type, profile=profile)
# -- item write paths -----------------------------------------------------
[docs] def create_item(library_id, name, type, profile=None, **spec): # pylint: disable=redefined-builtin """Create an empty library item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.create_item <library_id> myitem ovf """ return c.create_item(__opts__, library_id, name, type, profile=profile, **spec)
[docs] def update_item(item_id, spec, profile=None): """PATCH a library item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_item <item_id> spec='{"name": "new"}' """ return c.update_item(__opts__, item_id, spec, profile=profile)
[docs] def find_items( library_id=None, name=None, type=None, profile=None ): # pylint: disable=redefined-builtin """Search items by library, name, and/or type. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.find_items library_id=<id> name=foo """ return c.find_items(__opts__, library_id=library_id, name=name, type=type, profile=profile)
# -- update sessions ------------------------------------------------------
[docs] def update_session_create(item_id, profile=None, **spec): """Open an update session against an item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_create <item_id> """ return c.update_session_create(__opts__, item_id, profile=profile, **spec)
[docs] def update_session_get(session_id, profile=None): """Return update session status. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_get <session_id> """ return c.update_session_get(__opts__, session_id, profile=profile)
[docs] def update_session_complete(session_id, profile=None): """Mark an update session complete (commits uploads). CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_complete <session_id> """ return c.update_session_complete(__opts__, session_id, profile=profile)
[docs] def update_session_cancel(session_id, profile=None): """Cancel an update session (discards uploads). CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_cancel <session_id> """ return c.update_session_cancel(__opts__, session_id, profile=profile)
[docs] def update_session_fail(session_id, error, profile=None): """Mark an update session failed with *error*. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_fail <session_id> 'error message' """ return c.update_session_fail(__opts__, session_id, error, profile=profile)
[docs] def update_session_keep_alive(session_id, profile=None): """Refresh an update session lease. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_keep_alive <session_id> """ return c.update_session_keep_alive(__opts__, session_id, profile=profile)
[docs] def update_session_add_file(session_id, name, source_type="PUSH", profile=None, **spec): """Register a file for upload in an update session. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_add_file <session_id> disk.vmdk """ return c.update_session_add_file( __opts__, session_id, name, source_type=source_type, profile=profile, **spec )
[docs] def update_session_list_files(session_id, profile=None): """List files registered in an update session. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.update_session_list_files <session_id> """ return c.update_session_list_files(__opts__, session_id, profile=profile)
# -- OVF deploy / create_from_vm ------------------------------------------
[docs] def ovf_deploy(library_item_id, deployment_target, deployment_spec, profile=None, timeout=1800): """Deploy an OVF library item to a vCenter target. *timeout* — request timeout in seconds (default 1800). Override when a deploy is known to take longer (very large OVAs, slow storage). CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.ovf_deploy <item_id> '{"resource_pool_id": "..."}' '{"name": "vm-1"}' """ return c.ovf_deploy( __opts__, library_item_id, deployment_target, deployment_spec, profile=profile, timeout=timeout, )
[docs] def ovf_filter(library_item_id, deployment_target, profile=None): """Return inventory bindings for an OVF item against a deployment target. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.ovf_filter <item_id> '{"resource_pool_id": "..."}' """ return c.ovf_filter(__opts__, library_item_id, deployment_target, profile=profile)
[docs] def ovf_create_from_vm(vm_id, create_spec, profile=None): """Export a VM as a new OVF library item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.ovf_create_from_vm <vm_id> '{...}' """ return c.ovf_create_from_vm(__opts__, vm_id, create_spec, profile=profile)
# -- VM template library items (vSphere 6.7+) -----------------------------
[docs] def vm_template_get(item_id, profile=None): """Return a VM-template library item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.vm_template_get <item_id> """ return c.vm_template_get(__opts__, item_id, profile=profile)
[docs] def vm_template_create(create_spec, profile=None): """Capture a VM as a new VM-template library item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.vm_template_create '{...}' """ return c.vm_template_create(__opts__, create_spec, profile=profile)
[docs] def vm_template_deploy(item_id, deploy_spec, profile=None): """Deploy a new VM from a VM-template library item. CLI Example: .. code-block:: bash salt '*' vcf_vcenter_content_library.vm_template_deploy <item_id> '{...}' """ return c.vm_template_deploy(__opts__, item_id, deploy_spec, profile=profile)