Beispiel #1
0
def _Run(
    args,
    holder,
    url_map_arg,
):
    """Issues requests necessary to add host rule to the Url Map."""

    client = holder.client

    url_map_ref = url_map_arg.ResolveAsResource(
        args, holder.resources, default_scope=compute_scope.ScopeEnum.GLOBAL)
    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        get_request = _GetRegionalGetRequest(client, url_map_ref)
    else:
        get_request = _GetGetRequest(client, url_map_ref)

    old_url_map = client.MakeRequests([get_request])[0]
    modified_url_map = _Modify(client, args, old_url_map)

    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        set_request = _GetRegionalSetRequest(client, url_map_ref,
                                             modified_url_map)
    else:
        set_request = _GetSetRequest(client, url_map_ref, modified_url_map)

    return client.MakeRequests([set_request])
Beispiel #2
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        url_map_ref = self.URL_MAP_ARG.ResolveAsResource(
            args, holder.resources)
        if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
            get_request = self._GetRegionalGetRequest(client, url_map_ref)
        else:
            get_request = self._GetGetRequest(client, url_map_ref)

        old_url_map = client.MakeRequests([get_request])

        modified_url_map = self.Modify(holder.resources, args, old_url_map[0],
                                       url_map_ref)

        # If existing object is equal to the proposed object or if
        # Modify() returns None, then there is no work to be done, so we
        # print the resource and return.
        if old_url_map[0] == modified_url_map:
            log.status.Print(
                'No change requested; skipping update for [{0}].'.format(
                    old_url_map[0].name))
            return old_url_map

        if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
            set_request = self._GetRegionalSetRequest(client, url_map_ref,
                                                      modified_url_map)
        else:
            set_request = self._GetSetRequest(client, url_map_ref,
                                              modified_url_map)

        return client.MakeRequests([set_request])
def _Run(args, holder, backend_bucket_arg, backend_service_arg, url_map_arg):
    """Issues requests necessary to set the default service of URL maps."""
    client = holder.client

    url_map_ref = url_map_arg.ResolveAsResource(args, holder.resources)
    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        get_request = _GetRegionalGetRequest(client, url_map_ref)
    else:
        get_request = _GetGetRequest(client, url_map_ref)

    old_url_map = client.MakeRequests([get_request])

    modified_url_map = _Modify(holder.resources, args, old_url_map[0],
                               url_map_ref, backend_bucket_arg,
                               backend_service_arg)

    # If existing object is equal to the proposed object or if
    # _Modify() returns None, then there is no work to be done, so we
    # print the resource and return.
    if old_url_map[0] == modified_url_map:
        log.status.Print(
            'No change requested; skipping update for [{0}].'.format(
                old_url_map[0].name))
        return old_url_map

    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        set_request = _GetRegionalSetRequest(client, url_map_ref,
                                             modified_url_map)
    else:
        set_request = _GetSetRequest(client, url_map_ref, modified_url_map)

    return client.MakeRequests([set_request])
Beispiel #4
0
    def Run(self, args):
        """Issues requests necessary to delete URL maps."""
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        url_map_refs = self.URL_MAP_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(client))

        utils.PromptForDeletion(url_map_refs)

        requests = []
        for url_map_ref in url_map_refs:
            if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
                requests.append(
                    (client.apitools_client.regionUrlMaps, 'Delete',
                     client.messages.ComputeRegionUrlMapsDeleteRequest(
                         **url_map_ref.AsDict())))
            else:
                requests.append((client.apitools_client.urlMaps, 'Delete',
                                 client.messages.ComputeUrlMapsDeleteRequest(
                                     **url_map_ref.AsDict())))

        return client.MakeRequests(requests)
