def Run(self, args): """Run 'runtime-configs waiters describe'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: The requested waiter. Raises: HttpException: An http error response was received while executing api request. """ waiter_client = util.WaiterClient() messages = util.Messages() waiter_resource = util.ParseWaiterName(args.name, args) project = waiter_resource.projectsId config = waiter_resource.configsId name = waiter_resource.Name() result = waiter_client.Get( messages.RuntimeconfigProjectsConfigsWaitersGetRequest( projectsId=project, configsId=config, waitersId=name, )) return util.FormatWaiter(result)
def Run(self, args): """Run 'runtime-configs waiters delete'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Raises: HttpException: An http error response was received while executing api request. """ waiter_client = util.WaiterClient() messages = util.Messages() waiter_resource = util.ParseWaiterName(args.name, args) project = waiter_resource.projectsId config = waiter_resource.configsId name = waiter_resource.Name() waiter_client.Delete( messages.RuntimeconfigProjectsConfigsWaitersDeleteRequest( projectsId=project, configsId=config, waitersId=name, ) ) log.DeletedResource(waiter_resource)
def Run(self, args): """Run 'runtime-configs waiters list'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Yields: The list of waiters. Raises: HttpException: An http error response was received while executing api request. """ waiter_client = util.WaiterClient() messages = util.Messages() config_resource = util.ParseConfigName(util.ConfigName(args)) request = messages.RuntimeconfigProjectsConfigsWaitersListRequest( parent=config_resource.RelativeName(), ) page_size = args.page_size or self.DEFAULT_PAGE_SIZE results = list_pager.YieldFromList( waiter_client, request, field='waiters', batch_size_attribute='pageSize', limit=args.limit, batch_size=page_size ) for result in results: yield util.FormatWaiter(result)
def Run(self, args): """Run 'runtime-configs waiters create'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Returns: The associated waiter operation. Raises: HttpException: An http error response was received while executing api request. """ waiter_client = util.WaiterClient() messages = util.Messages() waiter_resource = util.ParseWaiterName(args.name, args) project = waiter_resource.projectsId config = waiter_resource.configsId name = waiter_resource.Name() success = messages.EndCondition(cardinality=messages.Cardinality( path=args.success_cardinality_path, number=args.success_cardinality_number, )) if args.failure_cardinality_path: failure = messages.EndCondition(cardinality=messages.Cardinality( path=args.failure_cardinality_path, number=args.failure_cardinality_number, )) else: failure = None result = waiter_client.Create( messages.RuntimeconfigProjectsConfigsWaitersCreateRequest( projectsId=project, configsId=config, waiter=messages.Waiter( name=util.WaiterPath(project, config, name), timeout='{0}s'.format(args.timeout), success=success, failure=failure, ))) log.CreatedResource(waiter_resource) if args. async: # In async mode, we return the current waiter representation. # The waiter resource exists immediately after creation; the # operation resource returned from CreateWaiter only tracks the # waiting process. self._async_resource = waiter_resource result = waiter_client.Get(waiter_resource.Request()) else: self._async_resource = None result = util.WaitForWaiter(waiter_resource) if util.IsFailedWaiter(result): self.exit_code = 2 # exit with code 2 if the result waiter failed. return util.FormatWaiter(result)