def set_resource_ownership()

in marketplace/deployer_util/resources.py [0:0]


def set_resource_ownership(owner_uid, owner_name, owner_api_version, owner_kind,
                           resource):
  """ Set the owner of the given resource. """

  if 'metadata' not in resource:
    resource['metadata'] = {}
  if 'ownerReferences' not in resource['metadata']:
    resource['metadata']['ownerReferences'] = []

  owner_reference = None
  for existing_owner_reference in resource['metadata']['ownerReferences']:
    if existing_owner_reference['uid'] == owner_uid:
      owner_reference = existing_owner_reference
      break

  if not owner_reference:
    owner_reference = {}
    resource['metadata']['ownerReferences'].append(owner_reference)

  owner_reference['apiVersion'] = owner_api_version
  owner_reference['kind'] = owner_kind
  owner_reference['blockOwnerDeletion'] = True
  owner_reference['name'] = owner_name
  owner_reference['uid'] = owner_uid