Esempio n. 1
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        target_https_proxy_refs = self.TARGET_HTTPS_PROXY_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(client))

        utils.PromptForDeletion(target_https_proxy_refs)

        requests = []
        for target_https_proxy_ref in target_https_proxy_refs:
            if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                    target_https_proxy_ref):
                requests.append(
                    (client.apitools_client.regionTargetHttpsProxies, 'Delete',
                     client.messages.
                     ComputeRegionTargetHttpsProxiesDeleteRequest(
                         **target_https_proxy_ref.AsDict())))
            else:
                requests.append(
                    (client.apitools_client.targetHttpsProxies, 'Delete',
                     client.messages.ComputeTargetHttpsProxiesDeleteRequest(
                         **target_https_proxy_ref.AsDict())))

        return client.MakeRequests(requests)
Esempio n. 2
0
def _Run(args, holder, target_https_proxy_arg):
    """Issues requests necessary to delete Target HTTPS Proxies."""
    client = holder.client

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

    utils.PromptForDeletion(target_https_proxy_refs)

    requests = []
    for target_https_proxy_ref in target_https_proxy_refs:
        if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                target_https_proxy_ref):
            requests.append(
                (client.apitools_client.regionTargetHttpsProxies, 'Delete',
                 client.messages.ComputeRegionTargetHttpsProxiesDeleteRequest(
                     **target_https_proxy_ref.AsDict())))
        else:
            requests.append(
                (client.apitools_client.targetHttpsProxies, 'Delete',
                 client.messages.ComputeTargetHttpsProxiesDeleteRequest(
                     **target_https_proxy_ref.AsDict())))

    return client.MakeRequests(requests)
def _WaitForOperation(resources, service, operation, target_https_proxy_ref,
                      message):
    """Waits for the TargetHttpsProxy operation to finish."""
    if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
            target_https_proxy_ref):
        collection = operation_utils.GetRegionalOperationsCollection()
    else:
        collection = operation_utils.GetGlobalOperationsCollection()

    return operation_utils.WaitForOperation(resources, service, operation,
                                            collection, target_https_proxy_ref,
                                            message)
Esempio n. 4
0
def _GetTargetHttpsProxy(client, target_https_proxy_ref):
    """Retrieves the target HTTPS proxy."""
    if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
            target_https_proxy_ref):
        request = client.messages.ComputeRegionTargetHttpsProxiesGetRequest(
            **target_https_proxy_ref.AsDict())
        collection = client.apitools_client.regionTargetHttpsProxies
    else:
        request = client.messages.ComputeTargetHttpsProxiesGetRequest(
            **target_https_proxy_ref.AsDict())
        collection = client.apitools_client.targetHttpsProxies
    return client.MakeRequests([(collection, 'Get', request)])[0]
Esempio n. 5
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        target_https_proxy_ref = self.TARGET_HTTPS_PROXY_ARG.ResolveAsResource(
            args, holder.resources)

        url_map_ref = target_https_proxies_utils.ResolveTargetHttpsProxyUrlMap(
            args, self.URL_MAP_ARG, target_https_proxy_ref, holder.resources)

        ssl_cert_refs = target_https_proxies_utils.ResolveSslCertificates(
            args, self.SSL_CERTIFICATES_ARG, target_https_proxy_ref,
            holder.resources)

        target_https_proxy = client.messages.TargetHttpsProxy(
            description=args.description,
            name=target_https_proxy_ref.Name(),
            urlMap=url_map_ref.SelfLink(),
            sslCertificates=[ref.SelfLink() for ref in ssl_cert_refs])

        ssl_policy_ref = self.SSL_POLICY_ARG.ResolveAsResource(
            args, holder.resources) if args.ssl_policy else None

        if args.IsSpecified('quic_override'):
            quic_enum = client.messages.TargetHttpsProxy.QuicOverrideValueValuesEnum
            target_https_proxy.quicOverride = quic_enum(args.quic_override)

        if ssl_policy_ref:
            target_https_proxy.sslPolicy = ssl_policy_ref.SelfLink()

        if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                target_https_proxy_ref):
            request = client.messages.ComputeRegionTargetHttpsProxiesInsertRequest(
                project=target_https_proxy_ref.project,
                region=target_https_proxy_ref.region,
                targetHttpsProxy=target_https_proxy)
            collection = client.apitools_client.regionTargetHttpsProxies
        else:
            request = client.messages.ComputeTargetHttpsProxiesInsertRequest(
                project=target_https_proxy_ref.project,
                targetHttpsProxy=target_https_proxy)
            collection = client.apitools_client.targetHttpsProxies

        return client.MakeRequests([(collection, 'Insert', request)])
