def apply_with_http_info(snapshot_id, object_id, mode:nil, custom_headers:nil)
      apply_async(snapshot_id, object_id, mode:mode, custom_headers:custom_headers).value!
    end
def apply_with_http_info(snapshot_id, object_id, mode:nil, custom_headers:nil)
      apply_async(snapshot_id, object_id, mode:mode, custom_headers:custom_headers).value!
    end
Submit an operation to apply a snapshot to current subscription. For each
 snapshot, only subscriptions included in the applyScope of Snapshot - Take
 can apply it.<br />
 The snapshot interfaces are for users to backup and restore their face data
 from one face subscription to another, inside same region or across regions.
 The workflow contains two phases, user first calls Snapshot - Take to create
 a copy of the source object and store it as a snapshot, then calls Snapshot -
 Apply to paste the snapshot to target subscription. The snapshots are stored
 in a centralized location (per Azure instance), so that they can be applied
 cross accounts and regions.<br />
 Applying snapshot is an asynchronous operation. An operation id can be
 obtained from the "Operation-Location" field in response header, to be used
 in OperationStatus - Get for tracking the progress of applying the snapshot.
 The target object id will be included in the "resourceLocation" field in
 OperationStatus - Get response when the operation status is "succeeded".<br
 />
 Snapshot applying time depends on the number of person and face entries in
 the snapshot object. It could be in seconds, or up to 1 hour for 1,000,000
 persons with multiple faces.<br />
 Snapshots will be automatically expired and cleaned in 48 hours after it is
 created by Snapshot - Take. So the target subscription is required to apply
 the snapshot in 48 hours since its creation.<br />
 Applying a snapshot will not block any other operations against the target
 object, however it is not recommended because the correctness cannot be
 guaranteed during snapshot applying. After snapshot applying is completed,
 all operations towards the target object can work as normal. Snapshot also
 includes the training results of the source object, which means target
 subscription the snapshot applied to does not need re-train the target object
 before calling Identify/FindSimilar.<br />
 One snapshot can be applied multiple times in parallel, while currently only
 CreateNew apply mode is supported, which means the apply operation will fail
 if target subscription already contains an object of same type and using the
 same objectId. Users can specify the "objectId" in request body to avoid such
 conflicts.<br />
 * Free-tier subscription quota: 100 apply operations per month.
 * S0-tier subscription quota: 100 apply operations per day.

 @param snapshot_id Id referencing a particular snapshot.
 @param object_id [String] User specified target object id to be created from
 the snapshot.
 @param mode [SnapshotApplyMode] Snapshot applying mode. Currently only
 CreateNew is supported, which means the apply operation will fail if target
 subscription already contains an object of same type and using the same
 objectId. Users can specify the "objectId" in request body to avoid such
 conflicts. Possible values include: 'CreateNew'
 @param custom_headers [Hash{String => String}] A hash of custom headers that
 will be added to the HTTP request.

 @return [MsRestAzure::AzureOperationResponse] HTTP response information.