def Modify(self, args, existing): ref = flags.GLOBAL_REGIONAL_BACKEND_SERVICE_ARG.ResolveAsResource( args, self.resources, scope_lister=compute_flags.GetDefaultScopeLister( self.compute_client)) backend_flags.WarnOnDeprecatedFlags(args) replacement = copy.deepcopy(existing) group_ref = self.CreateGroupReference(args) group_uri = group_ref.SelfLink() for backend in existing.backends: if group_uri == backend.group: raise exceptions.ToolException( 'Backend [{0}] in zone [{1}] already exists in backend service ' '[{2}].'.format(group_ref.Name(), group_ref.zone, ref.Name())) if args.balancing_mode: balancing_mode = self.messages.Backend.BalancingModeValueValuesEnum( args.balancing_mode) else: balancing_mode = None backend = self.CreateBackendMessage(group_uri, balancing_mode, args) replacement.backends.append(backend) return replacement
def Modify(self, args, existing): backend_flags.WarnOnDeprecatedFlags(args) replacement = copy.deepcopy(existing) group_ref = self.CreateGroupReference(args) group_uri = group_ref.SelfLink() backend_idx = None for i, backend in enumerate(existing.backends): if group_uri == backend.group: backend_idx = i if backend_idx is None: scope_value = getattr(group_ref, 'region', None) if scope_value is None: scope_value = getattr(group_ref, 'zone', None) scope = 'zone' else: scope = 'region' raise exceptions.ToolException( 'Backend [{0}] in {1} [{2}] is not a backend of backend service ' '[{3}].'.format(group_ref.Name(), scope, scope_value, self.ref.Name())) else: replacement.backends.pop(backend_idx) return replacement
def Modify(self, args, existing): """Override. See base class, ReadWriteCommand.""" backend_flags.WarnOnDeprecatedFlags(args) replacement = copy.deepcopy(existing) group_ref = self.CreateGroupReference(args) backend_to_update = None for backend in replacement.backends: if group_ref.SelfLink() == backend.group: backend_to_update = backend if not backend_to_update: scope_type = None scope_name = None if hasattr(group_ref, 'zone'): scope_type = 'zone' scope_name = group_ref.zone if hasattr(group_ref, 'region'): scope_type = 'region' scope_name = group_ref.region raise exceptions.ToolException( 'No backend with name [{0}] in {1} [{2}] is part of the backend ' 'service [{3}].'.format( group_ref.Name(), scope_type, scope_name, self.ref.Name())) if args.description: backend_to_update.description = args.description elif args.description is not None: backend_to_update.description = None self.ModifyBalancingModeArgs(args, backend_to_update) return replacement
def Modify(self, args, existing): backend_flags.WarnOnDeprecatedFlags(args) replacement = copy.deepcopy(existing) group_ref = self.CreateGroupReference(args) group_uri = group_ref.SelfLink() for backend in existing.backends: if group_uri == backend.group: raise exceptions.ToolException( 'Backend [{0}] in zone [{1}] already exists in backend service ' '[{2}].'.format(group_ref.Name(), group_ref.zone, args.name)) if args.balancing_mode: balancing_mode = self.messages.Backend.BalancingModeValueValuesEnum( args.balancing_mode) else: balancing_mode = None backend = self.CreateBackendMessage(group_uri, balancing_mode, args) replacement.backends.append(backend) return replacement