def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) messages = holder.client.messages groups_client = node_groups.NodeGroupsClient( holder.client.apitools_client, messages, holder.resources) node_group_ref = flags.MakeNodeGroupArg().ResolveAsResource( args, holder.resources, scope_lister=compute_flags.GetDefaultScopeLister(holder.client)) autoscaling_policy = (hasattr(args, 'autoscaler_mode') and args.IsSpecified('autoscaler_mode')) or \ (hasattr(args, 'min_nodes') and args.IsSpecified('min_nodes')) or \ (hasattr(args, 'max_nodes') and args.IsSpecified('max_nodes')) share_setting = hasattr(args, 'share_setting') and hasattr( args, 'share_with') and (args.IsSpecified('share_setting') or args.IsSpecified('share_with')) return groups_client.Update( node_group_ref, node_template=args.node_template, additional_node_count=args.add_nodes, delete_nodes=args.delete_nodes, autoscaling_policy_args=args if autoscaling_policy else None, share_setting_args=args if share_setting else None)
def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) messages = holder.client.messages groups_client = node_groups.NodeGroupsClient( holder.client.apitools_client, messages, holder.resources) node_group_ref = flags.MakeNodeGroupArg().ResolveAsResource( args, holder.resources, scope_lister=compute_flags.GetDefaultScopeLister(holder.client)) return groups_client.Update(node_group_ref, node_template=args.node_template, additional_node_count=args.add_nodes, delete_node_indexes=args.delete_nodes)