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