本文整理汇总了Python中pyvcloud.vcd.org.Org.list_catalogs方法的典型用法代码示例。如果您正苦于以下问题:Python Org.list_catalogs方法的具体用法?Python Org.list_catalogs怎么用?Python Org.list_catalogs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyvcloud.vcd.org.Org
的用法示例。
在下文中一共展示了Org.list_catalogs方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_catalog
# 需要导入模块: from pyvcloud.vcd.org import Org [as 别名]
# 或者: from pyvcloud.vcd.org.Org import list_catalogs [as 别名]
def create_catalog(cls):
"""Creates a catalog by the name specified in the configuration file.
Skips creating one, if such a catalog already exists.
:raises: Exception: if the class variable _org_href is not populated.
"""
cls._basic_check()
if cls._org_href is None:
raise Exception('Org ' + cls._config['vcd']['default_org_name'] +
' doesn\'t exist.')
try:
catalog_author_client = Environment.get_client_in_default_org(
CommonRoles.CATALOG_AUTHOR)
org = Org(catalog_author_client, href=cls._org_href)
catalog_name = cls._config['vcd']['default_catalog_name']
catalog_records = org.list_catalogs()
for catalog_record in catalog_records:
if catalog_record.get('name') == catalog_name:
cls._logger.debug('Reusing existing catalog ' +
catalog_name)
return
cls._logger.debug('Creating new catalog ' + catalog_name)
catalog_resource = org.create_catalog(
name=catalog_name, description='')
catalog_author_client.get_task_monitor().wait_for_success(
task=catalog_resource.Tasks.Task[0])
finally:
catalog_author_client.logout()
示例2: share_catalog
# 需要导入模块: from pyvcloud.vcd.org import Org [as 别名]
# 或者: from pyvcloud.vcd.org.Org import list_catalogs [as 别名]
def share_catalog(cls):
"""Shares the test catalog with all members in the test organization.
:raises: Exception: if the class variable _org_href is not populated.
:raises: EntityNotFoundException: if the catalog in question is
missing.
"""
cls._basic_check()
if cls._org_href is None:
raise Exception('Org ' + cls._config['vcd']['default_org_name'] +
' doesn\'t exist.')
try:
catalog_author_client = Environment.get_client_in_default_org(
CommonRoles.CATALOG_AUTHOR)
org = Org(catalog_author_client, href=cls._org_href)
catalog_name = cls._config['vcd']['default_catalog_name']
catalog_records = org.list_catalogs()
for catalog_record in catalog_records:
if catalog_record.get('name') == catalog_name:
cls._logger.debug('Sharing catalog ' + catalog_name + ' to'
' all members of org ' + org.get_name())
org.share_catalog_with_org_members(
catalog_name=catalog_name)
return
raise EntityNotFoundException('Catalog ' + catalog_name +
'doesn\'t exist.')
finally:
catalog_author_client.logout()
示例3: list_catalogs_or_items
# 需要导入模块: from pyvcloud.vcd.org import Org [as 别名]
# 或者: from pyvcloud.vcd.org.Org import list_catalogs [as 别名]
def list_catalogs_or_items(ctx, catalog_name):
try:
restore_session(ctx)
client = ctx.obj['client']
if catalog_name is None:
in_use_org_href = ctx.obj['profiles'].get('org_href')
org = Org(client, in_use_org_href)
result = org.list_catalogs()
else:
result = []
if is_sysadmin(ctx):
resource_type = ResourceType.ADMIN_CATALOG_ITEM.value
else:
resource_type = ResourceType.CATALOG_ITEM.value
q = client.get_typed_query(
resource_type,
query_result_format=QueryResultFormat.ID_RECORDS,
equality_filter=('catalogName', catalog_name))
records = list(q.execute())
if len(records) == 0:
result = 'not found'
else:
for r in records:
result.append(to_dict(r, resource_type=resource_type))
stdout(result, ctx)
except Exception as e:
stderr(e, ctx)