code: public Observable<ManagementLockObjectInner> createOrUpdateAtSubscriptionLevelAsync(String lockName, ManagementLockObjectInner parameters) {
          return createOrUpdateAtSubscriptionLevelWithServiceResponseAsync(lockName, parameters).map(new Func1<ServiceResponse<ManagementLockObjectInner>, ManagementLockObjectInner>() {
              @Override
              public ManagementLockObjectInner call(ServiceResponse<ManagementLockObjectInner> response) {
                  return response.body();
              }
          });
      }
docs: Creates or updates a management lock at the subscription level.
  When you apply a lock at a parent scope, all child resources inherit the same lock. To create management locks, you must have access to Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access Administrator are granted those actions.
  
  @param lockName The name of lock. The lock name can be a maximum of 260 characters. It cannot contain &lt;, &gt; %, &amp;, :, \, ?, /, or any control characters.
  @param parameters The management lock parameters.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the ManagementLockObjectInner object