Esempio n. 1
0
    def Run(self, args):
        labelkeys_service = labelmanager.LabelKeysService()
        labelmanager_messages = labelmanager.LabelManagerMessages()

        if args.IsSpecified('label_parent'):
            label_key = utils.GetLabelKeyFromDisplayName(
                args.LABEL_KEY_ID, args.label_parent)
        else:
            label_key = args.LABEL_KEY_ID

        get_iam_policy_req = (
            labelmanager_messages.LabelmanagerLabelKeysGetIamPolicyRequest(
                resource=label_key))
        policy = labelkeys_service.GetIamPolicy(get_iam_policy_req)
        condition = iam_util.ValidateAndExtractConditionMutexRole(args)
        iam_util.RemoveBindingFromIamPolicyWithCondition(
            policy, args.member, args.role, condition, args.all)

        set_iam_policy_request = labelmanager_messages.SetIamPolicyRequest(
            policy=policy)
        request = labelmanager_messages.LabelmanagerLabelKeysSetIamPolicyRequest(
            resource=label_key, setIamPolicyRequest=set_iam_policy_request)
        result = labelkeys_service.SetIamPolicy(request)
        iam_util.LogSetIamPolicy(label_key, 'LabelKey')
        return result
Esempio n. 2
0
    def Run(self, args):
        labelkeys_service = labelmanager.LabelKeysService()
        labelmanager_messages = labelmanager.LabelManagerMessages()

        if args.IsSpecified('label_parent'):
            label_key = utils.GetLabelKeyFromDisplayName(
                args.LABEL_KEY_ID, args.label_parent)
        else:
            label_key = args.LABEL_KEY_ID

        request = labelmanager_messages.LabelmanagerLabelKeysGetIamPolicyRequest(
            resource=label_key)
        return labelkeys_service.GetIamPolicy(request)
Esempio n. 3
0
    def Run(self, args):
        labelkeys_service = labelmanager.LabelKeysService()
        labelmanager_messages = labelmanager.LabelManagerMessages()

        label_key_id = args.LABEL_KEY_ID

        if args.IsSpecified('label_parent'):
            label_key = utils.GetLabelKeyFromDisplayName(
                label_key_id, args.label_parent)
        else:
            label_key = label_key_id

        get_request = labelmanager_messages.LabelmanagerLabelKeysGetRequest(
            name=label_key)
        return labelkeys_service.Get(get_request)
Esempio n. 4
0
    def Run(self, args):
        labelvalues_service = labelmanager.LabelValuesService()
        labelmanager_messages = labelmanager.LabelManagerMessages()

        label_key_id = args.label_key

        if args.IsSpecified('label_parent'):
            label_key = utils.GetLabelKeyFromDisplayName(
                label_key_id, args.label_parent)
        else:
            label_key = label_key_id

        list_request = labelmanager_messages.LabelmanagerLabelValuesListRequest(
            parent=label_key)
        response = labelvalues_service.List(list_request)
        return response.values
    def Run(self, args):
        labelkeys_service = labelmanager.LabelKeysService()
        labelmanager_messages = labelmanager.LabelManagerMessages()

        if args.IsSpecified('label_parent'):
            label_key = utils.GetLabelKeyFromDisplayName(
                args.LABEL_KEY_ID, args.label_parent)
        else:
            label_key = args.LABEL_KEY_ID

        delete_request = labelmanager_messages.LabelmanagerLabelKeysDeleteRequest(
            name=label_key)
        op = labelkeys_service.Delete(delete_request)

        if op.response is not None:
            response_dict = encoding.MessageToPyValue(op.response)
            del response_dict['@type']
            return response_dict
        else:
            raise operations.OperationError(op.error.message)
Esempio n. 6
0
  def Run(self, args):
    labelkeys_service = labelmanager.LabelKeysService()
    labelmanager_messages = labelmanager.LabelManagerMessages()

    if args.IsSpecified('label_parent'):
      label_key = utils.GetLabelKeyFromDisplayName(args.LABEL_KEY_ID,
                                                   args.label_parent)
    else:
      label_key = args.LABEL_KEY_ID

    delete_request = labelmanager_messages.LabelmanagerLabelKeysDeleteRequest(
        name=label_key)
    op = labelkeys_service.Delete(delete_request)

    if args.async_:
      return op
    else:
      done_op = operations.WaitForOperation(
          op, 'Waiting for label [{}] to be deleted with [{}]'.format(
              args.LABEL_KEY_ID, op.name), labelkeys_service)
      return done_op
Esempio n. 7
0
  def Run(self, args):
    labelbindings_service = labelmanager.LabelBindingsService()
    labelmanager_messages = labelmanager.LabelManagerMessages()

    if args.IsSpecified('label_key'):
      label_key = args.label_key
      if args.IsSpecified('label_parent'):
        label_key = utils.GetLabelKeyFromDisplayName(args.label_key,
                                                     args.label_parent)
      label_value = utils.GetLabelValueFromDisplayName(args.LABEL_VALUE_ID,
                                                       label_key)
    else:
      label_value = args.LABEL_VALUE_ID

    binding = labelmanager_messages.LabelBinding(
        labelValue=label_value, resource=args.resource)
    create_request = labelmanager_messages.CreateLabelBindingRequest(
        labelBinding=binding)

    request = labelmanager_messages.LabelmanagerLabelValuesLabelBindingsCreateRequest(
        createLabelBindingRequest=create_request, labelValuesId=label_value)
    return labelbindings_service.Create(request)
    def Run(self, args):
        labelkeys_service = labelmanager.LabelKeysService()
        labelmanager_messages = labelmanager.LabelManagerMessages()

        if args.IsSpecified('label_parent'):
            label_key = utils.GetLabelKeyFromDisplayName(
                args.LABEL_KEY_ID, args.label_parent)
        else:
            label_key = args.LABEL_KEY_ID

        policy = iam_util.ParsePolicyFile(args.POLICY_FILE,
                                          labelmanager_messages.Policy)
        policy.version = iam_util.MAX_LIBRARY_IAM_SUPPORTED_VERSION

        set_iam_policy_request = labelmanager_messages.SetIamPolicyRequest(
            policy=policy)

        request = labelmanager_messages.LabelmanagerLabelKeysSetIamPolicyRequest(
            resource=label_key, setIamPolicyRequest=set_iam_policy_request)
        result = labelkeys_service.SetIamPolicy(request)
        iam_util.LogSetIamPolicy(label_key, 'LabelKey')
        return result
Esempio n. 9
0
    def Run(self, args):
        labelvalues_service = labelmanager.LabelValuesService()
        labelmanager_messages = labelmanager.LabelManagerMessages()

        if args.IsSpecified('label_parent'):
            label_key = utils.GetLabelKeyFromDisplayName(
                args.label_key, args.label_parent)
        else:
            label_key = args.label_key

        create_request = labelmanager_messages.LabelValue(
            displayName=args.DISPLAY_NAME,
            parent=label_key,
            description=args.description)
        op = labelvalues_service.Create(create_request)

        if args.async_:
            return op
        else:
            return operations.WaitForOperation(
                op,
                'Waiting for label value [{}] to be created with [{}]'.format(
                    args.DISPLAY_NAME, op.name),
                service=labelvalues_service)