def Run(self, args): """Issues the request to list all VPN Gateways.""" holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) helper = vpn_gateways_utils.VpnGatewayHelper(holder) project = properties.VALUES.core.project.GetOrFail() args.filter, filter_expr = filter_rewrite.Rewriter().Rewrite(args.filter) return helper.List(project=project, filter_expr=filter_expr)
def Run(self, args): """Issues the request to describe a VPN Gateway.""" holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) helper = vpn_gateways_utils.VpnGatewayHelper(holder) ref = _VPN_GATEWAY_ARG.ResolveAsResource( args, holder.resources, scope_lister=compute_flags.GetDefaultScopeLister(holder.client)) return helper.Describe(ref)
def Run(self, args): """Issues the request to delete a VPN Gateway.""" holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) helper = vpn_gateways_utils.VpnGatewayHelper(holder) client = holder.client.apitools_client refs = _VPN_GATEWAY_ARG.ResolveAsResource(args, holder.resources) utils.PromptForDeletion(refs) operation_refs = [helper.Delete(ref) for ref in refs] wait_message = 'Deleting VPN {}'.format( ('Gateways' if (len(operation_refs) > 1) else 'Gateway')) operation_poller = DeleteBatchPoller(holder.client, client.vpnGateways) return waiter.WaitFor(operation_poller, poller.OperationBatch(operation_refs), wait_message)
def Run(self, args): """Issues the request to create a new VPN gateway.""" holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) helper = vpn_gateways_utils.VpnGatewayHelper(holder) vpn_gateway_ref = _VPN_GATEWAY_ARG.ResolveAsResource( args, holder.resources) network_ref = _NETWORK_ARG.ResolveAsResource(args, holder.resources) vpn_gateway_to_insert = helper.GetVpnGatewayForInsert( name=vpn_gateway_ref.Name(), description=args.description, network=network_ref.SelfLink()) operation_ref = helper.Create(vpn_gateway_ref, vpn_gateway_to_insert) return helper.WaitForOperation(vpn_gateway_ref, operation_ref, 'Creating VPN Gateway')
def _Run(self, args): """Issues the request to create a new VPN gateway.""" holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) helper = vpn_gateways_utils.VpnGatewayHelper(holder) vpn_gateway_ref = _VPN_GATEWAY_ARG.ResolveAsResource(args, holder.resources) network_ref = _NETWORK_ARG.ResolveAsResource(args, holder.resources) vpn_interfaces_with_interconnect_attachments = None if args.interconnect_attachments is not None: vpn_interfaces_with_interconnect_attachments = self._mapInterconnectAttachments( args, holder.resources, vpn_gateway_ref.region, vpn_gateway_ref.project) vpn_gateway_to_insert = helper.GetVpnGatewayForInsert( name=vpn_gateway_ref.Name(), description=args.description, network=network_ref.SelfLink(), vpn_interfaces_with_interconnect_attachments=vpn_interfaces_with_interconnect_attachments, stack_type=args.stack_type) operation_ref = helper.Create(vpn_gateway_ref, vpn_gateway_to_insert) return helper.WaitForOperation(vpn_gateway_ref, operation_ref, 'Creating VPN Gateway')
def Run(self, args): """Issues API requests to update a VPN Gateway. Args: args: argparse.Namespace, The arguments received by this command. Returns: [protorpc.messages.Message], A list of responses returned by the compute API. """ holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) messages = holder.client.messages helper = vpn_gateways_utils.VpnGatewayHelper(holder) vpn_gateway_ref = _VPN_GATEWAY_ARG.ResolveAsResource( args, holder.resources, scope_lister=compute_flags.GetDefaultScopeLister(holder.client)) labels_diff = labels_util.Diff.FromUpdateArgs(args) if not labels_diff.MayHaveUpdates(): raise calliope_exceptions.RequiredArgumentException( 'LABELS', 'At least one of --update-labels or ' '--remove-labels must be specified.') vpn_gateway = helper.Describe(vpn_gateway_ref) labels_update = labels_diff.Apply( messages.RegionSetLabelsRequest.LabelsValue, vpn_gateway.labels) if not labels_update.needs_update: return vpn_gateway operation_ref = helper.SetLabels(vpn_gateway_ref, vpn_gateway.labelFingerprint, labels_update.labels) return helper.WaitForOperation( vpn_gateway_ref, operation_ref, 'Updating labels of VPN gateway [{0}]'.format( vpn_gateway_ref.Name()))