コード例 #1
0
ファイル: add_backend.py プロジェクト: eduardofacanha/Robin
    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
コード例 #2
0
    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
コード例 #3
0
  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
コード例 #4
0
    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