public ProtectionPolicyResourceInner createOrUpdate(String vaultName, String resourceGroupName, String policyName, ProtectionPolicyResourceInner resourceProtectionPolicy) {
        return createOrUpdateWithServiceResponseAsync(vaultName, resourceGroupName, policyName, resourceProtectionPolicy).toBlocking().single().body();
    }
public ProtectionPolicyResourceInner createOrUpdate ( String vaultName , String resourceGroupName , String policyName , ProtectionPolicyResourceInner resourceProtectionPolicy ) { return createOrUpdateWithServiceResponseAsync ( vaultName , resourceGroupName , policyName , resourceProtectionPolicy ) . toBlocking ( ) . single ( ) . body ( ) ; }
Creates or modifies a backup policy. This is an asynchronous operation. Use the GetPolicyOperationResult API to Get the operation status.

@param vaultName The name of the Recovery Services vault.
@param resourceGroupName The name of the resource group associated with the Recovery Services vault.
@param policyName The backup policy to be created.
@param resourceProtectionPolicy The resource backup policy.
@throws IllegalArgumentException thrown if parameters fail the validation
@throws CloudException thrown if the request is rejected by server
@throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
@return the ProtectionPolicyResourceInner object if successful.