Beispiel #5
0
    def CreateRequests(self, holder, args):
        """Returns a list of requests necessary for cache invalidations."""
        url_map_ref = self.URL_MAP_ARG.ResolveAsResource(
            args, holder.resources)
        cache_invalidation_rule = holder.client.messages.CacheInvalidationRule(
            path=args.path)
        if args.host is not None:
            cache_invalidation_rule.host = args.host

        messages = holder.client.messages
        if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
            request = messages.ComputeRegionUrlMapsInvalidateCacheRequest(
                project=url_map_ref.project,
                urlMap=url_map_ref.Name(),
                cacheInvalidationRule=cache_invalidation_rule,
                region=url_map_ref.region)
            collection = holder.client.apitools_client.regionUrlMaps
        else:
            request = messages.ComputeUrlMapsInvalidateCacheRequest(
                project=url_map_ref.project,
                urlMap=url_map_ref.Name(),
                cacheInvalidationRule=cache_invalidation_rule)
            collection = holder.client.apitools_client.urlMaps

        return [(collection, 'InvalidateCache', request)]
Beispiel #6
0
def _GetGetRequest(client, url_map_ref):
    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        return (client.apitools_client.regionUrlMaps, 'Get',
                client.messages.ComputeRegionUrlMapsGetRequest(
                    urlMap=url_map_ref.Name(),
                    project=url_map_ref.project,
                    region=url_map_ref.region))

    return (client.apitools_client.urlMaps, 'Get',
            client.messages.ComputeUrlMapsGetRequest(**url_map_ref.AsDict()))
def _Run(args, holder, url_map_arg):
    """Issues requests necessary to remove path matcher on URL maps."""
    client = holder.client

    url_map_ref = url_map_arg.ResolveAsResource(args, holder.resources)
    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        get_request = _GetRegionalGetRequest(client, url_map_ref)
    else:
        get_request = _GetGetRequest(client, url_map_ref)

    url_map = client.MakeRequests([get_request])[0]
    modified_url_map = _Modify(args, url_map)

    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        set_request = _GetRegionalSetRequest(client, url_map_ref,
                                             modified_url_map)
    else:
        set_request = _GetSetRequest(client, url_map_ref, modified_url_map)

    return client.MakeRequests([set_request])
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    client = holder.client

    url_map_ref = self.URL_MAP_ARG.ResolveAsResource(args, holder.resources)
    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
      get_request = self._GetRegionalGetRequest(client, url_map_ref)
    else:
      get_request = self._GetGetRequest(client, url_map_ref)

    url_map = client.MakeRequests([get_request])[0]
    modified_url_map = self._Modify(args, url_map)

    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
      set_request = self._GetRegionalSetRequest(client, url_map_ref,
                                                modified_url_map)
    else:
      set_request = self._GetSetRequest(client, url_map_ref, modified_url_map)

    return client.MakeRequests([set_request])
Beispiel #9
0
def _GetSetRequest(client, url_map_ref, replacement):
    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        return (client.apitools_client.regionUrlMaps, 'Update',
                client.messages.ComputeRegionUrlMapsUpdateRequest(
                    urlMap=url_map_ref.Name(),
                    urlMapResource=replacement,
                    project=url_map_ref.project,
                    region=url_map_ref.region))

    return (client.apitools_client.urlMaps, 'Update',
            client.messages.ComputeUrlMapsUpdateRequest(
                urlMapResource=replacement, **url_map_ref.AsDict()))
Beispiel #10
0
def _Run(args, holder, url_map_arg, backend_servie_arg, backend_bucket_arg):
    """Issues requests necessary to add path matcher to the Url Map."""
    client = holder.client

    url_map_ref = url_map_arg.ResolveAsResource(args, holder.resources)
    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        get_request = _GetRegionalGetRequest(client, url_map_ref)
    else:
        get_request = _GetGetRequest(client, url_map_ref)

    url_map = client.MakeRequests([get_request])[0]

    modified_url_map = _Modify(client, holder.resources, args, url_map,
                               url_map_ref, backend_servie_arg,
                               backend_bucket_arg)

    if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
        set_request = _GetRegionalSetRequest(client, url_map_ref,
                                             modified_url_map)
    else:
        set_request = _GetSetRequest(client, url_map_ref, modified_url_map)

    return client.MakeRequests([set_request])
