parameters: (assetId, aclUpdate)
return_statement: return
docstring: Sets the access control list of the asset with the given ID.
  
    The owner ACL cannot be changed, and the final ACL of the asset
    is constructed by merging the OWNER entries of the old ACL with
    the incoming ACL record.
  
    Args:
      assetId: The ID of the asset to set the ACL on.
      aclUpdate: The updated ACL for the asset. Must be formatted like the
          value returned by getAssetAcl but without "owners".
docstring_summary: Sets the access control list of the asset with the given ID.
docstring_tokens: Sets the access control list of the asset with the given ID .
function: def setAssetAcl(assetId, aclUpdate):
    """Sets the access control list of the asset with the given ID.
  
    The owner ACL cannot be changed, and the final ACL of the asset
    is constructed by merging the OWNER entries of the old ACL with
    the incoming ACL record.
  
    Args:
      assetId: The ID of the asset to set the ACL on.
      aclUpdate: The updated ACL for the asset. Must be formatted like the
          value returned by getAssetAcl but without "owners".
    """
    # The ACL may be a string by the time it gets to us. Sigh.
    if isinstance(aclUpdate, six.string_types):
      aclUpdate = json.loads(aclUpdate)
    setIamPolicy(assetId, _cloud_api_utils.convert_acl_to_iam_policy(aclUpdate))
    return
function_tokens: def setAssetAcl ( assetId , aclUpdate ) : # The ACL may be a string by the time it gets to us. Sigh. if isinstance ( aclUpdate , six . string_types ) : aclUpdate = json . loads ( aclUpdate ) setIamPolicy ( assetId , _cloud_api_utils . convert_acl_to_iam_policy ( aclUpdate ) ) return