Esempio n. 6
0
def _Run(args, holder, target_https_proxy_ref, url_map_ref, ssl_cert_refs,
         ssl_policy_ref, traffic_director_security, certificate_map_ref):
  """Issues requests necessary to create Target HTTPS Proxies."""
  client = holder.client

  if traffic_director_security and args.proxy_bind:
    target_https_proxy = client.messages.TargetHttpsProxy(
        description=args.description,
        name=target_https_proxy_ref.Name(),
        urlMap=url_map_ref.SelfLink(),
        sslCertificates=[ref.SelfLink() for ref in ssl_cert_refs],
        proxyBind=args.proxy_bind)
  else:
    target_https_proxy = client.messages.TargetHttpsProxy(
        description=args.description,
        name=target_https_proxy_ref.Name(),
        urlMap=url_map_ref.SelfLink(),
        sslCertificates=[ref.SelfLink() for ref in ssl_cert_refs])

  if args.IsSpecified('quic_override'):
    quic_enum = client.messages.TargetHttpsProxy.QuicOverrideValueValuesEnum
    target_https_proxy.quicOverride = quic_enum(args.quic_override)

  if ssl_policy_ref:
    target_https_proxy.sslPolicy = ssl_policy_ref.SelfLink()

  if certificate_map_ref:
    target_https_proxy.certificateMap = certificate_map_ref.SelfLink()

  if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
      target_https_proxy_ref):
    request = client.messages.ComputeRegionTargetHttpsProxiesInsertRequest(
        project=target_https_proxy_ref.project,
        region=target_https_proxy_ref.region,
        targetHttpsProxy=target_https_proxy)
    collection = client.apitools_client.regionTargetHttpsProxies
  else:
    request = client.messages.ComputeTargetHttpsProxiesInsertRequest(
        project=target_https_proxy_ref.project,
        targetHttpsProxy=target_https_proxy)
    collection = client.apitools_client.targetHttpsProxies

  return client.MakeRequests([(collection, 'Insert', request)])
Esempio n. 7
0
def _Run(args, holder, target_https_proxy_arg):
    """Issues requests necessary to describe Target HTTPS Proxies."""
    client = holder.client

    target_https_proxy_ref = target_https_proxy_arg.ResolveAsResource(
        args,
        holder.resources,
        scope_lister=compute_flags.GetDefaultScopeLister(client))

    if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
            target_https_proxy_ref):
        request = client.messages.ComputeRegionTargetHttpsProxiesGetRequest(
            **target_https_proxy_ref.AsDict())
        collection = client.apitools_client.regionTargetHttpsProxies
    else:
        request = client.messages.ComputeTargetHttpsProxiesGetRequest(
            **target_https_proxy_ref.AsDict())
        collection = client.apitools_client.targetHttpsProxies

    return client.MakeRequests([(collection, 'Get', request)])[0]
Esempio n. 8
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        target_https_proxy_ref = self.TARGET_HTTPS_PROXY_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(client))

        if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                target_https_proxy_ref):
            request = client.messages.ComputeRegionTargetHttpsProxiesGetRequest(
                **target_https_proxy_ref.AsDict())
            collection = client.apitools_client.regionTargetHttpsProxies
        else:
            request = client.messages.ComputeTargetHttpsProxiesGetRequest(
                **target_https_proxy_ref.AsDict())
            collection = client.apitools_client.targetHttpsProxies

        return client.MakeRequests([(collection, 'Get', request)])[0]
