コード例 #1
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
        interconnect = client.Interconnect(ref, compute_client=holder.client)

        macsec = interconnect.Describe().macsec
        if macsec is None:
            macsec = holder.client.messages.InterconnectMacsec()

        if all(key.name != args.key_name for key in macsec.preSharedKeys):
            macsec.preSharedKeys.append(
                holder.client.messages.InterconnectMacsecPreSharedKey(
                    name=args.key_name, startTime=args.start_time))

        return interconnect.PatchAlpha(description=None,
                                       interconnect_type=None,
                                       requested_link_count=None,
                                       link_type=None,
                                       admin_enabled=None,
                                       noc_contact_email=None,
                                       location=None,
                                       labels=None,
                                       label_fingerprint=None,
                                       macsec_enabled=None,
                                       macsec=macsec)
コード例 #2
0
  def _DoRun(self, args, support_labels=False):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
    interconnect = client.Interconnect(ref, compute_client=holder.client)

    labels = None
    label_fingerprint = None
    if support_labels:
      labels_diff = labels_util.Diff.FromUpdateArgs(args)
      if labels_diff.MayHaveUpdates():
        old_interconnect = interconnect.Describe()
        labels = labels_diff.Apply(
            holder.client.messages.Interconnect.LabelsValue,
            old_interconnect.labels).GetOrNone()
        if labels is not None:
          label_fingerprint = old_interconnect.labelFingerprint

    return interconnect.Patch(
        description=args.description,
        interconnect_type=None,
        requested_link_count=args.requested_link_count,
        link_type=None,
        admin_enabled=args.admin_enabled,
        noc_contact_email=args.noc_contact_email,
        location=None,
        labels=labels,
        label_fingerprint=label_fingerprint
    )
コード例 #3
0
ファイル: delete.py プロジェクト: saranraju90/multik8s
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    refs = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
    utils.PromptForDeletion(refs)

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

    return holder.client.MakeRequests(requests)
コード例 #4
0
ファイル: patch.py プロジェクト: talentdeveloper/casino_bot
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
        interconnect = client.Interconnect(ref, compute_client=holder.client)

        return interconnect.Patch(
            description=args.description,
            interconnect_type=None,
            requested_link_count=args.requested_link_count,
            link_type=None,
            admin_enabled=args.admin_enabled,
            noc_contact_email=args.noc_contact_email,
            location=None)
コード例 #5
0
ファイル: create.py プロジェクト: bopopescu/OCR-tickets
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
        interconnect = client.Interconnect(ref, compute_client=holder.client)

        enum_values = flags.ResolveInterconnectEnumValues(args, holder)
        interconnect_type = enum_values['interconnect_type']
        link_type = enum_values['link_type']

        location_ref = self.LOCATION_ARG.ResolveAsResource(
            args, holder.resources)

        return interconnect.Create(
            description=args.description,
            interconnect_type=interconnect_type,
            requested_link_count=args.requested_link_count,
            link_type=link_type,
            admin_enabled=args.admin_enabled,
            noc_contact_email=args.noc_contact_email,
            location=location_ref.SelfLink())
コード例 #6
0
ファイル: create.py プロジェクト: gabrielbessler/HackTech2019
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
    interconnect = client.Interconnect(ref, compute_client=holder.client)
    location_ref = self.LOCATION_ARG.ResolveAsResource(args, holder.resources)

    messages = holder.client.messages
    interconnect_type = flags.GetInterconnectType(messages,
                                                  args.interconnect_type)
    link_type = flags.GetLinkType(messages, args.link_type)

    return interconnect.Create(
        description=args.description,
        interconnect_type=interconnect_type,
        requested_link_count=args.requested_link_count,
        link_type=link_type,
        admin_enabled=args.admin_enabled,
        noc_contact_email=args.noc_contact_email,
        location=location_ref.SelfLink(),
        customer_name=args.customer_name)
コード例 #7
0
    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
        interconnect = client.Interconnect(ref, compute_client=holder.client)

        macsec = None
        if args.fail_open is not None:
            macsec = interconnect.Describe().macsec
            macsec.failOpen = args.fail_open

        return interconnect.PatchAlpha(description=None,
                                       interconnect_type=None,
                                       requested_link_count=None,
                                       link_type=None,
                                       admin_enabled=None,
                                       noc_contact_email=None,
                                       location=None,
                                       labels=None,
                                       label_fingerprint=None,
                                       macsec_enabled=args.enabled,
                                       macsec=macsec)
コード例 #8
0
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)
    interconnect = client.Interconnect(ref, compute_client=holder.client)

    macsec = interconnect.Describe().macsec
    keys = macsec.preSharedKeys
    macsec.preSharedKeys = [key for key in keys if key.name != args.key_name]

    return interconnect.PatchAlpha(
        description=None,
        interconnect_type=None,
        requested_link_count=None,
        link_type=None,
        admin_enabled=None,
        noc_contact_email=None,
        location=None,
        labels=None,
        label_fingerprint=None,
        macsec_enabled=None,
        macsec=macsec)
コード例 #9
0
  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    ref = self.INTERCONNECT_ARG.ResolveAsResource(args, holder.resources)

    interconnect = client.Interconnect(ref, compute_client=holder.client)
    return interconnect.Describe()