def _YieldPrintableTypesOrErrors(self, type_providers): """Yield dicts of types list, provider, and (optionally) an error message. Args: type_providers: A list of Type Provider names to grab Type Info messages for. Yields: A dict object with a list of types, a type provider, and (optionally) an error message for display. """ for type_provider in type_providers: request = (dm_beta_base.GetMessages(). DeploymentmanagerTypeProvidersListTypesRequest( project=self.project, typeProvider=type_provider)) try: paginated_types = dm_v2_util.YieldWithHttpExceptions( list_pager.YieldFromList(TypeProviderClient(), request, method='ListTypes', field='types', batch_size=self.page_size, limit=self.limit)) yield {'types': list(paginated_types), 'provider': type_provider} except api_exceptions.HttpException as error: yield {'types': [], 'provider': type_provider, 'error': error.message}
def Run(self, args): """Run 'resources list'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: The list of resources for the specified deployment. Raises: HttpException: An http error response was received while executing api request. """ client = self.context['deploymentmanager-client'] messages = self.context['deploymentmanager-messages'] project = properties.VALUES.core.project.Get(required=True) request = messages.DeploymentmanagerResourcesListRequest( project=project, deployment=args.deployment, ) return dm_v2_util.YieldWithHttpExceptions( list_pager.YieldFromList(client.resources, request, field='resources', limit=args.limit, batch_size=args.page_size))
def Run(self, args): """Run 'types list'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: The list of types for this project. Raises: HttpException: An http error response was received while executing api request. """ type_provider_ref = dm_beta_base.GetResources().Parse( args.provider if args.provider else 'NOT_A_PROVIDER', params={'project': properties.VALUES.core.project.GetOrFail}, collection='deploymentmanager.typeProviders') self.page_size = args.page_size self.limit = args.limit self.project = type_provider_ref.project if not args.provider: type_providers = self._GetTypeProviders() else: type_providers = [type_provider_ref.typeProvider] return dm_v2_util.YieldWithHttpExceptions( self._YieldPrintableTypesOrErrors(type_providers))
def _GetTypeProviders(self): request = (dm_beta_base.GetMessages( ).DeploymentmanagerTypeProvidersListRequest(project=self.project)) providers = dm_v2_util.YieldWithHttpExceptions( list_pager.YieldFromList(TypeProviderClient(), request, field='typeProviders', batch_size=self.page_size, limit=self.limit)) return [provider.name for provider in providers]
def Run(self, args): """Run 'types list'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: The list of types for this project. Raises: HttpException: An http error response was received while executing api request. """ request = dm_base.GetMessages().DeploymentmanagerTypesListRequest( project=dm_base.GetProject()) return dm_v2_util.YieldWithHttpExceptions( list_pager.YieldFromList(dm_base.GetClient().types, request, field='types', batch_size=args.page_size, limit=args.limit))
def Run(self, args): """Run 'operations list'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: The list of operations for this project. Raises: HttpException: An http error response was received while executing api request. """ request = self.messages.DeploymentmanagerOperationsListRequest( project=self.project, ) return dm_v2_util.YieldWithHttpExceptions(list_pager.YieldFromList( self.client.operations, request, field='operations', limit=args.limit, batch_size=args.page_size))
def Run(self, args): """Run 'types list'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: The list of types for this project. Raises: HttpException: An http error response was received while executing api request. """ type_provider_ref = dm_beta_base.GetResources().Parse( args.provider if args.provider else 'NOT_A_PROVIDER', params={'project': properties.VALUES.core.project.GetOrFail}, collection='deploymentmanager.typeProviders') self.page_size = args.page_size self.limit = args.limit if args.provider_project: projects = [args.provider_project] else: # Most users will be interested in the default gcp-types project types, # so by default we want to display those projects = [type_provider_ref.project, GCP_TYPES_PROJECT] type_providers = collections.OrderedDict() if not args.provider: self._GetTypeProviders(projects, type_providers) else: for project in projects: type_providers[project] = [type_provider_ref.typeProvider] return dm_v2_util.YieldWithHttpExceptions( self._YieldPrintableTypesOrErrors(type_providers))