Exemple #1
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

        interconnect_attachment = client.InterconnectAttachment(
            attachment_ref, compute_client=holder.client)

        if args.router_region is None:
            args.router_region = attachment_ref.region

        if args.router_region != attachment_ref.region:
            raise parser_errors.ArgumentException(
                'router-region must be same as the attachment region.')

        router_ref = None
        if args.router is not None:
            router_ref = self.ROUTER_ARG.ResolveAsResource(
                args, holder.resources)

        admin_enabled = attachment_flags.GetAdminEnabledFlag(args)

        attachment = interconnect_attachment.CreateAlpha(
            description=args.description,
            router=router_ref,
            attachment_type='PARTNER',
            edge_availability_domain=args.edge_availability_domain,
            admin_enabled=admin_enabled,
            validate_only=getattr(args, 'dry_run', None),
            mtu=getattr(args, 'mtu', None))
        self._pairing_key = attachment.pairingKey
        return attachment
Exemple #2
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

        interconnect_attachment = client.InterconnectAttachment(
            attachment_ref, compute_client=holder.client)

        labels = None
        label_fingerprint = None
        labels_diff = labels_util.Diff.FromUpdateArgs(args)
        if labels_diff.MayHaveUpdates():
            old_attachment = interconnect_attachment.Describe()
            labels_cls = holder.client.messages.InterconnectAttachment.LabelsValue
            labels = labels_diff.Apply(
                labels_cls, labels=old_attachment.labels).GetOrNone()
            if labels is not None:
                label_fingerprint = old_attachment.labelFingerprint

        return interconnect_attachment.PatchAlpha(
            description=args.description,
            admin_enabled=args.admin_enabled,
            labels=labels,
            label_fingerprint=label_fingerprint,
        )
Exemple #3
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

        interconnect_attachment = client.InterconnectAttachment(
            attachment_ref, compute_client=holder.client)

        interconnect_ref = None
        if args.interconnect is not None:
            interconnect_ref = self.INTERCONNECT_ARG.ResolveAsResource(
                args, holder.resources)

        if args.router_region is None:
            args.router_region = attachment_ref.region

        if args.router_region != attachment_ref.region:
            raise parser_errors.ArgumentException(
                'router-region must be same as the attachment region.')

        router_ref = None
        if args.router is not None:
            router_ref = self.ROUTER_ARG.ResolveAsResource(
                args, holder.resources)

        return interconnect_attachment.Create(description=args.description,
                                              interconnect=interconnect_ref,
                                              router=router_ref)
Exemple #4
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

        interconnect_attachment = client.InterconnectAttachment(
            attachment_ref, compute_client=holder.client)

        interconnect_ref = None
        if args.interconnect is not None:
            interconnect_ref = self.INTERCONNECT_ARG.ResolveAsResource(
                args, holder.resources)

        return interconnect_attachment.CreateAlpha(
            description=args.description,
            interconnect=interconnect_ref,
            vlan_tag_802_1q=args.vlan,
            attachment_type='PARTNER_PROVIDER',
            bandwidth=args.bandwidth,
            pairing_key=args.pairing_key,
            candidate_subnets=args.candidate_subnets,
            partner_asn=args.partner_asn,
            partner_name=args.partner_name,
            partner_interconnect=args.partner_interconnect_name,
            partner_portal_url=args.partner_portal_url)
Exemple #5
0
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
        args,
        holder.resources,
        scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

    interconnect_attachment = client.InterconnectAttachment(
        attachment_ref, compute_client=holder.client)

    interconnect_ref = None
    if args.interconnect is not None:
      interconnect_ref = self.INTERCONNECT_ARG.ResolveAsResource(
          args, holder.resources)

    if args.router_region is None:
      args.router_region = attachment_ref.region

    if args.router_region != attachment_ref.region:
      raise parser_errors.ArgumentException(
          'router-region must be same as the attachment region.')

    router_ref = None
    if args.router is not None:
      router_ref = self.ROUTER_ARG.ResolveAsResource(args, holder.resources)

    return interconnect_attachment.CreateAlpha(
        description=args.description,
        interconnect=interconnect_ref,
        attachment_type='DEDICATED',
        router=router_ref,
        vlan_tag_802_1q=args.vlan,
        admin_enabled=args.admin_enabled,
        candidate_subnets=args.candidate_subnets,
        bandwidth=getattr(args, 'bandwidth', None))
 def _get_attachment(self, args):
     holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
     attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
         args,
         holder.resources,
         scope_lister=compute_flags.GetDefaultScopeLister(holder.client))
     return client.InterconnectAttachment(attachment_ref,
                                          compute_client=holder.client)
