# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Microsoft Storage Sync Backup Restore API version: 1.0.0 extends: openapi/microsoft-azure-backup-restore-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 35 - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prebackup'].post update: x-apievangelist-phrasing: intent: Prepare a cloud endpoint for backup effect: write questions: - What call do I make before backing up the Azure file share behind a File Sync cloud endpoint? - How do I signal Azure File Sync that a backup is about to start? instructions: - text: Run pre-backup on cloud endpoint {cloudEndpointName} in sync group {syncGroupName} of service {storageSyncServiceName}. slots: cloudEndpointName: path.cloudEndpointName syncGroupName: path.syncGroupName storageSyncServiceName: path.storageSyncServiceName - text: Prepare file share {azureFileShare} on cloud endpoint {cloudEndpointName} for backup. slots: azureFileShare: requestBody.azureFileShare cloudEndpointName: path.cloudEndpointName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postbackup'].post update: x-apievangelist-phrasing: intent: Finish a cloud endpoint backup effect: write questions: - How do I tell Azure File Sync that a file share backup has completed? - What step comes after the backup of a sync group's cloud endpoint finishes? instructions: - text: Run post-backup on cloud endpoint {cloudEndpointName} in sync group {syncGroupName} of service {storageSyncServiceName}. slots: cloudEndpointName: path.cloudEndpointName syncGroupName: path.syncGroupName storageSyncServiceName: path.storageSyncServiceName - text: Mark the backup of file share {azureFileShare} on endpoint {cloudEndpointName} as done. slots: azureFileShare: requestBody.azureFileShare cloudEndpointName: path.cloudEndpointName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prerestore'].post update: x-apievangelist-phrasing: intent: Prepare a cloud endpoint for restore effect: write questions: - What must I call before restoring files to a File Sync cloud endpoint? - Can I restore only specific files by passing a restore file spec? instructions: - text: Run pre-restore on cloud endpoint {cloudEndpointName} in sync group {syncGroupName} of service {storageSyncServiceName}. slots: cloudEndpointName: path.cloudEndpointName syncGroupName: path.syncGroupName storageSyncServiceName: path.storageSyncServiceName - text: Prepare endpoint {cloudEndpointName} to restore from {sourceAzureFileShareUri} using file spec {restoreFileSpec}. slots: cloudEndpointName: path.cloudEndpointName sourceAzureFileShareUri: requestBody.sourceAzureFileShareUri restoreFileSpec: requestBody.restoreFileSpec method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/restoreheartbeat'].post update: x-apievangelist-phrasing: intent: Send a restore heartbeat for a cloud endpoint effect: write questions: - How do I keep a File Sync restore session alive while it runs? - Is there a heartbeat call during a cloud endpoint restore? instructions: - text: Send a restore heartbeat for cloud endpoint {cloudEndpointName} in sync group {syncGroupName} of service {storageSyncServiceName}. slots: cloudEndpointName: path.cloudEndpointName syncGroupName: path.syncGroupName storageSyncServiceName: path.storageSyncServiceName - text: Ping the in-progress restore on endpoint {cloudEndpointName}. slots: cloudEndpointName: path.cloudEndpointName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postrestore'].post update: x-apievangelist-phrasing: intent: Finish a cloud endpoint restore effect: write questions: - How do I tell Azure File Sync a restore to the file share is complete? - Can I report which files failed during a cloud endpoint restore? instructions: - text: Run post-restore on cloud endpoint {cloudEndpointName} in sync group {syncGroupName} of service {storageSyncServiceName}. slots: cloudEndpointName: path.cloudEndpointName syncGroupName: path.syncGroupName storageSyncServiceName: path.storageSyncServiceName - text: Complete the restore on endpoint {cloudEndpointName} reporting failed files {failedFileList}. slots: cloudEndpointName: path.cloudEndpointName failedFileList: requestBody.failedFileList method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/afsShareMetadataCertificatePublicKeys'].get update: x-apievangelist-phrasing: intent: Get file share metadata signing certificate keys effect: read questions: - Where do I get the public keys used to sign Azure file share metadata for a cloud endpoint? - How can I verify the metadata signing certificate of a File Sync file share? instructions: - text: Get the AFS share metadata certificate public keys for endpoint {cloudEndpointName} in sync group {syncGroupName}, service {storageSyncServiceName}. slots: cloudEndpointName: path.cloudEndpointName syncGroupName: path.syncGroupName storageSyncServiceName: path.storageSyncServiceName - text: Fetch the metadata signing public keys of cloud endpoint {cloudEndpointName}. slots: cloudEndpointName: path.cloudEndpointName method: generated generated: '2026-09-26' - target: $.paths['/BackupRestore/BackupPolicies/$/Create'].post update: x-apievangelist-phrasing: intent: Create a Service Fabric backup policy effect: write questions: - How do I set up a periodic backup policy for my Service Fabric cluster? - Can the storage connection be validated before a new backup policy is saved? instructions: - text: Create a Service Fabric backup policy from {policy}. slots: policy: body.BackupPolicyDescription - text: Create backup policy {policy} and validate the storage connection first ({validate}). slots: policy: body.BackupPolicyDescription validate: query.ValidateConnection method: generated generated: '2026-10-01' - target: $.paths['/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete'].post update: x-apievangelist-phrasing: intent: Delete a backup policy effect: destructive questions: - Can I delete a backup policy that is still attached to an application? - What must happen before a Service Fabric backup policy can be removed? instructions: - text: Delete the backup policy {policy_name}. slots: policy_name: path.backupPolicyName - text: Remove unused backup policy {policy_name} from the cluster. slots: policy_name: path.backupPolicyName method: generated generated: '2026-10-01' - target: $.paths['/BackupRestore/BackupPolicies'].get update: x-apievangelist-phrasing: intent: List all backup policies effect: read questions: - Which backup policies are configured on my Service Fabric cluster? - Can I page through backup policies a few at a time? instructions: - text: List every backup policy configured on the cluster. - text: Show the first {max} backup policies. slots: max: query.MaxResults method: generated generated: '2026-10-01' - target: $.paths['/BackupRestore/BackupPolicies/{backupPolicyName}'].get update: x-apievangelist-phrasing: intent: Get a backup policy by name effect: read questions: - What schedule and storage does a specific backup policy use? - Where can I see the settings of one named backup policy? instructions: - text: Show the details of backup policy {policy_name}. slots: policy_name: path.backupPolicyName - text: Get the backup policy called {policy_name}. slots: policy_name: path.backupPolicyName method: generated generated: '2026-10-01' - target: $.paths['/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities'].get update: x-apievangelist-phrasing: intent: List entities using a backup policy effect: read questions: - Which applications, services or partitions are tied to a given backup policy? - What is still associated with a backup policy I want to retire? instructions: - text: List everything backed up under policy {policy_name}. slots: policy_name: path.backupPolicyName - text: Show the applications and partitions associated with backup policy {policy_name}. slots: policy_name: path.backupPolicyName method: generated generated: '2026-10-01' - target: $.paths['/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update'].post update: x-apievangelist-phrasing: intent: Update a backup policy effect: write questions: - How do I change the schedule of an existing backup policy? - Can I revalidate storage credentials when editing a backup policy? instructions: - text: Update backup policy {policy_name} with {policy}. slots: policy_name: path.backupPolicyName policy: body.BackupPolicyDescription - text: Change the existing policy {policy_name} to {policy} and validate the connection ({validate}). slots: policy_name: path.backupPolicyName policy: body.BackupPolicyDescription validate: query.ValidateConnection method: generated generated: '2026-10-01' - target: $.paths['/Applications/{applicationId}/$/EnableBackup'].post update: x-apievangelist-phrasing: intent: Enable periodic backup for an application effect: write questions: - How do I turn on periodic backups for a whole Service Fabric application? - Can every stateful partition of an application be backed up by one policy? instructions: - text: Enable periodic backup for application {application} using {backup}. slots: application: path.applicationId backup: body.EnableBackupDescription - text: Start backing up all stateful partitions of application {application} per {backup}. slots: application: path.applicationId backup: body.EnableBackupDescription method: generated generated: '2026-10-01' - target: $.paths['/Applications/{applicationId}/$/DisableBackup'].post update: x-apievangelist-phrasing: intent: Disable periodic backup for an application effect: write questions: - Can I stop periodic backups for an application that had them enabled? - What happens to application-level backups when I disable them? instructions: - text: Disable periodic backup for application {application}. slots: application: path.applicationId - text: Turn off application backups for {application} with options {options}. slots: application: path.applicationId options: body.DisableBackupDescription method: generated generated: '2026-10-01' - target: $.paths['/Applications/{applicationId}/$/GetBackupConfigurationInfo'].get update: x-apievangelist-phrasing: intent: Get an application's backup configuration effect: read questions: - Which backup policy applies to each service and partition in my application? - Where can I check how backup is configured for an application? instructions: - text: Show the backup configuration for application {application}. slots: application: path.applicationId - text: Get backup settings for application {application} and its partitions. slots: application: path.applicationId method: generated generated: '2026-10-01' - target: $.paths['/Applications/{applicationId}/$/GetBackups'].get update: x-apievangelist-phrasing: intent: List backups for an application effect: read questions: - What backups exist for every partition of my Service Fabric application? - Can I list only the latest backup of each partition in an application? instructions: - text: List backups for application {application}. slots: application: path.applicationId - text: List backups of application {application} taken between {start} and {end}. slots: application: path.applicationId start: query.StartDateTimeFilter end: query.EndDateTimeFilter - text: Show only the latest backup per partition for application {application} ({latest}). slots: application: path.applicationId latest: query.Latest method: generated generated: '2026-10-01' - target: $.paths['/Applications/{applicationId}/$/SuspendBackup'].post update: x-apievangelist-phrasing: intent: Suspend backups for an application effect: write questions: - Can I pause an application's periodic backups without removing its policy? - Is there a way to temporarily halt backups for an entire application? instructions: - text: Suspend periodic backup for application {application}. slots: application: path.applicationId - text: Pause backups on application {application} until I resume them. slots: application: path.applicationId method: generated generated: '2026-10-01' - target: $.paths['/Applications/{applicationId}/$/ResumeBackup'].post update: x-apievangelist-phrasing: intent: Resume backups for an application effect: write questions: - How do I restart backups on an application I previously suspended? - Will a resumed application follow its currently configured backup policy? instructions: - text: Resume periodic backup for application {application}. slots: application: path.applicationId - text: Restart the suspended backups on application {application}. slots: application: path.applicationId method: generated generated: '2026-10-01' - target: $.paths['/Services/{serviceId}/$/EnableBackup'].post update: x-apievangelist-phrasing: intent: Enable periodic backup for a service effect: write questions: - Can I enable backups for one Service Fabric service instead of the whole application? - How do I apply a backup policy to a single stateful service? instructions: - text: Enable periodic backup for service {service} using {backup}. slots: service: path.serviceId backup: body.EnableBackupDescription - text: Back up the stateful partitions of service {service} per {backup}. slots: service: path.serviceId backup: body.EnableBackupDescription method: generated generated: '2026-10-01' - target: $.paths['/Services/{serviceId}/$/DisableBackup'].post update: x-apievangelist-phrasing: intent: Disable periodic backup for a service effect: write questions: - Can I turn off backup for one service while the application keeps its policy? - What must be true before a service's backups can be disabled? instructions: - text: Disable periodic backup for service {service}. slots: service: path.serviceId - text: Turn off service backups for {service} with options {options}. slots: service: path.serviceId options: body.DisableBackupDescription method: generated generated: '2026-10-01' - target: $.paths['/Services/{serviceId}/$/GetBackupConfigurationInfo'].get update: x-apievangelist-phrasing: intent: Get a service's backup configuration effect: read questions: - Which backup policy is applied to a specific Service Fabric service? - Where do I see backup settings for a service and its partitions? instructions: - text: Show the backup configuration for service {service}. slots: service: path.serviceId - text: Get backup settings for service {service}. slots: service: path.serviceId method: generated generated: '2026-10-01' - target: $.paths['/Services/{serviceId}/$/GetBackups'].get update: x-apievangelist-phrasing: intent: List backups for a service effect: read questions: - What backups are available for every partition in a given service? - Can I filter a service's backups to a date range? instructions: - text: List backups for service {service}. slots: service: path.serviceId - text: List backups of service {service} taken between {start} and {end}. slots: service: path.serviceId start: query.StartDateTimeFilter end: query.EndDateTimeFilter method: generated generated: '2026-10-01' - target: $.paths['/Services/{serviceId}/$/SuspendBackup'].post update: x-apievangelist-phrasing: intent: Suspend backups for a service effect: write questions: - Can I temporarily pause backups for just one service? - Is there a way to halt a service's periodic backups without disabling them? instructions: - text: Suspend periodic backup for service {service}. slots: service: path.serviceId - text: Pause backups on service {service}. slots: service: path.serviceId method: generated generated: '2026-10-01' - target: $.paths['/Services/{serviceId}/$/ResumeBackup'].post update: x-apievangelist-phrasing: intent: Resume backups for a service effect: write questions: - How do I resume backups on a service that I suspended? - Does a resumed service go back to its configured backup policy? instructions: - text: Resume periodic backup for service {service}. slots: service: path.serviceId - text: Restart the suspended backups on service {service}. slots: service: path.serviceId method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/EnableBackup'].post update: x-apievangelist-phrasing: intent: Enable periodic backup for a partition effect: write questions: - Can I enable periodic backup on a single stateful partition? - How do I give one partition its own backup policy? instructions: - text: Enable periodic backup for partition {partition} using {backup}. slots: partition: path.partitionId backup: body.EnableBackupDescription - text: Back up partition {partition} on the schedule in {backup}. slots: partition: path.partitionId backup: body.EnableBackupDescription method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/DisableBackup'].post update: x-apievangelist-phrasing: intent: Disable periodic backup for a partition effect: write questions: - Can I disable backups on one partition that I enabled earlier? - What happens to a partition's backups when I turn them off? instructions: - text: Disable periodic backup for partition {partition}. slots: partition: path.partitionId - text: Turn off partition backups for {partition} with options {options}. slots: partition: path.partitionId options: body.DisableBackupDescription method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/GetBackupConfigurationInfo'].get update: x-apievangelist-phrasing: intent: Get a partition's backup configuration effect: read questions: - Which backup policy is in effect for a specific partition? - Where can I check whether a partition's backup is suspended? instructions: - text: Show the backup configuration for partition {partition}. slots: partition: path.partitionId - text: Get backup settings for partition {partition}. slots: partition: path.partitionId method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/GetBackups'].get update: x-apievangelist-phrasing: intent: List backups for a partition effect: read questions: - What backup points exist for one specific partition? - Can I get just the most recent backup of a partition? instructions: - text: List backups for partition {partition}. slots: partition: path.partitionId - text: List backups of partition {partition} taken between {start} and {end}. slots: partition: path.partitionId start: query.StartDateTimeFilter end: query.EndDateTimeFilter method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/SuspendBackup'].post update: x-apievangelist-phrasing: intent: Suspend backups for a partition effect: write questions: - Can I pause periodic backups on a single partition? - Is there a way to stop a partition's backups temporarily? instructions: - text: Suspend periodic backup for partition {partition}. slots: partition: path.partitionId - text: Pause backups on partition {partition}. slots: partition: path.partitionId method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/ResumeBackup'].post update: x-apievangelist-phrasing: intent: Resume backups for a partition effect: write questions: - How do I resume backups on a partition I paused? - Will a partition pick up its configured policy again after resuming? instructions: - text: Resume periodic backup for partition {partition}. slots: partition: path.partitionId - text: Restart the suspended backups on partition {partition}. slots: partition: path.partitionId method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/Backup'].post update: x-apievangelist-phrasing: intent: Back up a partition now effect: write questions: - How do I take an on-demand backup of a partition's state right now? - Can I set how long to wait for an ad hoc partition backup to finish? instructions: - text: Back up partition {partition} now. slots: partition: path.partitionId - text: Trigger a backup of partition {partition} with a {minutes}-minute timeout. slots: partition: path.partitionId minutes: query.BackupTimeout - text: Take a one-off backup of partition {partition} to storage {target}. slots: partition: path.partitionId target: body.BackupPartitionDescription method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/GetBackupProgress'].get update: x-apievangelist-phrasing: intent: Check a partition's latest backup progress effect: read questions: - Did the last backup I triggered on a partition succeed or fail? - What is the state of the most recent partition backup? instructions: - text: Check the progress of the latest backup on partition {partition}. slots: partition: path.partitionId - text: Show why the last backup of partition {partition} failed. slots: partition: path.partitionId method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/Restore'].post update: x-apievangelist-phrasing: intent: Restore a partition from a backup effect: destructive questions: - How do I restore a partition's state from a specific backup point? - Can I set a timeout for a partition restore? instructions: - text: Restore partition {partition} from backup {restore}. slots: partition: path.partitionId restore: body.RestorePartitionDescription - text: Restore partition {partition} using {restore} with a {minutes}-minute timeout. slots: partition: path.partitionId restore: body.RestorePartitionDescription minutes: query.RestoreTimeout method: generated generated: '2026-10-01' - target: $.paths['/Partitions/{partitionId}/$/GetRestoreProgress'].get update: x-apievangelist-phrasing: intent: Check a partition's latest restore progress effect: read questions: - Has the restore I started on a partition completed? - Why did the latest partition restore fail? instructions: - text: Check the progress of the latest restore on partition {partition}. slots: partition: path.partitionId - text: Show the restore status and failure reason for partition {partition}. slots: partition: path.partitionId method: generated generated: '2026-10-01' - target: $.paths['/BackupRestore/$/GetBackups'].post update: x-apievangelist-phrasing: intent: List backups at a storage location effect: read questions: - Can I find backups for an entity directly in a file share or blob store? - Which backups sit at a given backup location for a deleted application? instructions: - text: List backups at the location described in {query}. slots: query: body.GetBackupByStorageQueryDescription - text: Find up to {max} backups in backup storage matching {query}. slots: max: query.MaxResults query: body.GetBackupByStorageQueryDescription method: generated generated: '2026-10-01'