def _SendInsertRequest(client, resources, target_https_proxy_ref,
                       target_https_proxy):
    """Sends Target HTTPS Proxy insert request."""
    if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
            target_https_proxy_ref):
        service = client.apitools_client.regionTargetHttpsProxies
        operation = service.Insert(
            client.messages.ComputeRegionTargetHttpsProxiesInsertRequest(
                project=target_https_proxy_ref.project,
                region=target_https_proxy_ref.region,
                targetHttpsProxy=target_https_proxy))
    else:
        service = client.apitools_client.targetHttpsProxies
        operation = service.Insert(
            client.messages.ComputeTargetHttpsProxiesInsertRequest(
                project=target_https_proxy_ref.project,
                targetHttpsProxy=target_https_proxy))

    return _WaitForOperation(resources, service, operation,
                             target_https_proxy_ref,
                             'Inserting TargetHttpsProxy')
Esempio n. 10
0
def _PatchTargetHttpsProxy(client, target_https_proxy_ref, new_resource,
                           cleared_fields):
    """Patches the target HTTPS proxy."""
    requests = []
    if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
            target_https_proxy_ref):
        requests.append(
            (client.apitools_client.regionTargetHttpsProxies, 'Patch',
             client.messages.ComputeRegionTargetHttpsProxiesPatchRequest(
                 project=target_https_proxy_ref.project,
                 region=target_https_proxy_ref.region,
                 targetHttpsProxy=target_https_proxy_ref.Name(),
                 targetHttpsProxyResource=new_resource)))
    else:
        requests.append((client.apitools_client.targetHttpsProxies, 'Patch',
                         client.messages.ComputeTargetHttpsProxiesPatchRequest(
                             project=target_https_proxy_ref.project,
                             targetHttpsProxy=target_https_proxy_ref.Name(),
                             targetHttpsProxyResource=new_resource)))
    with client.apitools_client.IncludeFields(cleared_fields):
        return client.MakeRequests(requests)
def _SendPatchRequest(client, resources, target_https_proxy_ref,
                      target_https_proxy):
    """Make target HTTP proxy patch request."""
    if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
            target_https_proxy_ref):
        service = client.apitools_client.regionTargetHttpsProxies
        operation = service.Patch(
            client.messages.ComputeRegionTargetHttpsProxiesPatchRequest(
                project=target_https_proxy_ref.project,
                region=target_https_proxy_ref.region,
                targetHttpsProxy=target_https_proxy_ref.Name(),
                targetHttpsProxyResource=target_https_proxy))
    else:
        service = client.apitools_client.targetHttpsProxies
        operation = service.Patch(
            client.messages.ComputeTargetHttpsProxiesPatchRequest(
                project=target_https_proxy_ref.project,
                targetHttpsProxy=target_https_proxy_ref.Name(),
                targetHttpsProxyResource=target_https_proxy))

    return _WaitForOperation(resources, service, operation,
                             target_https_proxy_ref,
                             'Updating TargetHttpsProxy')
