Esempio n. 1
0
    def CreateGlobalRequests(self, args, backend_services_ref):
        if args.load_balancing_scheme == 'INTERNAL':
            raise exceptions.ToolException(
                'Must specify --region for internal load balancer.')
        backend_service = self._CreateBackendService(args,
                                                     backend_services_ref)

        if args.connection_draining_timeout is not None:
            backend_service.connectionDraining = self.messages.ConnectionDraining(
                drainingTimeoutSec=args.connection_draining_timeout)
        if args.session_affinity is not None:
            backend_service.sessionAffinity = (
                self.messages.BackendService.SessionAffinityValueValuesEnum(
                    args.session_affinity))
        if args.session_affinity is not None:
            backend_service.affinityCookieTtlSec = args.affinity_cookie_ttl

        backend_services_utils.ApplyCdnPolicyArgs(self,
                                                  args,
                                                  backend_service,
                                                  is_update=False)

        self._ApplyIapArgs(args.iap, backend_service)

        request = self.messages.ComputeBackendServicesInsertRequest(
            backendService=backend_service, project=self.project)

        return [request]
Esempio n. 2
0
    def CreateGlobalRequests(self, holder, args, backend_services_ref):
        if args.load_balancing_scheme == 'INTERNAL':
            raise exceptions.ToolException(
                'Must specify --region for internal load balancer.')
        backend_service = self._CreateBackendService(holder, args,
                                                     backend_services_ref)

        client = holder.client
        if args.connection_draining_timeout is not None:
            backend_service.connectionDraining = (
                client.messages.ConnectionDraining(
                    drainingTimeoutSec=args.connection_draining_timeout))

        if args.enable_cdn:
            backend_service.enableCDN = args.enable_cdn

        backend_services_utils.ApplyCdnPolicyArgs(client,
                                                  args,
                                                  backend_service,
                                                  is_update=False)

        if args.session_affinity is not None:
            backend_service.sessionAffinity = (
                client.messages.BackendService.SessionAffinityValueValuesEnum(
                    args.session_affinity))
        if args.affinity_cookie_ttl is not None:
            backend_service.affinityCookieTtlSec = args.affinity_cookie_ttl

        self._ApplyIapArgs(client.messages, args.iap, backend_service)

        request = client.messages.ComputeBackendServicesInsertRequest(
            backendService=backend_service,
            project=backend_services_ref.project)

        return [(client.apitools_client.backendServices, 'Insert', request)]
Esempio n. 3
0
    def Modify(self, client, resources, args, existing):
        """Modify Backend Service."""
        replacement = encoding.CopyProtoMessage(existing)

        if args.connection_draining_timeout is not None:
            replacement.connectionDraining = client.messages.ConnectionDraining(
                drainingTimeoutSec=args.connection_draining_timeout)

        if args.description:
            replacement.description = args.description
        elif args.description is not None:
            replacement.description = None

        health_checks = flags.GetHealthCheckUris(args, self, resources)
        if health_checks:
            replacement.healthChecks = health_checks

        if args.timeout:
            replacement.timeoutSec = args.timeout

        if args.port:
            replacement.port = args.port

        if args.port_name:
            replacement.portName = args.port_name

        if args.protocol:
            replacement.protocol = (
                client.messages.BackendService.ProtocolValueValuesEnum(
                    args.protocol))

        if args.enable_cdn is not None:
            replacement.enableCDN = args.enable_cdn

        if args.session_affinity is not None:
            replacement.sessionAffinity = (
                client.messages.BackendService.SessionAffinityValueValuesEnum(
                    args.session_affinity))

        if args.affinity_cookie_ttl is not None:
            replacement.affinityCookieTtlSec = args.affinity_cookie_ttl

        backend_services_utils.ApplyCdnPolicyArgs(client,
                                                  args,
                                                  replacement,
                                                  is_update=True)

        self._ApplyIapArgs(client, args.iap, existing, replacement)

        return replacement
Esempio n. 4
0
    def Modify(self, args, existing):
        replacement = super(UpdateBeta, self).Modify(args, existing)

        if args.connection_draining_timeout is not None:
            replacement.connectionDraining = self.messages.ConnectionDraining(
                drainingTimeoutSec=args.connection_draining_timeout)

        self._ApplyIapArgs(args.iap, existing, replacement)

        backend_services_utils.ApplyCdnPolicyArgs(self,
                                                  args,
                                                  replacement,
                                                  is_update=True)

        return replacement
Esempio n. 5
0
    def Modify(self, client, resources, args, existing):
        """Modify Backend Service."""
        replacement = super(UpdateAlpha, self).Modify(client, resources, args,
                                                      existing)

        if args.connection_draining_timeout is not None:
            replacement.connectionDraining = client.messages.ConnectionDraining(
                drainingTimeoutSec=args.connection_draining_timeout)
        if args.no_custom_request_headers is not None:
            replacement.customRequestHeaders = []
        if args.custom_request_header is not None:
            replacement.customRequestHeaders = args.custom_request_header

        backend_services_utils.ApplyCdnPolicyArgs(
            client,
            args,
            replacement,
            is_update=True,
            apply_signed_url_cache_max_age=True)

        return replacement