Beispiel #1
0
    def Run(self, args):
        messages = tags.TagMessages()

        if args.tag_value.find("tagValues/") == 0:
            tag_value = args.tag_value
        else:
            tag_value = tag_utils.GetTagValueFromNamespacedName(
                args.tag_value).name

        binding_name = "/".join(
            ["tagBindings",
             quote(args.parent, safe=""), tag_value])
        del_req = messages.CloudresourcemanagerTagBindingsDeleteRequest(
            name=binding_name)

        location = args.location if args.IsSpecified("location") else None
        with endpoints.CrmEndpointOverrides(location):
            service = tags.TagBindingsService()
            op = service.Delete(del_req)

            if args.async_ or op.done:
                return op
            else:
                return operations.WaitForOperation(
                    op,
                    "Waiting for TagBinding for resource [{}] and tag value [{}] to be "
                    "deleted with [{}]".format(args.parent, args.tag_value,
                                               op.name),
                    service=service)
Beispiel #2
0
    def Run(self, args):
        messages = tags.TagMessages()

        if args.tag_value.find("tagValues/") == 0:
            tag_value = args.tag_value
        else:
            tag_value = tag_utils.GetTagValueFromNamespacedName(
                args.tag_value).name

        tag_binding = messages.TagBinding(parent=args.parent,
                                          tagValue=tag_value)

        create_req = messages.CloudresourcemanagerTagBindingsCreateRequest(
            tagBinding=tag_binding)

        location = args.location if args.IsSpecified("location") else None
        with endpoints.CrmEndpointOverrides(location):
            service = tags.TagBindingsService()
            op = service.Create(create_req)

            if args.async_ or op.done:
                return op
            else:
                return operations.WaitForOperation(
                    op,
                    "Waiting for TagBinding for parent [{}] and tag value [{}] to be "
                    "created with [{}]".format(args.parent, args.tag_value,
                                               op.name),
                    service=service)
Beispiel #3
0
    def Run(self, args):
        service = tags.TagKeysService()
        messages = tags.TagMessages()

        if args.RESOURCE_NAME.find('tagKeys/') == 0:
            tag_key = args.RESOURCE_NAME
        else:
            tag_key = tag_utils.GetTagKeyFromNamespacedName(
                args.RESOURCE_NAME).name

        delete_request = messages.CloudresourcemanagerTagKeysDeleteRequest(
            name=tag_key)

        op = service.Delete(delete_request)

        if args.async_:
            return op

        return operations.WaitForOperation(
            op,
            'Waiting for TagKey [{}] to be deleted'.format(tag_key),
            service=service)
Beispiel #4
0
    def Run(self, args):
        service = tags.TagKeysService()
        messages = tags.TagMessages()

        short_name = args.short_name
        tag_parent = args.parent
        description = args.description

        tag_key = messages.TagKey(shortName=short_name,
                                  parent=tag_parent,
                                  description=description)
        create_req = messages.CloudresourcemanagerTagKeysCreateRequest(
            tagKey=tag_key)
        op = service.Create(create_req)

        if args.async_:
            return op

        return operations.WaitForOperation(
            op,
            "Waiting for TagKey [{}] to be created".format(short_name),
            service=service)
Beispiel #5
0
  def Run(self, args):
    service = tags.TagValuesService()
    messages = tags.TagMessages()

    if args.RESOURCE_NAME.find('tagValues/') == 0:
      tag_value = tag_utils.GetResourceFromNamespacedName(
          args.RESOURCE_NAME, 'tagValues')
    else:
      tag_value = tag_utils.GetTagValueFromNamespacedName(
          args.RESOURCE_NAME)

    tag_value.description = args.description

    update_request = messages.CloudresourcemanagerTagValuesPatchRequest(
        name=tag_value.name, tagValue=tag_value, updateMask='description')
    op = service.Patch(update_request)

    if args.async_:
      return op

    return operations.WaitForOperation(
        op,
        'Waiting for TagValue [{}] to be updated'.format(tag_value.name),
        service=service)