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]
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)]
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
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
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