Esempio n. 12
0
def _Run(args, holder, ssl_certificates_arg, target_https_proxy_arg,
         url_map_arg, ssl_policy_arg):
    """Issues requests necessary to update Target HTTPS Proxies."""
    client = holder.client

    requests = []
    target_https_proxy_ref = target_https_proxy_arg.ResolveAsResource(
        args,
        holder.resources,
        scope_lister=compute_flags.GetDefaultScopeLister(client))

    if args.ssl_certificates:
        ssl_cert_refs = target_https_proxies_utils.ResolveSslCertificates(
            args, ssl_certificates_arg, target_https_proxy_ref,
            holder.resources)
        if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                target_https_proxy_ref):
            requests.append(
                (client.apitools_client.regionTargetHttpsProxies,
                 'SetSslCertificates',
                 client.messages.
                 ComputeRegionTargetHttpsProxiesSetSslCertificatesRequest(
                     project=target_https_proxy_ref.project,
                     region=target_https_proxy_ref.region,
                     targetHttpsProxy=target_https_proxy_ref.Name(),
                     regionTargetHttpsProxiesSetSslCertificatesRequest=(
                         client.messages.
                         RegionTargetHttpsProxiesSetSslCertificatesRequest(
                             sslCertificates=[
                                 ref.SelfLink() for ref in ssl_cert_refs
                             ])))))
        else:
            requests.append(
                (client.apitools_client.targetHttpsProxies,
                 'SetSslCertificates',
                 client.messages.
                 ComputeTargetHttpsProxiesSetSslCertificatesRequest(
                     project=target_https_proxy_ref.project,
                     targetHttpsProxy=target_https_proxy_ref.Name(),
                     targetHttpsProxiesSetSslCertificatesRequest=(
                         client.messages.
                         TargetHttpsProxiesSetSslCertificatesRequest(
                             sslCertificates=[
                                 ref.SelfLink() for ref in ssl_cert_refs
                             ])))))

    if args.url_map:
        url_map_ref = target_https_proxies_utils.ResolveTargetHttpsProxyUrlMap(
            args, url_map_arg, target_https_proxy_ref, holder.resources)
        if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                target_https_proxy_ref):
            requests.append(
                (client.apitools_client.regionTargetHttpsProxies, 'SetUrlMap',
                 client.messages.
                 ComputeRegionTargetHttpsProxiesSetUrlMapRequest(
                     project=target_https_proxy_ref.project,
                     region=target_https_proxy_ref.region,
                     targetHttpsProxy=target_https_proxy_ref.Name(),
                     urlMapReference=client.messages.UrlMapReference(
                         urlMap=url_map_ref.SelfLink()))))
        else:
            requests.append(
                (client.apitools_client.targetHttpsProxies, 'SetUrlMap',
                 client.messages.ComputeTargetHttpsProxiesSetUrlMapRequest(
                     project=target_https_proxy_ref.project,
                     targetHttpsProxy=target_https_proxy_ref.Name(),
                     urlMapReference=client.messages.UrlMapReference(
                         urlMap=url_map_ref.SelfLink()))))

    if args.IsSpecified('quic_override'):
        quic_override = (
            client.messages.TargetHttpsProxiesSetQuicOverrideRequest.
            QuicOverrideValueValuesEnum(args.quic_override))
        requests.append(
            (client.apitools_client.targetHttpsProxies, 'SetQuicOverride',
             client.messages.ComputeTargetHttpsProxiesSetQuicOverrideRequest(
                 project=target_https_proxy_ref.project,
                 targetHttpsProxy=target_https_proxy_ref.Name(),
                 targetHttpsProxiesSetQuicOverrideRequest=(
                     client.messages.TargetHttpsProxiesSetQuicOverrideRequest(
                         quicOverride=quic_override)))))

    ssl_policy = client.messages.SslPolicyReference(
        sslPolicy=ssl_policy_arg.ResolveAsResource(args, holder.resources).
        SelfLink()) if args.IsSpecified('ssl_policy') else None
    clear_ssl_policy = args.IsSpecified('clear_ssl_policy')

    if ssl_policy or clear_ssl_policy:
        requests.append(
            (client.apitools_client.targetHttpsProxies, 'SetSslPolicy',
             client.messages.ComputeTargetHttpsProxiesSetSslPolicyRequest(
                 project=target_https_proxy_ref.project,
                 targetHttpsProxy=target_https_proxy_ref.Name(),
                 sslPolicyReference=ssl_policy)))

    return client.MakeRequests(requests)
