def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) ref = self.PACKET_MIRRORING_ARG.ResolveAsResource( args, holder.resources) packet_mirroring = client.PacketMirroring(ref, compute_client=holder.client) return packet_mirroring.Describe()
def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) messages = holder.client.messages pm_ref = self.PACKET_MIRRORING_ARG.ResolveAsResource( args, holder.resources) def _MakeInstanceInfo(instance): return messages.PacketMirroringMirroredResourceInfoInstanceInfo( url=utils.ResolveInstanceURI(pm_ref.project, instance, holder.resources)) def _MakeMirroredSubnetInfo(subnet): return messages.PacketMirroringMirroredResourceInfoSubnetInfo( url=utils.ResolveSubnetURI(pm_ref.project, pm_ref.region, subnet, holder.resources)) mirrored_instance_infos = [ _MakeInstanceInfo(instance) for instance in args.mirrored_instances ] if args.mirrored_instances else [] mirrored_subnet_infos = [ _MakeMirroredSubnetInfo(subnet) for subnet in args.mirrored_subnets ] if args.mirrored_subnets else [] pm_filter = messages.PacketMirroringFilter() if args.filter_cidr_ranges or args.filter_protocols: if args.filter_cidr_ranges: pm_filter.cidrRanges.extend(args.filter_cidr_ranges) if args.filter_protocols: pm_filter.IPProtocols.extend(args.filter_protocols) mirrored_resources_info = messages.PacketMirroringMirroredResourceInfo( subnetworks=mirrored_subnet_infos, instances=mirrored_instance_infos, tags=args.mirrored_tags or []) template = messages.PacketMirroring( name=pm_ref.Name(), description=args.description, network=messages.PacketMirroringNetworkInfo( url=utils.ResolveNetworkURI(pm_ref.project, args.network, holder.resources)), collectorIlb=messages.PacketMirroringForwardingRuleInfo( url=utils.ResolveForwardingRuleURI( pm_ref.project, pm_ref.region, args.collector_ilb, holder.resources)), mirroredResources=mirrored_resources_info, priority=args.priority, filter=pm_filter, enable=messages.PacketMirroring.EnableValueValuesEnum.TRUE if args.enable else messages.PacketMirroring.EnableValueValuesEnum.FALSE) packet_mirroring = client.PacketMirroring(pm_ref, compute_client=holder.client, registry=holder.resources) return packet_mirroring.Create(template, is_async=args.async_ or False)
def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) refs = self.PACKET_MIRRORING_ARG.ResolveAsResource( args, holder.resources) utils.PromptForDeletion(refs) requests = [] for ref in refs: packet_mirroring = client.PacketMirroring( ref, compute_client=holder.client) requests.append(packet_mirroring.MakeDeleteRequestTuple()) return holder.client.MakeRequests(requests)
def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) messages = holder.client.messages pm_ref = self.PACKET_MIRRORING_ARG.ResolveAsResource( args, holder.resources) packet_mirroring = client.PacketMirroring(pm_ref, compute_client=holder.client, registry=holder.resources) resource = packet_mirroring.Describe()[0] self._UpdateResource(pm_ref, resource, holder, args, messages) packet_mirroring.Update(resource, is_async=args. async or False)