Exemple #7
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
            args, holder.resources)

        interconnect_attachment = client.InterconnectAttachment(
            ref, compute_client=holder.client)
        return interconnect_attachment.Describe()
Exemple #8
0
    def _Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

        interconnect_attachment = client.InterconnectAttachment(
            attachment_ref, compute_client=holder.client)

        interconnect_ref = None
        if args.interconnect is not None:
            interconnect_ref = self.INTERCONNECT_ARG.ResolveAsResource(
                args, holder.resources)

        if args.router_region is None:
            args.router_region = attachment_ref.region

        if args.router_region != attachment_ref.region:
            raise parser_errors.ArgumentException(
                'router-region must be same as the attachment region.')

        router_ref = None
        if args.router is not None:
            router_ref = self.ROUTER_ARG.ResolveAsResource(
                args, holder.resources)

        admin_enabled = attachment_flags.GetAdminEnabledFlag(args)

        ipsec_internal_addresses_urls = None
        region = attachment_ref.region
        if args.ipsec_internal_addresses is not None:
            ipsec_internal_addresses_urls = [
                attachment_flags.GetAddressRef(
                    holder.resources, name, region,
                    attachment_ref.project).SelfLink()
                for name in args.ipsec_internal_addresses
            ]

        return interconnect_attachment.CreateAlpha(
            description=args.description,
            interconnect=interconnect_ref,
            attachment_type='DEDICATED',
            router=router_ref,
            vlan_tag_802_1q=args.vlan,
            admin_enabled=admin_enabled,
            candidate_subnets=args.candidate_subnets,
            bandwidth=getattr(args, 'bandwidth', None),
            validate_only=getattr(args, 'dry_run', None),
            mtu=getattr(args, 'mtu', None),
            encryption=getattr(args, 'encryption', None),
            ipsec_internal_addresses=ipsec_internal_addresses_urls,
            stack_type=getattr(args, 'stack_type', None),
            candidate_ipv6_subnets=args.candidate_ipv6_subnets,
            cloud_router_ipv6_interface_id=getattr(
                args, 'cloud_router_ipv6_interface_id', None),
            customer_router_ipv6_interface_id=getattr(
                args, 'customer_router_ipv6_interface_id', None))
Exemple #9
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
            args,
            holder.resources,
            scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

        interconnect_attachment = client.InterconnectAttachment(
            attachment_ref, compute_client=holder.client)
        return interconnect_attachment.PatchGa(
            description=args.description, admin_enabled=args.admin_enabled)
Exemple #10
0
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    refs = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
        args, holder.resources)
    utils.PromptForDeletion(refs)

    requests = []
    for ref in refs:
      interconnect_attachment = client.InterconnectAttachment(
          ref, compute_client=holder.client)
      requests.extend(
          interconnect_attachment.Delete(only_generate_request=True))

    return holder.client.MakeRequests(requests)
Exemple #11
0
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    attachment_ref = self.INTERCONNECT_ATTACHMENT_ARG.ResolveAsResource(
        args,
        holder.resources,
        scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

    interconnect_attachment = client.InterconnectAttachment(
        attachment_ref, compute_client=holder.client)
    return interconnect_attachment.PatchGa(
        description=args.description,
        bandwidth=args.bandwidth,
        partner_name=args.partner_name,
        partner_interconnect=args.partner_interconnect_name,
        partner_portal_url=args.partner_portal_url)