Beispiel #11
0
def _Run(args, holder, url_map_arg):
  """Issues requests necessary to describe URL maps."""
  client = holder.client

  url_map_ref = url_map_arg.ResolveAsResource(
      args,
      holder.resources,
      scope_lister=compute_flags.GetDefaultScopeLister(client))

  if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
    service = client.apitools_client.regionUrlMaps
    request = client.messages.ComputeRegionUrlMapsGetRequest(
        **url_map_ref.AsDict())
  else:
    service = client.apitools_client.urlMaps
    request = client.messages.ComputeUrlMapsGetRequest(**url_map_ref.AsDict())

  return client.MakeRequests([(service, 'Get', request)])[0]
Beispiel #12
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        url_map_ref = self.URL_MAP_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(client))

        if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
            service = client.apitools_client.regionUrlMaps
            request = client.messages.ComputeRegionUrlMapsGetRequest(
                **url_map_ref.AsDict())
        else:
            service = client.apitools_client.urlMaps
            request = client.messages.ComputeUrlMapsGetRequest(
                **url_map_ref.AsDict())

        return client.MakeRequests([(service, 'Get', request)])[0]
Beispiel #13
0
def _Run(args, holder, backend_bucket_arg, backend_service_arg, url_map_arg):
  """Issues requests necessary to create a Url Map."""
  client = holder.client

  url_map_ref = url_map_arg.ResolveAsResource(
      args,
      holder.resources,
      default_scope=compute_scope.ScopeEnum.GLOBAL,
      scope_lister=compute_flags.GetDefaultScopeLister(client))

  if args.default_service:
    default_backend_uri = url_maps_utils.ResolveUrlMapDefaultService(
        args, backend_service_arg, url_map_ref, holder.resources).SelfLink()
  else:
    default_backend_uri = backend_bucket_arg.ResolveAsResource(
        args, holder.resources).SelfLink()

  if url_maps_utils.IsGlobalUrlMapRef(url_map_ref):
    return _MakeGlobalRequest(args, url_map_ref, default_backend_uri, client)
  elif url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
    return _MakeRegionalRequest(args, url_map_ref, default_backend_uri, client)
Beispiel #14
0
def _Run(args, holder, url_map_arg):
    """Issues requests necessary to delete URL maps."""
    client = holder.client

    url_map_refs = url_map_arg.ResolveAsResource(
        args,
        holder.resources,
        scope_lister=compute_flags.GetDefaultScopeLister(client))

    utils.PromptForDeletion(url_map_refs)

    requests = []
    for url_map_ref in url_map_refs:
        if url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
            requests.append((client.apitools_client.regionUrlMaps, 'Delete',
                             client.messages.ComputeRegionUrlMapsDeleteRequest(
                                 **url_map_ref.AsDict())))
        else:
            requests.append((client.apitools_client.urlMaps, 'Delete',
                             client.messages.ComputeUrlMapsDeleteRequest(
                                 **url_map_ref.AsDict())))

    return client.MakeRequests(requests)
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        url_map_ref = self.URL_MAP_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(client))

        if args.default_service:
            default_backend_uri = url_maps_utils.ResolveUrlMapDefaultService(
                args, self.BACKEND_SERVICE_ARG, url_map_ref,
                holder.resources).SelfLink()
        else:
            default_backend_uri = self.BACKEND_BUCKET_ARG.ResolveAsResource(
                args, holder.resources).SelfLink()

        if url_maps_utils.IsGlobalUrlMapRef(url_map_ref):
            return self._MakeGlobalRequest(args, url_map_ref,
                                           default_backend_uri, client)
        elif url_maps_utils.IsRegionalUrlMapRef(url_map_ref):
            return self._MakeRegionalRequest(args, url_map_ref,
                                             default_backend_uri, client)