Esempio n. 13
0
    def _SendRequests(self, args, quic_override=None):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        requests = []
        target_https_proxy_ref = self.TARGET_HTTPS_PROXY_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(client))

        if args.ssl_certificates:
            ssl_cert_refs = target_https_proxies_utils.ResolveSslCertificates(
                args, self.SSL_CERTIFICATES_ARG, target_https_proxy_ref,
                holder.resources)
            if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                    target_https_proxy_ref):
                requests.append(
                    (client.apitools_client.regionTargetHttpsProxies,
                     'SetSslCertificates',
                     client.messages.
                     ComputeRegionTargetHttpsProxiesSetSslCertificatesRequest(
                         project=target_https_proxy_ref.project,
                         region=target_https_proxy_ref.region,
                         targetHttpsProxy=target_https_proxy_ref.Name(),
                         regionTargetHttpsProxiesSetSslCertificatesRequest=(
                             client.messages.
                             RegionTargetHttpsProxiesSetSslCertificatesRequest(
                                 sslCertificates=[
                                     ref.SelfLink() for ref in ssl_cert_refs
                                 ])))))
            else:
                requests.append(
                    (client.apitools_client.targetHttpsProxies,
                     'SetSslCertificates',
                     client.messages.
                     ComputeTargetHttpsProxiesSetSslCertificatesRequest(
                         project=target_https_proxy_ref.project,
                         targetHttpsProxy=target_https_proxy_ref.Name(),
                         targetHttpsProxiesSetSslCertificatesRequest=(
                             client.messages.
                             TargetHttpsProxiesSetSslCertificatesRequest(
                                 sslCertificates=[
                                     ref.SelfLink() for ref in ssl_cert_refs
                                 ])))))

        if args.url_map:
            url_map_ref = target_https_proxies_utils.ResolveTargetHttpsProxyUrlMap(
                args, self.URL_MAP_ARG, target_https_proxy_ref,
                holder.resources)
            if target_https_proxies_utils.IsRegionalTargetHttpsProxiesRef(
                    target_https_proxy_ref):
                requests.append(
                    (client.apitools_client.regionTargetHttpsProxies,
                     'SetUrlMap',
                     client.messages.
                     ComputeRegionTargetHttpsProxiesSetUrlMapRequest(
                         project=target_https_proxy_ref.project,
                         region=target_https_proxy_ref.region,
                         targetHttpsProxy=target_https_proxy_ref.Name(),
                         urlMapReference=client.messages.UrlMapReference(
                             urlMap=url_map_ref.SelfLink()))))
            else:
                requests.append(
                    (client.apitools_client.targetHttpsProxies, 'SetUrlMap',
                     client.messages.ComputeTargetHttpsProxiesSetUrlMapRequest(
                         project=target_https_proxy_ref.project,
                         targetHttpsProxy=target_https_proxy_ref.Name(),
                         urlMapReference=client.messages.UrlMapReference(
                             urlMap=url_map_ref.SelfLink()))))

        if args.IsSpecified('quic_override'):
            quic_override = (
                client.messages.TargetHttpsProxiesSetQuicOverrideRequest.
                QuicOverrideValueValuesEnum(args.quic_override))
            requests.append(
                (client.apitools_client.targetHttpsProxies, 'SetQuicOverride',
                 client.messages.
                 ComputeTargetHttpsProxiesSetQuicOverrideRequest(
                     project=target_https_proxy_ref.project,
                     targetHttpsProxy=target_https_proxy_ref.Name(),
                     targetHttpsProxiesSetQuicOverrideRequest=(
                         client.messages.
                         TargetHttpsProxiesSetQuicOverrideRequest(
                             quicOverride=quic_override)))))

        ssl_policy = client.messages.SslPolicyReference(
            sslPolicy=self.SSL_POLICY_ARG.ResolveAsResource(
                args, holder.resources).SelfLink()) if args.IsSpecified(
                    'ssl_policy') else None
        clear_ssl_policy = args.IsSpecified('clear_ssl_policy')

        if ssl_policy or clear_ssl_policy:
            requests.append(
                (client.apitools_client.targetHttpsProxies, 'SetSslPolicy',
                 client.messages.ComputeTargetHttpsProxiesSetSslPolicyRequest(
                     project=target_https_proxy_ref.project,
                     targetHttpsProxy=target_https_proxy_ref.Name(),
                     sslPolicyReference=ssl_policy)))

        return client.MakeRequests(requests)