diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-1.json new file mode 100644 index 000000000000..2a7638588821 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-1.json @@ -0,0 +1,12 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, which is already configured for periodic backups. The newly created backup will be saved at the same location where the periodic backups are being saved.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": {} + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-2.json new file mode 100644 index 000000000000..9aa037a4d490 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-2.json @@ -0,0 +1,18 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-3.json new file mode 100644 index 000000000000..eca9e99ad921 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-3.json @@ -0,0 +1,19 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific file share accessible from all cluster nodes.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "FileShare", + "Path": "\\\\myshare\\backupshare", + "PrimaryUserName": "mydomain\\backupaccount", + "PrimaryPassword": "password" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-4.json new file mode 100644 index 000000000000..e77b1a9f010d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-4.json @@ -0,0 +1,18 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Dsms Azure blob storage location.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "DsmsAzureBlobStore", + "StorageCredentialsSourceLocation": "https://sample-dsms.dsms.core.winows.net/dsms/samplecredentiallocation/storageaccounts/samplestorageac/servicefabricbackup/samplebackup", + "ContainerName": "BackupContainer" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-5.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-5.json new file mode 100644 index 000000000000..0a5ff384d065 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/BackupPartition-5.json @@ -0,0 +1,19 @@ +{ + "operationId": "BackupPartition", + "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account using managed identity.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "BackupPartitionDescription": { + "BackupStorage": { + "StorageKind": "ManagedIdentityAzureBlobStore", + "BlobServiceUri": "https://managedidentitytest.blob.core.windows.net/", + "ContainerName": "BackupContainer", + "ManagedIdentityType": "Cluster" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateApplication-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateApplication-1.json new file mode 100644 index 000000000000..815b59ce3e50 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateApplication-1.json @@ -0,0 +1,15 @@ +{ + "operationId": "CreateApplication", + "description": "This example shows how to create a Service Fabric application without overriding any application parameter values.", + "parameters": { + "api-version": "6.0", + "ApplicationDescription": { + "Name": "fabric:/samples/CalcApp", + "TypeVersion": "1.0", + "TypeName": "CalculatorApp" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-1.json new file mode 100644 index 000000000000..a2bb056ee6d0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-1.json @@ -0,0 +1,34 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Azure blob store as the backup location.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "FriendlyName": "Azure_storagesample", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P3M" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-2.json new file mode 100644 index 000000000000..bdbd7b8ec42d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-2.json @@ -0,0 +1,31 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup every 10 minutes which shall get deleted after 20 days, with file share as the backup location.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "FileShare10MinBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "FrequencyBased", + "Interval": "PT10M" + }, + "Storage": { + "StorageKind": "FileShare", + "FriendlyName": "FileShare_myshare", + "Path": "\\\\myshare\\backupshare", + "PrimaryUserName": "backupaccount", + "PrimaryPassword": "password" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P20D" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-3.json new file mode 100644 index 000000000000..9c6068a735f8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-3.json @@ -0,0 +1,34 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Dsms Azure blob store as the backup location.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "SampleDsmsBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "DsmsAzureBlobStore", + "FriendlyName": "DsmsAzure_storagesample", + "StorageCredentialsSourceLocation": "https://sample-dsms.dsms.core.winows.net/dsms/samplecredentiallocation/storageaccounts/samplestorageac/servicefabricbackup/samplebackup", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P3M" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-4.json new file mode 100644 index 000000000000..f744fbccc22a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateBackupPolicy-4.json @@ -0,0 +1,35 @@ +{ + "operationId": "CreateBackupPolicy", + "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Azure blob store as the backup location using managed identity.", + "parameters": { + "api-version": "6.4", + "BackupPolicyDescription": { + "Name": "DailyAzureMIBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "ManagedIdentityAzureBlobStore", + "FriendlyName": "AzureMI_storagesample", + "BlobServiceUri": "https://managedidentitytest.blob.core.windows.net/", + "ContainerName": "BackupContainer", + "ManagedIdentityType": "Cluster" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P3M" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateName-1.json new file mode 100644 index 000000000000..39588770e334 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateName-1.json @@ -0,0 +1,13 @@ +{ + "operationId": "CreateName", + "description": "This example shows how to create a new Service Fabric name. The name can be created under an existing name that represents an appliction or a service or under a completely new name.", + "parameters": { + "api-version": "6.0", + "NameDescription": { + "Name": "fabric:/samples/CalculatorApp/CalculatorService/Name-1" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-1.json new file mode 100644 index 000000000000..a969c12cd8a9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-1.json @@ -0,0 +1,21 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a basic stateless Service Fabric service.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateless", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test1", + "ServiceTypeName": "StatelessFrontendService", + "PartitionDescription": { + "PartitionScheme": "Singleton" + }, + "InstanceCount": 4 + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-2.json new file mode 100644 index 000000000000..bc7ada6bb8be --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-2.json @@ -0,0 +1,23 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a basic stateful Service Fabric service.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateful", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test2", + "ServiceTypeName": "StatefulBackendService", + "PartitionDescription": { + "PartitionScheme": "Singleton" + }, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "HasPersistedState": false + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-3.json new file mode 100644 index 000000000000..75eaaea023df --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-3.json @@ -0,0 +1,47 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a stateless Service Fabric service with a dns name definied and auto scaling based on cpu usage.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateless", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test1", + "ServiceTypeName": "StatelessFrontendService", + "InitializationData": [], + "PartitionDescription": { + "PartitionScheme": "Singleton" + }, + "InstanceCount": 2, + "PlacementConstraints": "Color==Blue", + "CorrelationScheme": [], + "ServiceLoadMetrics": [], + "ServicePlacementPolicies": [], + "DefaultMoveCost": "Low", + "IsDefaultMoveCostSpecified": true, + "ServicePackageActivationMode": "ExclusiveProcess", + "ServiceDnsName": "test1.test", + "ScalingPolicies": [ + { + "ScalingTrigger": { + "Kind": "AveragePartitionLoad", + "MetricName": "servicefabric:/_CpuCores", + "LowerLoadThreshold": "0.300000", + "UpperLoadThreshold": "0.800000", + "ScaleIntervalInSeconds": 600 + }, + "ScalingMechanism": { + "Kind": "PartitionInstanceCount", + "MinInstanceCount": 1, + "MaxInstanceCount": 6, + "ScaleIncrement": 2 + } + } + ] + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-4.json new file mode 100644 index 000000000000..23f6a2ad6c29 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/CreateService-4.json @@ -0,0 +1,47 @@ +{ + "operationId": "CreateService", + "description": "This example shows how to create a stateful Service Fabric service with named partitions and scaling enabled based on memory usage.", + "parameters": { + "applicationId": "test", + "api-version": "6.0", + "ServiceDescription": { + "ServiceKind": "Stateful", + "ApplicationName": "fabric:/test", + "ServiceName": "fabric:/test/test2", + "ServiceTypeName": "StatefulBackendService", + "InitializationData": [], + "PartitionDescription": { + "PartitionScheme": "Named", + "Count": 1, + "Names": [ + "0" + ] + }, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "HasPersistedState": true, + "ServicePackageActivationMode": "ExclusiveProcess", + "ScalingPolicies": [ + { + "ScalingTrigger": { + "Kind": "AverageServiceLoad", + "MetricName": "servicefabric:/_MemoryInMB", + "LowerLoadThreshold": "500", + "UpperLoadThreshold": "900", + "ScaleIntervalInSeconds": 600, + "UseOnlyPrimaryLoad": false + }, + "ScalingMechanism": { + "Kind": "AddRemoveIncrementalNamedPartition", + "MinPartitionCount": 1, + "MaxPartitionCount": 3, + "ScaleIncrement": 1 + } + } + ] + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DeleteBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DeleteBackupPolicy.json new file mode 100644 index 000000000000..d4796b5ede08 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DeleteBackupPolicy.json @@ -0,0 +1,11 @@ +{ + "operationId": "DeleteBackupPolicy", + "description": "This example shows how to delete an existing backup policy which is currently not associated with any backup entity.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "SampleBackupPolicy" + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableApplicationBackup.json new file mode 100644 index 000000000000..964fdaa8c3f3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableApplicationBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "DisableApplicationBackup", + "description": "This example shows how to disable periodic backup for a stateful application which was previously enabled.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "DisableBackupDescription": { + "CleanBackup": true + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisablePartitionBackup.json new file mode 100644 index 000000000000..1f6cc6b32ed3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisablePartitionBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "DisablePartitionBackup", + "description": "This example shows how to disable periodic backup for a stateful partition which was previously enabled.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "DisableBackupDescription": { + "CleanBackup": false + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableServiceBackup.json new file mode 100644 index 000000000000..14ca9acf4e25 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/DisableServiceBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "DisableServiceBackup", + "description": "This example shows how to disable periodic backup for a stateful service which was previously enabled.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "DisableBackupDescription": { + "CleanBackup": true + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableApplicationBackup.json new file mode 100644 index 000000000000..b0e24cd35f67 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableApplicationBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "EnableApplicationBackup", + "description": "This example shows how to enable periodic backup for a stateful application.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "EnableBackupDescription": { + "BackupPolicyName": "DailyAzureBackupPolicy" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnablePartitionBackup.json new file mode 100644 index 000000000000..739bd06ce60e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnablePartitionBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "EnablePartitionBackup", + "description": "This example shows how to enable periodic backup for a stateful partition.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "EnableBackupDescription": { + "BackupPolicyName": "DailyAzureBackupPolicy" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableServiceBackup.json new file mode 100644 index 000000000000..0fe38fd714bc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/EnableServiceBackup.json @@ -0,0 +1,14 @@ +{ + "operationId": "EnableServiceBackup", + "description": "This example shows how to enable periodic backup for a stateful service.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "EnableBackupDescription": { + "BackupPolicyName": "DailyAzureBackupPolicy" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-1.json new file mode 100644 index 000000000000..9f4e37d7fdf9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-1.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetAllEntitiesBackedUpByPolicy", + "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/DemoApp", + "Items": [ + { + "EntityKind": "Application", + "ApplicationName": "fabric:/CalcApp" + }, + { + "EntityKind": "Application", + "ApplicationName": "fabric:/DemoApp" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-2.json new file mode 100644 index 000000000000..18f3467fc9ed --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetAllEntitiesBackedUpByPolicy-2.json @@ -0,0 +1,24 @@ +{ + "operationId": "GetAllEntitiesBackedUpByPolicy", + "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy", + "MaxResults": 2, + "ContinuationToken": "fabric:/DemoApp" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "EntityKind": "Service", + "ServiceName": "fabric:/VotingApp/VotingActorService" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-1.json new file mode 100644 index 000000000000..3d396dbf082d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-1.json @@ -0,0 +1,39 @@ +{ + "operationId": "GetApplicationBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService", + "Items": [ + { + "Kind": "Application", + "PolicyName": "BackupPolicy1", + "PolicyInheritedFrom": "Application", + "ApplicationName": "fabric:/CalcApp", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + }, + { + "Kind": "Service", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Service", + "ServiceName": "fabric:/CalcApp/CalcService", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-2.json new file mode 100644 index 000000000000..1ca86bee1983 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupConfigurationInfo-2.json @@ -0,0 +1,31 @@ +{ + "operationId": "GetApplicationBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Kind": "Partition", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Service", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "SuspensionInfo": { + "IsSuspended": true, + "SuspensionInheritedFrom": "Partition" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-1.json new file mode 100644 index 000000000000..bc89f402c6bd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-1.json @@ -0,0 +1,108 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get list of application backups within a time range.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "StartDateTimeFilter": "2018-01-01T00:00:00Z", + "EndDateTimeFilter": "2018-01-01T23:59:59Z" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "ServiceManifestVersion": "1.0.0", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "ServiceManifestVersion": "1.0.0", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "ServiceManifestVersion": "1.0.0", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-2.json new file mode 100644 index 000000000000..adb11bc306b8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-2.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get the latest backup for each partition within an application.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "Latest": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceName": "fabric:/CalcApp/CalcService", + "ServiceManifestVersion": "1.0.0", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-3.json new file mode 100644 index 000000000000..189ba7d18cbf --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-3.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-4.json new file mode 100644 index 000000000000..537af235a0e2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationBackupList-4.json @@ -0,0 +1,64 @@ +{ + "operationId": "GetApplicationBackupList", + "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationEventList.json new file mode 100644 index 000000000000..32bca288ae42 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationEventList.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetApplicationEventList", + "description": "This example shows how to get all application-related events during a certain time window.", + "parameters": { + "applicationId": "app1", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ApplicationCreated", + "ApplicationTypeName": "App1Type", + "ApplicationTypeVersion": "1.0.1", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription", + "ApplicationId": "app1", + "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10", + "TimeStamp": "2018-04-03T20:21:23.5774199Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoByName-1.json new file mode 100644 index 000000000000..fb15937b1e84 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoByName-1.json @@ -0,0 +1,33 @@ +{ + "operationId": "GetApplicationInfo", + "description": "This example shows how to get information about an application using it's identifier. If the application is found, information about it is returned with 200 status code. If the application is not found, empty content is returned with 204 status code.", + "parameters": { + "api-version": "6.0", + "applicationId": "samples~CalculatorApp" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [ + { + "Key": "CalculatorAppParameter1", + "Value": "314" + }, + { + "Key": "CalculatorAppParameter2", + "Value": "271" + } + ], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-1.json new file mode 100644 index 000000000000..2ca46b64e3a4 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-1.json @@ -0,0 +1,38 @@ +{ + "operationId": "GetApplicationInfoList", + "description": "This example shows how to get information about applications on the cluster. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.1", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/samples/PQueueApp1", + "Items": [ + { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + }, + { + "Id": "samples~PQueueApp1", + "Name": "fabric:/samples/PQueueApp1", + "TypeName": "PersistentQueueApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-2.json new file mode 100644 index 000000000000..c0755d26e14b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationInfoList-2.json @@ -0,0 +1,29 @@ +{ + "operationId": "GetApplicationInfoList", + "description": "This example shows how to page through the information about applications on the cluster using the ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining one result and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.1", + "MaxResults": 2, + "ContinuationToken": "fabric:/samples/PQueueApp1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Id": "samples~VQueueApp1", + "Name": "fabric:/samples/VQueueApp1", + "TypeName": "VolatileQueueApp", + "TypeVersion": "1.0", + "Status": "Ready", + "Parameters": [], + "HealthState": "Ok", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-1.json new file mode 100644 index 000000000000..bcb6a4e5e3b7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-1.json @@ -0,0 +1,85 @@ +{ + "operationId": "GetApplicationTypeInfoList", + "description": "This example shows how to get information about application types that are provisioned or being provisioned in the cluster. The number of results in a page are limited to maximum of five using MaxResult parameter.", + "parameters": { + "api-version": "6.0", + "MaxResults": 5 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "PersistentQueueApp+2.0", + "Items": [ + { + "Name": "CalculatorApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "ServiceInstanceCount", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "CalculatorApp", + "Version": "2.0", + "DefaultParameterList": [ + { + "Key": "ServiceInstanceCount", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "GatewayApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "GatewayPort", + "Value": "8505" + }, + { + "Key": "ServiceInstanceCount", + "Value": "1000" + } + ], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "2.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-2.json new file mode 100644 index 000000000000..a7c38cdedbe7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-2.json @@ -0,0 +1,49 @@ +{ + "operationId": "GetApplicationTypeInfoList", + "description": "This example shows how to page through the information about application types that are provisioned or being provisioned in the cluster using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.0", + "MaxResults": 5, + "ContinuationToken": "PersistentQueueApp+2.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "VolatileQueueApp", + "Version": "1.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + }, + { + "Name": "VolatileQueueApp", + "Version": "2.0", + "DefaultParameterList": [ + { + "Key": "MinReplicaSetSize", + "Value": "2" + }, + { + "Key": "TargetReplicaSetSize", + "Value": "3" + } + ], + "Status": "Available" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-3.json new file mode 100644 index 000000000000..473565e56c6d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationTypeInfoList-3.json @@ -0,0 +1,60 @@ +{ + "operationId": "GetApplicationTypeInfoList", + "description": "This example shows how to exclude application parameter in the result when getting the information about application types that are provisioned or being provisioned in the cluster.", + "parameters": { + "api-version": "6.0", + "ExcludeApplicationParameters": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "CalculatorApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "CalculatorApp", + "Version": "2.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "GatewayApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "PersistentQueueApp", + "Version": "2.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "VolatileQueueApp", + "Version": "1.0", + "DefaultParameterList": [], + "Status": "Available" + }, + { + "Name": "VolatileQueueApp", + "Version": "2.0", + "DefaultParameterList": [], + "Status": "Available" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationsEventList.json new file mode 100644 index 000000000000..fa65ec159120 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetApplicationsEventList.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetApplicationsEventList", + "description": "This example shows how to get all applications-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ApplicationCreated", + "ApplicationTypeName": "App1Type", + "ApplicationTypeVersion": "1.0.1", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription", + "ApplicationId": "app1", + "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10", + "TimeStamp": "2018-04-03T20:21:23.5774199Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ApplicationCreated", + "ApplicationTypeName": "App2Type", + "ApplicationTypeVersion": "4.0.1", + "ApplicationDefinitionKind": "ServiceFabricApplicationDescription", + "ApplicationId": "app2", + "EventInstanceId": "d50574bc-6a31-4945-8275-7639bec7a0b3", + "TimeStamp": "2018-04-03T20:21:59.74842Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyByName.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyByName.json new file mode 100644 index 000000000000..411b836109b2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyByName.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetBackupPolicyByName", + "description": "This example shows how to query a backup policy by name.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P20D" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-1.json new file mode 100644 index 000000000000..5ab468a09e2b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-1.json @@ -0,0 +1,112 @@ +{ + "operationId": "GetBackupPolicyList", + "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of four using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "MaxResults": 4 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "FileShare10MinBackupPolicy", + "Items": [ + { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "FriendlyName": "Azure_storagesample", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 30, + "RetentionDuration": "P29D" + } + }, + { + "Name": "DailyAzureMIBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "ManagedIdentityAzureBlobStore", + "FriendlyName": "AzureMI_storagesample", + "BlobServiceUri": "https://managedidentitytest.blob.core.windows.net/", + "ContainerName": "BackupContainer", + "ManagedIdentityType": "Cluster" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 30, + "RetentionDuration": "P29D" + } + }, + { + "Name": "SampleDsmsBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "DsmsAzureBlobStore", + "FriendlyName": "DsmsAzure_storagesample", + "StorageCredentialsSourceLocation": "https://sample-dsms.dsms.core.winows.net/dsms/samplecredentiallocation/storageaccounts/samplestorageac/servicefabricbackup/samplebackup", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 10, + "RetentionDuration": "P3M" + } + }, + { + "Name": "FileShare10MinBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "FrequencyBased", + "Interval": "PT10M" + }, + "Storage": { + "StorageKind": "FileShare", + "FriendlyName": "FileShare_myshare", + "Path": "\\\\myshare\\backupshare", + "PrimaryUserName": "backupaccount", + "PrimaryPassword": "****" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P20D" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-2.json new file mode 100644 index 000000000000..9a2cbd82d8f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupPolicyList-2.json @@ -0,0 +1,42 @@ +{ + "operationId": "GetBackupPolicyList", + "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of three using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "MaxResults": 3, + "ContinuationToken": "FileShare10MinBackupPolicy" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "AutoRestoreOnDataLoss": false, + "Name": "SampleBackupPolicy", + "MaxIncrementalBackups": 5, + "Schedule": { + "ScheduleKind": "FrequencyBased", + "Interval": "PT4H5M" + }, + "Storage": { + "Path": "\\\\myshare\\BackupStore", + "PrimaryUserName": "myuser1", + "PrimaryPassword": "****", + "SecondaryUserName": "myuser2", + "SecondaryPassword": "****", + "StorageKind": "FileShare", + "FriendlyName": "" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 0, + "RetentionDuration": "P20D" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-1.json new file mode 100644 index 000000000000..6925de02aeb5 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-1.json @@ -0,0 +1,73 @@ +{ + "operationId": "GetBackupsFromBackupLocation", + "description": "This example shows how to get list of application backups from a specified backup location. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "MaxResults": 2, + "GetBackupByStorageQueryDescription": { + "Storage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "BackupEntity": { + "EntityKind": "Application", + "ApplicationName": "fabric:/CalcApp" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-2.json new file mode 100644 index 000000000000..190f318797ab --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetBackupsFromBackupLocation-2.json @@ -0,0 +1,74 @@ +{ + "operationId": "GetBackupsFromBackupLocation", + "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "MaxResults": 2, + "GetBackupByStorageQueryDescription": { + "Storage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "BackupEntity": { + "EntityKind": "Application", + "ApplicationName": "fabric:/CalcApp" + } + }, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetChaosEvents.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetChaosEvents.json new file mode 100644 index 000000000000..4e5d7bb0b4e3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetChaosEvents.json @@ -0,0 +1,62 @@ +{ + "operationId": "GetChaosEvents", + "description": "This example shows how to get Chaos events in a single response message without the need for paging through ContinuationToken parameter.", + "parameters": { + "api-version": "6.2", + "StartTimeUtc": "0", + "EndTimeUtc": "3155378975999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "History": [ + { + "ChaosEvent": { + "Kind": "Started", + "TimeStampUtc": "2017-04-14T04:27:19.049Z", + "ChaosParameters": { + "MaxClusterStabilizationTimeoutInSeconds": 30, + "MaxConcurrentFaults": 3, + "WaitTimeBetweenIterationsInSeconds": 10, + "WaitTimeBetweenFaultsInSeconds": 1, + "TimeToRunInSeconds": "3600", + "EnableMoveReplicaFaults": true, + "ClusterHealthPolicy": { + "ConsiderWarningAsError": true, + "MaxPercentUnhealthyNodes": 0, + "MaxPercentUnhealthyApplications": 10, + "ApplicationTypeHealthPolicyMap": [ + { + "Key": "myapp", + "Value": 3 + } + ] + }, + "Context": { + "Map": { + "k1": "v1", + "k2": "v2", + "k3": "v5" + } + } + } + } + }, + { + "ChaosEvent": { + "Kind": "ExecutingFaults", + "TimeStampUtc": "2017-04-14T04:27:20.667Z", + "Faults": [ + "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_1, PartitionId: 6a91b09a-bd76-45da-afaa-ed0fd9bfe7d2, ReplicaId: 131366172775684622", + "ActionType: CodePackageRestart, NodeName: N0050, ApplicationName: fabric:/TestApp1, ServiceManifestName: SP1, ServiceManifestName: , CodePackageName: CP1.", + "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_3, PartitionId: baa3a51e-5c42-435e-89d3-6e97b2164661, ReplicaId: 131366172988968762" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterEventList.json new file mode 100644 index 000000000000..3a122bb8aec0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterEventList.json @@ -0,0 +1,55 @@ +{ + "operationId": "GetClusterEventList", + "description": "This example shows how to get all cluster-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ClusterUpgradeStarted", + "CurrentClusterVersion": "0.0.0.0:", + "TargetClusterVersion": "6.2:1.0", + "UpgradeType": "Rolling", + "RollingUpgradeMode": "UnmonitoredAuto", + "FailureAction": "Manual", + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:18:59.4313064Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ClusterUpgradeDomainCompleted", + "TargetClusterVersion": "6.2:1.0", + "UpgradeState": "RollingForward", + "UpgradeDomains": "(0 1 2)", + "UpgradeDomainElapsedTimeInMs": 78.5288, + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:19:59.5729953Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ClusterUpgradeDomainCompleted", + "TargetClusterVersion": "6.2:1.0", + "UpgradeState": "RollingForward", + "UpgradeDomains": "(3 4)", + "UpgradeDomainElapsedTimeInMs": 0.0, + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:20:59.6271949Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ClusterUpgradeCompleted", + "TargetClusterVersion": "6.2:1.0", + "OverallUpgradeElapsedTimeInMs": 120196.5212, + "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064", + "TimeStamp": "2018-04-03T20:20:59.8134457Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterVersion-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterVersion-1.json new file mode 100644 index 000000000000..fd3b6fbf55b8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetClusterVersion-1.json @@ -0,0 +1,15 @@ +{ + "operationId": "GetClusterVersion", + "description": "This example retrieves the current (or lowest version during upgrade) cluster version.", + "parameters": { + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Version": "6.4.514.9494" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-1.json new file mode 100644 index 000000000000..1be29fb8e6ef --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-1.json @@ -0,0 +1,19 @@ +{ + "operationId": "GetContainerLogsDeployedOnNode", + "description": "This example shows how to get container logs for container deployed on a Service Fabric node for the given code package.", + "parameters": { + "api-version": "6.2", + "nodeName": "_Node_0", + "applicationId": "SimpleHttpServerApp", + "ServiceManifestName": "SimpleHttpServerSvcPkg", + "CodePackageName": "Code" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Content": "HTTP Server started listening on port 8080\r\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-2.json new file mode 100644 index 000000000000..9f1025363561 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-2.json @@ -0,0 +1,20 @@ +{ + "operationId": "GetContainerLogsDeployedOnNode", + "description": "This example shows how to get last 10 lines of container logs for container deployed on a Service Fabric node for the given code package.", + "parameters": { + "api-version": "6.2", + "nodeName": "_Node_0", + "applicationId": "SimpleHttpServerApp", + "ServiceManifestName": "SimpleHttpServerSvcPkg", + "CodePackageName": "Code", + "Tail": "10" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Content": "UTC Time Now: 04/02/2018 22:06:31\r\nUTC Time Now: 04/02/2018 22:06:32\r\nUTC Time Now: 04/02/2018 22:06:33\r\nUTC Time Now: 04/02/2018 22:06:344\r\nUTC Time Now: 04/02/2018 22:06:35\r\nUTC Time Now: 04/02/2018 22:06:36\r\nUTC Time Now: 04/02/2018 22:06:37\r\nUTC Time Now: 04/02/2018 22:06:38\r\nUTC Time Now: 04/02/2018 22:06:39\r\nUTC Time Now: 04/02/2018 22:06:40\r\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-3.json new file mode 100644 index 000000000000..2ca6cad4f774 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetContainerLogsDeployedOnNode-3.json @@ -0,0 +1,20 @@ +{ + "operationId": "GetContainerLogsDeployedOnNode", + "description": "This example shows how to get container logs of previous dead container on a Service Fabric node for the given code package.", + "parameters": { + "api-version": "6.2", + "nodeName": "_Node_0", + "applicationId": "SimpleHttpServerApp", + "ServiceManifestName": "SimpleHttpServerSvcPkg", + "CodePackageName": "Code", + "Previous": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Content": "Exception encountered: System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).\r\n\tat System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\r\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetCorrelatedEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetCorrelatedEventList.json new file mode 100644 index 000000000000..7e271b230d90 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetCorrelatedEventList.json @@ -0,0 +1,31 @@ +{ + "operationId": "GetCorrelatedEventList", + "description": "This example shows how to get all correlated events for a given eventInstanceId.", + "parameters": { + "eventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4", + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "PartitionPrimaryMoveAnalysis", + "WhenMoveCompleted": "2018-04-03T20:06:55.966073Z", + "PreviousNode": "node3(b9d52c016a15a8f57673d3b8041e2d35)", + "CurrentNode": "node1(cf68563e16a44f808e86197a9cf83de5)", + "MoveReason": "ApplicationHostDown", + "RelevantTraces": "", + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "EventInstanceId": "59dde2bc-a833-412e-a56d-8f6ada0c7963", + "TimeStamp": "2018-04-03T20:07:55.966073Z", + "HasCorrelatedEvents": true, + "Metadata": { + "Delay": "00:00:20", + "Duration": "00:01:59" + } + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress-Running.json new file mode 100644 index 000000000000..90590fff4f2f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress-Running.json @@ -0,0 +1,18 @@ +{ + "operationId": "GetDataLossProgress", + "description": "This shows an example of output when a data loss operation is in a Running State. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Running" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress.json new file mode 100644 index 000000000000..89d341f05c26 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDataLossProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetDataLossProgress", + "description": "This shows an example of possible output when GetDataLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "InvokeDataLossResult": { + "ErrorCode": 0, + "SelectedPartition": { + "ServiceName": "fabric:/myapp/myservice", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoByName-1.json new file mode 100644 index 000000000000..bd3471f1bb5b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoByName-1.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetDeployedApplicationInfoList", + "description": "This example shows how to get information about an application deployed on a specified node by using an application identifier. If the application is found it's information is returned with 200 status code. An empty response with status code 204 is returned, if the specified application is not deployed on the node.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "applicationId": "samples~CalculatorApp", + "IncludeHealthState": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\temp", + "HealthState": "Ok" + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-1.json new file mode 100644 index 000000000000..2a2261491d15 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-1.json @@ -0,0 +1,40 @@ +{ + "operationId": "GetDeployedApplicationInfoList", + "description": "This example shows how to specify the number of applications returned by the query when getting information about applications deployed on a specific node. The number of results in a page are limited to maximum of 2 using the MaxResult parameter. Health state is not requested in this example, so the returned health state will be Unknown.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/samples/PQueueApp1", + "Items": [ + { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp", + "HealthState": "Unknown" + }, + { + "Id": "samples~PQueueApp1", + "Name": "fabric:/samples/PQueueApp1", + "TypeName": "PersistentQueueApp", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp", + "HealthState": "Unknown" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-2.json new file mode 100644 index 000000000000..d8d1303de1ff --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-2.json @@ -0,0 +1,30 @@ +{ + "operationId": "GetDeployedApplicationInfoListByName", + "description": "This example demonstrates the paging functionality available when getting information about applications deployed on a specific node. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "ContinuationToken": "fabric:/samples/PQueueApp1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Id": "samples~VQueueApp1", + "Name": "fabric:/samples/VQueueApp1", + "TypeName": "VolatileQueueApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp", + "HealthState": "Unknown" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-3.json new file mode 100644 index 000000000000..68f747f89afb --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetDeployedApplicationInfoList-3.json @@ -0,0 +1,52 @@ +{ + "operationId": "GetDeployedApplicationInfoList", + "description": "This example shows how to include the health state of each deployed application when getting information about applications deployed on a specific node.", + "parameters": { + "api-version": "6.1", + "nodeName": "_Node_0", + "IncludeHealthState": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Id": "samples~CalculatorApp", + "Name": "fabric:/samples/CalculatorApp", + "TypeName": "CalculatorApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp", + "HealthState": "Ok" + }, + { + "Id": "samples~PQueueApp1", + "Name": "fabric:/samples/PQueueApp1", + "TypeName": "PersistentQueueApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp", + "HealthState": "Ok" + }, + { + "Id": "samples~VQueueApp1", + "Name": "fabric:/samples/VQueueApp1", + "TypeName": "VolatileQueueApp", + "TypeVersion": "1.0.0", + "Status": "Active", + "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work", + "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log", + "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp", + "HealthState": "Ok" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetFaultOperationList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetFaultOperationList.json new file mode 100644 index 000000000000..c7194dad614a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetFaultOperationList.json @@ -0,0 +1,51 @@ +{ + "operationId": "GetFaultOperationList", + "description": "This shows an example of possible output for GetFaultOperationList", + "parameters": { + "TypeFilter": "0xFF", + "StateFilter": "0xFF", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "OperationId": "00000000-0000-0000-0000-000000000010", + "State": "Completed", + "Type": "PartitionDataLoss" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000020", + "State": "Completed", + "Type": "PartitionQuorumLoss" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000030", + "State": "Completed", + "Type": "PartitionRestart" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000500", + "State": "Faulted", + "Type": "NodeTransition" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000700", + "State": "Completed", + "Type": "NodeTransition" + }, + { + "OperationId": "00000000-0000-0000-0000-000000000710", + "State": "Completed", + "Type": "NodeTransition" + }, + { + "OperationId": "88ef90f9-0b94-46b0-b817-a6ea20c07f8a", + "State": "Completed", + "Type": "PartitionRestart" + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreContent.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreContent.json new file mode 100644 index 000000000000..7e912c407a79 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreContent.json @@ -0,0 +1,91 @@ +{ + "operationId": "GetImageStoreContent", + "description": "This example shows how to get image store content under the given relative path.", + "parameters": { + "api-version": "6.2", + "contentPath": "Store\\CalcServiceApp" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "StoreFiles": [ + { + "StoreRelativePath": "Store\\CalcServiceApp\\ApplicationManifest.2.0.xml", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "23", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "897", + "ModifiedDate": "2017-09-28T17:44:22.609Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "25", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.468Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "26", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.468Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "27", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.468Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "19", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "744", + "ModifiedDate": "2017-09-28T17:44:22.578Z" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml.checksum", + "FileVersion": { + "EpochDataLossNumber": "131510254310497004", + "VersionNumber": "24", + "EpochConfigurationNumber": "25769803776" + }, + "FileSize": "66", + "ModifiedDate": "2017-09-28T17:44:22.484Z" + } + ], + "StoreFolders": [ + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0", + "FileCount": "2" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0", + "FileCount": "2" + }, + { + "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0", + "FileCount": "2" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreInfo.json new file mode 100644 index 000000000000..e4360622b5fd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetImageStoreInfo.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetImageStoreInfo", + "description": "This example shows how to get ImageStore information.", + "parameters": { + "api-version": "6.5" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "DiskInfo": { + "Capacity": "500090007552", + "AvailableSpace": "228851900416" + }, + "UsedByMetadata": { + "UsedSpace": "23093248", + "FileCount": 6 + }, + "UsedByStaging": { + "UsedSpace": "6291456", + "FileCount": 9 + }, + "UsedByCopy": { + "UsedSpace": "4194304", + "FileCount": 2 + }, + "UsedByRegister": { + "UsedSpace": "4194304", + "FileCount": 3 + } + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeEventList.json new file mode 100644 index 000000000000..4368ae718d58 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeEventList.json @@ -0,0 +1,32 @@ +{ + "operationId": "GetNodeEventList", + "description": "This example shows how to get all node-related events during a certain time window.", + "parameters": { + "nodeName": "node1", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "NodeOpenSucceeded", + "NodeInstance": 131672596159209215, + "NodeId": "ba001a8bb353543e646be031afb10f1e", + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "IpAddressOrFQDN": "100.78.240.56", + "Hostname": "RD0003FF5089AA", + "IsSeedNode": false, + "NodeVersion": "6.2:1.0", + "NodeName": "node1", + "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89", + "TimeStamp": "2018-04-03T20:06:55.966073Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfo-1.json new file mode 100644 index 000000000000..24b8cfac97f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfo-1.json @@ -0,0 +1,41 @@ +{ + "operationId": "GetNodeInfo", + "description": "This example shows how to get information about an node using it's identifier. If the node is found, information about it is returned with 200 status code. If the node is not found, empty content is returned with 204 status code.", + "parameters": { + "api-version": "6.0", + "nodeName": "_Node_1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Name": "_testnode_0", + "IpAddressOrFQDN": "10.0.0.4", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "18688", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "Id": { + "Id": "2acb9f55540659b1c95f27cc128ab326" + }, + "InstanceId": "131738240209152398", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:33:52.944Z", + "NodeDownAt": "2018-06-18T19:33:39.514Z" + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-1.json new file mode 100644 index 000000000000..3efae8e6c95a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-1.json @@ -0,0 +1,72 @@ +{ + "operationId": "GetNodeInfoList", + "description": "This example shows how to get information about the nodes in the cluster when the number of results returned is limited by the MaxResults parameter.", + "parameters": { + "api-version": "6.3", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "2acb9f55", + "Items": [ + { + "Name": "_testnode_1", + "IpAddressOrFQDN": "10.0.0.5", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "102016", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "1", + "FaultDomain": "fd:/1", + "Id": { + "Id": "ebd986a1134b3643a8117fb41b259bf" + }, + "InstanceId": "131738274982501335", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:31:39.842Z", + "NodeDownAt": "2018-06-18T20:31:37.374Z" + }, + { + "Name": "_testnode_0", + "IpAddressOrFQDN": "10.0.0.4", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "105483", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "Id": { + "Id": "2acb9f55540659b1c95f27cc128ab326" + }, + "InstanceId": "131738240209152398", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:33:52.944Z", + "NodeDownAt": "2018-06-18T19:33:39.514Z" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-2.json new file mode 100644 index 000000000000..699cc572b639 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList-2.json @@ -0,0 +1,99 @@ +{ + "operationId": "GetNodeInfoList", + "description": "This example shows how to get information about nodes in the cluster which appear on a sequential page, by using the ContinuationToken parameter.", + "parameters": { + "api-version": "6.3", + "ContinuationToken": "2acb9f55" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "_Node_4", + "IpAddressOrFQDN": "10.0.0.8", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "101547", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "4", + "FaultDomain": "fd:/4", + "Id": { + "Id": "ba9383d728221add7fa996bf67b757fb" + }, + "InstanceId": "131737415865259763", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-17T20:40:07.378Z", + "NodeDownAt": "2018-06-17T20:33:11.877Z" + }, + { + "Name": "_Node_3", + "IpAddressOrFQDN": "10.0.0.7", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "15615", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "3", + "FaultDomain": "fd:/3", + "Id": { + "Id": "d6a18a0935a3e39aeae2a049eb97255d" + }, + "InstanceId": "131738275300526952", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:32:18.884Z", + "NodeDownAt": "2018-06-18T20:31:59.128Z" + }, + { + "Name": "_Node_2", + "IpAddressOrFQDN": "10.0.0.6", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "19819", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "2", + "FaultDomain": "fd:/2", + "Id": { + "Id": "f2af91e5e9c8254dedb75b1424a9e3fc" + }, + "InstanceId": "131738233282843485", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:22:15.272Z", + "NodeDownAt": "2018-06-18T19:22:02.740Z" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList.json new file mode 100644 index 000000000000..d38a618440a9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeInfoList.json @@ -0,0 +1,152 @@ +{ + "operationId": "GetNodeInfoList", + "description": "This example shows how to get information about all the nodes in the cluster when the information fits in a single response message without the need for paging through ContinuationToken parameter.", + "parameters": { + "api-version": "6.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Name": "_Node_1", + "IpAddressOrFQDN": "10.0.0.5", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "15275", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "1", + "FaultDomain": "fd:/1", + "Id": { + "Id": "ebd986a1134b3643a8117fb41b259bf" + }, + "InstanceId": "131738274982501335", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:31:39.842Z", + "NodeDownAt": "2018-06-18T20:31:37.374Z" + }, + { + "Name": "_Node_0", + "IpAddressOrFQDN": "10.0.0.4", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "18742", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "Id": { + "Id": "2acb9f55540659b1c95f27cc128ab326" + }, + "InstanceId": "131738240209152398", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:33:52.944Z", + "NodeDownAt": "2018-06-18T19:33:39.514Z" + }, + { + "Name": "_Node_4", + "IpAddressOrFQDN": "10.0.0.8", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "101168", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "4", + "FaultDomain": "fd:/4", + "Id": { + "Id": "ba9383d728221add7fa996bf67b757fb" + }, + "InstanceId": "131737415865259763", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-17T20:40:07.378Z", + "NodeDownAt": "2018-06-17T20:33:11.877Z" + }, + { + "Name": "_Node_3", + "IpAddressOrFQDN": "10.0.0.7", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "15236", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "3", + "FaultDomain": "fd:/3", + "Id": { + "Id": "d6a18a0935a3e39aeae2a049eb97255d" + }, + "InstanceId": "131738275300526952", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T20:32:18.884Z", + "NodeDownAt": "2018-06-18T20:31:59.128Z" + }, + { + "Name": "_Node_2", + "IpAddressOrFQDN": "10.0.0.6", + "Type": "testnode", + "CodeVersion": "6.3.139.9494", + "ConfigVersion": "5", + "NodeStatus": "Up", + "NodeUpTimeInSeconds": "19440", + "HealthState": "Ok", + "IsSeedNode": true, + "UpgradeDomain": "2", + "FaultDomain": "fd:/2", + "Id": { + "Id": "f2af91e5e9c8254dedb75b1424a9e3fc" + }, + "InstanceId": "131738233282843485", + "NodeDeactivationInfo": { + "NodeDeactivationIntent": "Invalid", + "NodeDeactivationStatus": "None", + "NodeDeactivationTask": [], + "PendingSafetyChecks": [] + }, + "IsStopped": false, + "NodeDownTimeInSeconds": "0", + "NodeUpAt": "2018-06-18T19:22:15.272Z", + "NodeDownAt": "2018-06-18T19:22:02.740Z" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress-Running.json new file mode 100644 index 000000000000..62ad5c37ec58 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress-Running.json @@ -0,0 +1,17 @@ +{ + "operationId": "GetNodeTransitionProgress", + "description": "This shows an example of output when GetTransitionProgress has a State of Running.", + "parameters": { + "nodeName": "N0060", + "OperationId": "ed903556-acf1-489c-9f33-b484c31f9087", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Running" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress.json new file mode 100644 index 000000000000..474ab826b8df --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodeTransitionProgress.json @@ -0,0 +1,24 @@ +{ + "operationId": "GetNodeTransitionProgress", + "description": "This shows an example of possible output when GetTransitionProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "nodeName": "N0060", + "OperationId": "a9c24269-88e9-4812-b4ad-a0bf2b724ad4", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "NodeTransitionResult": { + "ErrorCode": 0, + "NodeResult": { + "NodeName": "N0060", + "NodeInstanceId": "131366982707950527" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodesEventList.json new file mode 100644 index 000000000000..7aed70b97f31 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetNodesEventList.json @@ -0,0 +1,46 @@ +{ + "operationId": "GetNodesEventList", + "description": "This example shows how to get all nodes-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "NodeOpenSucceeded", + "NodeInstance": 131672596159209215, + "NodeId": "ba001a8bb353543e646be031afb10f1e", + "UpgradeDomain": "0", + "FaultDomain": "fd:/0", + "IpAddressOrFQDN": "100.78.240.56", + "Hostname": "RD0003FF5089AA", + "IsSeedNode": false, + "NodeVersion": "6.2:1.0", + "NodeName": "node1", + "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89", + "TimeStamp": "2018-04-03T20:06:55.966073Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "NodeOpenSucceeded", + "NodeInstance": 131672596186027906, + "NodeId": "ba03ef91259835c54d674889849a7cee", + "UpgradeDomain": "3", + "FaultDomain": "fd:/3", + "IpAddressOrFQDN": "100.72.76.122", + "Hostname": "RD0003FF6047A8", + "IsSeedNode": false, + "NodeVersion": "6.2:1.0", + "NodeName": "node2", + "EventInstanceId": "67730c48-752c-4209-bf28-3c121555a4c0", + "TimeStamp": "2018-04-03T20:06:58.6357365Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupConfigurationInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupConfigurationInfo.json new file mode 100644 index 000000000000..dd97740de85f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupConfigurationInfo.json @@ -0,0 +1,24 @@ +{ + "operationId": "GetPartitionBackupConfigurationInfo", + "description": "This example shows how to get backup configuration for a partition.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Kind": "Partition", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Service", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "SuspensionInfo": { + "IsSuspended": true, + "SuspensionInheritedFrom": "Partition" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-1.json new file mode 100644 index 000000000000..2c5fb63a2bc3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-1.json @@ -0,0 +1,64 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get list of partition backups within a time range.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "StartDateTimeFilter": "2018-01-01T00:00:00Z", + "EndDateTimeFilter": "2018-01-01T23:59:59Z" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-2.json new file mode 100644 index 000000000000..cc627b382457 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-2.json @@ -0,0 +1,41 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get the latest backup for the specified partition.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "Latest": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "be06a49c-be67-4eb1-a602-b983605be862", + "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "639", + "CreationTimeUtc": "2018-01-02T08:59:53Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-3.json new file mode 100644 index 000000000000..2cddad80321f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-3.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-4.json new file mode 100644 index 000000000000..c73aaece09c8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupList-4.json @@ -0,0 +1,42 @@ +{ + "operationId": "GetPartitionBackupList", + "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "be06a49c-be67-4eb1-a602-b983605be862", + "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "639", + "CreationTimeUtc": "2018-01-02T08:59:53Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupProgress.json new file mode 100644 index 000000000000..9d0df23312a6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionBackupProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetPartitionBackupProgress", + "description": "This shows an example of possible output when GetPartitionBackupProgress has reached a BackupState of Success. If the BackupState has a value of BackupInProgress, only the BackupState field will have a value.", + "parameters": { + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "BackupState": "Success", + "TimeStampUtc": "2018-01-01T09:00:55Z", + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "FailureError": null + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionEventList.json new file mode 100644 index 000000000000..bbfca06712e9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionEventList.json @@ -0,0 +1,37 @@ +{ + "operationId": "GetPartitionEventList", + "description": "This example shows how to get all partition-related events during a certain time window.", + "parameters": { + "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "PartitionReconfigured", + "NodeName": "node1", + "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e", + "ServiceType": "Svc1Type", + "CcEpochDataLossVersion": 131672604833413107, + "CcEpochConfigVersion": 8589934595, + "ReconfigType": "Other", + "Result": "Completed", + "Phase0DurationMs": 0.0, + "Phase1DurationMs": 0.0, + "Phase2DurationMs": 203.1935, + "Phase3DurationMs": 0.0262, + "Phase4DurationMs": 628.8527, + "TotalDurationMs": 832.0724, + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4", + "TimeStamp": "2018-04-03T20:21:47.3778996Z", + "HasCorrelatedEvents": true + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestartProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestartProgress.json new file mode 100644 index 000000000000..074289b470a2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestartProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetPartitionRestartProgress", + "description": "This shows an example of possible output when GetPartitionRestartProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "6eb7f0d3-49ca-4cb1-81b7-ac2d56b5c5d1", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "RestartPartitionResult": { + "ErrorCode": 0, + "SelectedPartition": { + "ServiceName": "fabric:/myapp/myservice", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestoreProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestoreProgress.json new file mode 100644 index 000000000000..da52d1a100b9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionRestoreProgress.json @@ -0,0 +1,23 @@ +{ + "operationId": "GetPartitionRestoreProgress", + "description": "This shows an example of possible output when GetPartitionRestoreProgress has reached a RestoreState of Success. If the RestoreState has a value of RestoreInProgress, only the RestoreState field will have a value.", + "parameters": { + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "api-version": "6.4" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "RestoreState": "Success", + "TimeStampUtc": "2018-01-01T09:00:55Z", + "RestoredEpoch": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "RestoredLsn": "261", + "FailureError": null + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionsEventList.json new file mode 100644 index 000000000000..e49c5e402b00 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPartitionsEventList.json @@ -0,0 +1,56 @@ +{ + "operationId": "GetPartitionsEventList", + "description": "This example shows how to get all partitions-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "PartitionReconfigured", + "NodeName": "node1", + "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e", + "ServiceType": "Svc1Type", + "CcEpochDataLossVersion": 131672604833413107, + "CcEpochConfigVersion": 8589934595, + "ReconfigType": "Other", + "Result": "Completed", + "Phase0DurationMs": 0.0, + "Phase1DurationMs": 0.0, + "Phase2DurationMs": 203.1935, + "Phase3DurationMs": 0.0262, + "Phase4DurationMs": 628.8527, + "TotalDurationMs": 832.0724, + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4", + "TimeStamp": "2018-04-03T20:21:47.3778996Z", + "HasCorrelatedEvents": true + }, + { + "Kind": "PartitionReconfigured", + "NodeName": "node2", + "NodeInstanceId": "ba0459d257b028296deba8bd5add33cb", + "ServiceType": "Svc1Type", + "CcEpochDataLossVersion": 131672604833413107, + "CcEpochConfigVersion": 8589934596, + "ReconfigType": "Other", + "Result": "Completed", + "Phase0DurationMs": 0.0, + "Phase1DurationMs": 0.0, + "Phase2DurationMs": 205.667, + "Phase3DurationMs": 407.7781, + "Phase4DurationMs": 630.0935, + "TotalDurationMs": 1243.5386, + "PartitionId": "e12acfb3-2a43-4a1a-a252-aa5388ef1aec", + "EventInstanceId": "9aeb234a-16ef-4e8a-974e-26c60d6f2b86", + "TimeStamp": "2018-04-03T20:21:49.5155104Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfo-1.json new file mode 100644 index 000000000000..ca5def4be2fb --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfo-1.json @@ -0,0 +1,29 @@ +{ + "operationId": "GetPropertyInfo", + "description": "This example shows how to get a Service Fabric property under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "PropertyName": "AppData" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Name": "CalculatorAppData", + "Value": { + "Kind": "String", + "Data": "1+2=3" + }, + "Metadata": { + "TypeId": "String", + "CustomTypeId": "EquationType", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 12, + "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z", + "SequenceNumber": "12" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-1.json new file mode 100644 index 000000000000..5729c6a4e4a2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-1.json @@ -0,0 +1,41 @@ +{ + "operationId": "GetPropertyInfoList", + "description": "This example shows how to get all Service Fabric properties under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "PersistentQueueAppData$131439231986491349", + "IsConsistent": true, + "Properties": [ + { + "Name": "CalculatorAppData", + "Metadata": { + "TypeId": "Int64", + "CustomTypeId": "", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z", + "SequenceNumber": "10" + } + }, + { + "Name": "PersistentQueueAppData", + "Metadata": { + "TypeId": "Binary", + "CustomTypeId": "InitializationDataType", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z", + "SequenceNumber": "12" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-2.json new file mode 100644 index 000000000000..6a172f23f09a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-2.json @@ -0,0 +1,56 @@ +{ + "operationId": "GetPropertyInfoList", + "description": "This example shows how to get all Service Fabric properties and their values under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "IncludeValues": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "PersistentQueueAppData$131439231986491349", + "IsConsistent": true, + "Properties": [ + { + "Name": "CalculatorAppData", + "Value": { + "Kind": "Int64", + "Data": "4534" + }, + "Metadata": { + "TypeId": "Int64", + "CustomTypeId": "", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 8, + "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z", + "SequenceNumber": "10" + } + }, + { + "Name": "PersistentQueueAppData", + "Value": { + "Kind": "Binary", + "Data": [ + 6, + 7, + 8, + 9, + 10 + ] + }, + "Metadata": { + "TypeId": "Binary", + "CustomTypeId": "InitializationDataType", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z", + "SequenceNumber": "12" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-3.json new file mode 100644 index 000000000000..ce12465b6ce6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetPropertyInfoList-3.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetPropertyInfoList", + "description": "This example shows how to page through the information about properties under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "IncludeValues": true, + "ContinuationToken": "PersistentQueueAppData$131439231986491349" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "Properties": [ + { + "Name": "VolatileQueueAppData", + "Value": { + "Kind": "Double", + "Data": 67.89 + }, + "Metadata": { + "TypeId": "Double", + "CustomTypeId": "", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 8, + "LastModifiedUtcTimestamp": "2017-07-17T04:01:19.049Z", + "SequenceNumber": "8" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress-Running.json new file mode 100644 index 000000000000..203fb157db03 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress-Running.json @@ -0,0 +1,18 @@ +{ + "operationId": "GetQuorumLossProgress", + "description": "This shows an example of possible output when GetQuorumLossProgress has a State of Running. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Running" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress.json new file mode 100644 index 000000000000..c86fd0d2b31d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetQuorumLossProgress.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetQuorumLossProgress", + "description": "This shows an example of possible output when GetQuorumLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.", + "parameters": { + "serviceId": "fabric:/myapp/myservice", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26", + "api-version": "6.0" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "State": "Completed", + "InvokeQuorumLossResult": { + "ErrorCode": 0, + "SelectedPartition": { + "ServiceName": "fabric:/myapp/myservice", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicaEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicaEventList.json new file mode 100644 index 000000000000..a3b517117bac --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicaEventList.json @@ -0,0 +1,35 @@ +{ + "operationId": "GetPartitionReplicaEventList", + "description": "This example shows how to get all replica-related events during a certain time window.", + "parameters": { + "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "replicaId": 131672608994209130, + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "StatefulReplicaNewHealthReport", + "ReplicaInstanceId": 131672608994209130, + "SourceId": "TestSource", + "Property": "", + "HealthState": "Error", + "TimeToLiveMs": 922337203685477, + "SequenceNumber": 131672654189677787, + "Description": "", + "RemoveWhenExpired": false, + "SourceUtcTimestamp": "2018-04-03T21:43:38Z", + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "ReplicaId": 131672608994209130, + "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d", + "TimeStamp": "2018-04-03T21:43:38.8904013Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicasEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicasEventList.json new file mode 100644 index 000000000000..1d2e9212dfcc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetReplicasEventList.json @@ -0,0 +1,51 @@ +{ + "operationId": "GetPartitionReplicasEventList", + "description": "This example shows how to get all replicas-related events during a certain time window.", + "parameters": { + "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "StatefulReplicaNewHealthReport", + "ReplicaInstanceId": 131672608994209130, + "SourceId": "TestSource", + "Property": "", + "HealthState": "Error", + "TimeToLiveMs": 922337203685477, + "SequenceNumber": 131672654189677787, + "Description": "", + "RemoveWhenExpired": false, + "SourceUtcTimestamp": "2018-04-03T21:43:38Z", + "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89", + "ReplicaId": 131672608994209130, + "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d", + "TimeStamp": "2018-04-03T21:43:38.8904013Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "StatefulReplicaNewHealthReport", + "ReplicaInstanceId": 177872608994339550, + "SourceId": "TestSource", + "Property": "", + "HealthState": "Error", + "TimeToLiveMs": 922337203685477, + "SequenceNumber": 131672654189677788, + "Description": "", + "RemoveWhenExpired": false, + "SourceUtcTimestamp": "2018-04-03T21:44:38Z", + "PartitionId": "f549f3b3-08c2-4ec4-adb4-415e024cb0ef", + "ReplicaId": 177872608994339550, + "EventInstanceId": "4a8851d8-35a3-4618-b4ac-03ffa191c350", + "TimeStamp": "2018-04-03T21:44:38.8904013Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-1.json new file mode 100644 index 000000000000..ab37c65b803f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-1.json @@ -0,0 +1,40 @@ +{ + "operationId": "GetServiceBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "Items": [ + { + "Kind": "Service", + "PolicyName": "BackupPolicy1", + "PolicyInheritedFrom": "Application", + "ServiceName": "fabric:/CalcApp/CalcService", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + }, + { + "Kind": "Partition", + "PolicyName": "BackupPolicy2", + "PolicyInheritedFrom": "Partition", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "SuspensionInfo": { + "IsSuspended": false, + "SuspensionInheritedFrom": "Invalid" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-2.json new file mode 100644 index 000000000000..76e7e948550d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupConfigurationInfo-2.json @@ -0,0 +1,31 @@ +{ + "operationId": "GetServiceBackupConfigurationInfo", + "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "Kind": "Partition", + "PolicyName": "BackupPolicy1", + "PolicyInheritedFrom": "Application", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionId": "7216486c-1ee9-4b00-99b2-92b26fcb07f6", + "SuspensionInfo": { + "IsSuspended": true, + "SuspensionInheritedFrom": "Partition" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-1.json new file mode 100644 index 000000000000..b561b1b20f84 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-1.json @@ -0,0 +1,108 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get list of service backups within a time range.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "StartDateTimeFilter": "2018-01-01T00:00:00Z", + "EndDateTimeFilter": "2018-01-01T23:59:59Z" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-2.json new file mode 100644 index 000000000000..df570db76649 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-2.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get the latest backup for each partition within a service.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "Latest": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-3.json new file mode 100644 index 000000000000..5b162231a889 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-3.json @@ -0,0 +1,63 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "Items": [ + { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "261", + "CreationTimeUtc": "2018-01-01T09:00:55Z", + "FailureError": null + }, + { + "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd", + "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "446", + "CreationTimeUtc": "2018-01-01T17:01:02Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-4.json new file mode 100644 index 000000000000..7420d61aca49 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceBackupList-4.json @@ -0,0 +1,64 @@ +{ + "operationId": "GetServiceBackupList", + "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService", + "MaxResults": 2, + "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip", + "BackupType": "Full", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "161", + "CreationTimeUtc": "2018-01-01T09:01:02Z", + "FailureError": null + }, + { + "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc", + "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014", + "ApplicationName": "fabric:/CalcApp", + "ServiceManifestVersion": "1.0.0", + "ServiceName": "fabric:/CalcApp/CalcService", + "PartitionInformation": { + "LowKey": "-9223372036854775808", + "HighKey": "9223372036854775807", + "ServicePartitionKind": "Int64Range", + "Id": "81645ec7-d260-4c59-9533-8f129bde8e83" + }, + "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip", + "BackupType": "Incremental", + "EpochOfLastBackupRecord": { + "DataLossVersion": "131462452931584510", + "ConfigurationVersion": "8589934592" + }, + "LsnOfLastBackupRecord": "246", + "CreationTimeUtc": "2018-01-01T17:00:34Z", + "FailureError": null + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceEventList.json new file mode 100644 index 000000000000..fdaa115873cd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceEventList.json @@ -0,0 +1,34 @@ +{ + "operationId": "GetServiceEventList", + "description": "This example shows how to get all service-related events during a certain time window.", + "parameters": { + "serviceId": "app1~svc1", + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ServiceCreated", + "ServiceTypeName": "Svc1Type", + "ApplicationName": "fabric:/app1", + "ApplicationTypeName": "App1Type", + "ServiceInstance": 131672605579916062, + "IsStateful": true, + "PartitionCount": 2, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "ServicePackageVersion": "1.0:1.0", + "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87", + "ServiceId": "app1/svc1", + "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003", + "TimeStamp": "2018-04-03T20:22:38.0560496Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoByName-1.json new file mode 100644 index 000000000000..4340954856fe --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoByName-1.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetServiceTypeInfoByName", + "description": "This example shows how to get information about a specific service type. A 204 response is returned if the specified service type is not found in the cluster.", + "parameters": { + "api-version": "6.0", + "applicationTypeName": "Application2Type", + "ApplicationTypeVersion": "1.0.0", + "serviceTypeName": "Actor1ActorServiceType" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ServiceTypeDescription": { + "IsStateful": true, + "ServiceTypeName": "Actor1ActorServiceType", + "PlacementConstraints": "", + "HasPersistedState": true, + "Kind": "Stateful", + "Extensions": [ + { + "Key": "__GeneratedServiceType__", + "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n " + } + ], + "LoadMetrics": [], + "ServicePlacementPolicies": [] + }, + "ServiceManifestVersion": "1.0.0", + "ServiceManifestName": "Actor1Pkg", + "IsServiceGroup": false + } + }, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoList-1.json new file mode 100644 index 000000000000..a4481bfa08c0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServiceTypeInfoList-1.json @@ -0,0 +1,36 @@ +{ + "operationId": "GetServiceTypeInfoList", + "description": "This example shows how to get information about service types that are supported by a provisioned application type in a Service Fabric cluster.", + "parameters": { + "api-version": "6.0", + "applicationTypeName": "Application2Type", + "ApplicationTypeVersion": "1.0.0" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "ServiceTypeDescription": { + "IsStateful": true, + "ServiceTypeName": "Actor1ActorServiceType", + "PlacementConstraints": "", + "HasPersistedState": true, + "Kind": "Stateful", + "Extensions": [ + { + "Key": "__GeneratedServiceType__", + "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n " + } + ], + "LoadMetrics": [], + "ServicePlacementPolicies": [] + }, + "ServiceManifestVersion": "1.0.0", + "ServiceManifestName": "Actor1Pkg", + "IsServiceGroup": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServicesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServicesEventList.json new file mode 100644 index 000000000000..2d5863180a5a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetServicesEventList.json @@ -0,0 +1,50 @@ +{ + "operationId": "GetServicesEventList", + "description": "This example shows how to get all services-related events during a certain time window.", + "parameters": { + "api-version": "6.4", + "StartTimeUtc": "2018-04-03T18:00:00Z", + "EndTimeUtc": "2018-04-04T18:00:00Z" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Kind": "ServiceCreated", + "ServiceTypeName": "Svc1Type", + "ApplicationName": "fabric:/app1", + "ApplicationTypeName": "App1Type", + "ServiceInstance": 131672605579916062, + "IsStateful": true, + "PartitionCount": 2, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "ServicePackageVersion": "1.0:1.0", + "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87", + "ServiceId": "app1/svc1", + "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003", + "TimeStamp": "2018-04-03T20:22:38.0560496Z", + "HasCorrelatedEvents": false + }, + { + "Kind": "ServiceCreated", + "ServiceTypeName": "Svc2Type", + "ApplicationName": "fabric:/app1", + "ApplicationTypeName": "App1Type", + "ServiceInstance": 131672605579916062, + "IsStateful": true, + "PartitionCount": 2, + "TargetReplicaSetSize": 3, + "MinReplicaSetSize": 2, + "ServicePackageVersion": "1.0:1.0", + "PartitionId": "87413d64-0134-4b23-a439-c2692c4e3ec3", + "ServiceId": "app1/svc2", + "EventInstanceId": "03246d3b-77f5-4ca2-b065-7b8671711318", + "TimeStamp": "2018-04-03T20:22:38.056197Z", + "HasCorrelatedEvents": false + } + ] + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-1.json new file mode 100644 index 000000000000..282319140d86 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-1.json @@ -0,0 +1,21 @@ +{ + "operationId": "GetSubNameInfoList", + "description": "This example shows how to get information about all sub names of a given Service Fabric name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "SubNames": [ + "fabric:/samples/CalculatorApp", + "fabric:/samples/mynames" + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-2.json new file mode 100644 index 000000000000..15391854f370 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-2.json @@ -0,0 +1,27 @@ +{ + "operationId": "GetSubNameInfoList", + "description": "This example shows how to recursively get information about all child sub names of a given Service Fabric name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples", + "Recursive": true + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "SubNames": [ + "fabric:/samples/apps", + "fabric:/samples/data", + "fabric:/samples/CalculatorApp", + "fabric:/samples/CalculatorApp/CalculatorService", + "fabric:/samples/CalculatorApp/CalculatorService/Name-1", + "fabric:/samples/CalculatorApp/CalculatorService/Name-2", + "fabric:/samples/mynames/name-1" + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-3.json new file mode 100644 index 000000000000..bf07c9c58bc4 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetSubNameInfoList-3.json @@ -0,0 +1,23 @@ +{ + "operationId": "GetSubNameInfoList", + "description": "This example shows how to page through the information about sub names under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.", + "parameters": { + "api-version": "6.0", + "nameId": "samples", + "Recursive": true, + "ContinuationToken": "fabric:/samples/apps/PersistentQueueApp$131439231986491349" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "IsConsistent": true, + "SubNames": [ + "fabric:/samples/apps/VolatileQueueApp", + "fabric:/samples/apps/NotepadApp" + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionById.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionById.json new file mode 100644 index 000000000000..c565a13cfcbc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionById.json @@ -0,0 +1,33 @@ +{ + "operationId": "GetImageStoreUploadSessionById", + "description": "This example shows how to get image store upload session by a given ID.", + "parameters": { + "api-version": "6.0", + "session-id": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "UploadSessions": [ + { + "StoreRelativePath": "SwaggerTest\\Common.dll", + "SessionId": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b", + "FileSize": "2097152", + "ModifiedDate": "2017-09-28T17:06:37.260Z", + "ExpectedRanges": [ + { + "StartPosition": "0", + "EndPosition": "402128" + }, + { + "StartPosition": "730105", + "EndPosition": "2097151" + } + ] + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionByPath.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionByPath.json new file mode 100644 index 000000000000..8dc66b6d107d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/GetUploadSessionByPath.json @@ -0,0 +1,49 @@ +{ + "operationId": "GetImageStoreUploadSessionByPath", + "description": "This example shows how to get image store upload session by a given relative path.", + "parameters": { + "api-version": "6.0", + "contentPath": "SwaggerTest\\Common.dll" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "UploadSessions": [ + { + "StoreRelativePath": "SwaggerTest\\Common.dll", + "SessionId": "2032ac6c-a348-4594-86da-dab0f2bb1ae1", + "FileSize": "2097152", + "ModifiedDate": "2017-09-28T17:28:11.627Z", + "ExpectedRanges": [ + { + "StartPosition": "0", + "EndPosition": "207615" + }, + { + "StartPosition": "626977", + "EndPosition": "2097151" + } + ] + }, + { + "StoreRelativePath": "SwaggerTest\\Common.dll", + "SessionId": "fb2da2b2-7cb4-45d2-a2e6-c4888d205bc5", + "FileSize": "2097152", + "ModifiedDate": "2017-09-28T17:28:11.643Z", + "ExpectedRanges": [ + { + "StartPosition": "0", + "EndPosition": "616947" + }, + { + "StartPosition": "1087529", + "EndPosition": "2097151" + } + ] + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi.json new file mode 100644 index 000000000000..bfe285758eec --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi.json @@ -0,0 +1,27 @@ +{ + "operationId": "InvokeContainerApi", + "description": "This example shows how to call container API with HTTP GET for a code package deployed on a node.", + "parameters": { + "api-version": "6.2", + "nodeName": "Node01", + "applicationId": "samples/winnodejs", + "ServiceManifestName": "NodeServicePackage", + "CodePackageName": "NodeService.Code", + "CodePackageInstanceId": "131668159770315380", + "ContainerApiRequestBody": { + "UriPath": "/containers/{id}/logs?stdout=true&stderr=true" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContainerApiResult": { + "Status": 200, + "Content-Type": "text/plain; charset=utf-8", + "Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi_Post.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi_Post.json new file mode 100644 index 000000000000..0042fd341de0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/InvokeContainerApi_Post.json @@ -0,0 +1,29 @@ +{ + "operationId": "InvokeContainerApi", + "description": "This example shows how to call container API with HTTP POST for a code package deployed on a node.", + "parameters": { + "api-version": "6.2", + "nodeName": "N0020", + "applicationId": "samples/nodejs1", + "ServiceManifestName": "NodeOnSF", + "CodePackageName": "Code", + "CodePackageInstanceId": "131673596679688285", + "ContainerApiRequestBody": { + "HttpVerb": "POST", + "UriPath": "/containers/{id}/update", + "Body": "{ \"CpuShares\": 512}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContainerApiResult": { + "Status": 200, + "Content-Type": "application/json", + "Body": "{\"Warnings\":null}\n" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-1.json new file mode 100644 index 000000000000..8eee209e7c7b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-1.json @@ -0,0 +1,25 @@ +{ + "operationId": "PutProperty", + "description": "This example shows how to create or update a Service Fabric property under a given name.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps/CalculatorApp", + "PropertyDescription": { + "PropertyName": "AppData", + "Value": { + "Kind": "Binary", + "Data": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-2.json new file mode 100644 index 000000000000..5db6a9ad77f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/PutProperty-2.json @@ -0,0 +1,19 @@ +{ + "operationId": "PutProperty", + "description": "This example shows how to create or update a Service Fabric property under a given name with a custom type.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps/CalculatorApp", + "PropertyDescription": { + "PropertyName": "AppData", + "Value": { + "Kind": "String", + "Data": "1+2=3" + }, + "CustomTypeId": "EquationType" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json new file mode 100644 index 000000000000..5f17ef376d9d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json @@ -0,0 +1,18 @@ +{ + "operationId": "MeshCodePackage_GetContainerLogs", + "description": "This example shows how to get logs from the container of service replica. If the container exists, the logs are returned with an OK (200) status code, otherwise an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sbzDocApp", + "serviceResourceName": "sbzDocService", + "replicaName": "0", + "codePackageName": "sbzDocCode" + }, + "responses": { + "200": { + "body": { + "Content": " * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)\n * Downloading style https://assets-cdn.github.com/assets/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css\n * Downloading style https://assets-cdn.github.com/assets/github-a698da0d53574b056d3c79ac732d4a70.css\n * Downloading style https://assets-cdn.github.com/assets/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css\n * Cached all downloads in /root/.grip/cache-4.5.2\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET / HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/github-a698da0d53574b056d3c79ac732d4a70.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/static/octicons/octicons.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6 HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/favicon.ico HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:05] \"GET /seabreeze-index.md HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:09] \"GET /seabreeze-api-application_get.md HTTP/1.1\" 200 -\n" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/get.json new file mode 100644 index 000000000000..bb373e90c328 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/get.json @@ -0,0 +1,57 @@ +{ + "operationId": "MeshServiceReplica_Get", + "description": "This example shows how to get information about given replica of a service. If the replica exists, its description is returned along with an OK (200) status code. If the replica does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "serviceResourceName": "helloWorldService", + "replicaName": "0" + }, + "responses": { + "200": { + "body": { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + }, + "instanceView": { + "restartCount": 1, + "currentState": { + "state": "Running", + "exitCode": "0" + }, + "previousState": { + "state": "NotSpecified", + "exitCode": "0" + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "replicaName": "0" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/list.json new file mode 100644 index 000000000000..1fe9b30fb836 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/Replicas/list.json @@ -0,0 +1,105 @@ +{ + "operationId": "MeshServiceReplica_List", + "description": "This example shows how to list replicas of a service resources for a given application.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "serviceResourceName": "helloWorldService" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + }, + "instanceView": { + "restartCount": 1, + "currentState": { + "state": "Running", + "exitCode": "0" + }, + "previousState": { + "state": "NotSpecified", + "exitCode": "0" + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "replicaName": "0" + }, + { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + }, + "instanceView": { + "restartCount": 1, + "currentState": { + "state": "Running", + "exitCode": "0" + }, + "previousState": { + "state": "NotSpecified", + "exitCode": "0" + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "replicaName": "1" + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/get.json new file mode 100644 index 000000000000..45224d3a66f8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/get.json @@ -0,0 +1,51 @@ +{ + "operationId": "MeshService_Get", + "description": "This example shows how to get a service resource for a given application. If the service resource exists, its description is returned along with an OK (200) status code. If the service resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "serviceResourceName": "helloWorldService" + }, + "responses": { + "200": { + "body": { + "name": "helloWorldService", + "properties": { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "description": "SeaBreeze Hello World Service.", + "replicaCount": 1, + "healthState": "Ok", + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/list.json new file mode 100644 index 000000000000..3df5e396c764 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/Services/list.json @@ -0,0 +1,56 @@ +{ + "operationId": "MeshService_List", + "description": "This example shows how to list all service resources for a given application.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "helloWorldService", + "properties": { + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ], + "description": "SeaBreeze Hello World Service.", + "replicaCount": 1, + "healthState": "Ok", + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.autoscale.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.autoscale.json new file mode 100644 index 000000000000..16b621f6a572 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.autoscale.json @@ -0,0 +1,102 @@ +{ + "operationId": "MeshApplication_CreateOrUpdate", + "description": "This example shows how to create or update a application resource with services that autoscale based on the policies.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "applicationResourceDescription": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "services": [ + { + "name": "helloWorldService", + "properties": { + "description": "SeaBreeze Hello World Service.", + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "replicaCount": 1, + "autoScalingPolicies": [ + { + "name": "MyAutoScaleRule", + "trigger": { + "kind": "AverageLoad", + "metric": { + "kind": "Resource", + "name": "cpu" + }, + "lowerLoadThreshold": 0.3, + "upperLoadThreshold": 0.8, + "scaleIntervalInSeconds": 3600 + }, + "mechanism": { + "kind": "AddRemoveReplica", + "minCount": 1, + "maxCount": 4, + "scaleIncrement": 1 + } + } + ], + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Unknown", + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.json new file mode 100644 index 000000000000..8066c046fd00 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/create_update.json @@ -0,0 +1,139 @@ +{ + "operationId": "MeshApplication_CreateOrUpdate", + "description": "This example shows how to create or update a application resource.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication", + "applicationResourceDescription": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "services": [ + { + "name": "helloWorldService", + "properties": { + "description": "SeaBreeze Hello World Service.", + "identityRefs": [ + { + "name": "ServiceIdentity1", + "identityRef": "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1" + }, + { + "name": "ServiceIdentity2", + "identityRef": "SystemAssigned" + } + ], + "osType": "Linux", + "codePackages": [ + { + "name": "helloWorldCode", + "image": "seabreeze/sbz-helloworld:1.0-alpine", + "endpoints": [ + { + "name": "helloWorldListener", + "port": 80 + } + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + ], + "replicaCount": 1, + "networkRefs": [ + { + "name": "sampleNetwork", + "endpointRefs": [ + { + "name": "helloWorldListener" + } + ] + } + ] + } + } + ] + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + }, + "201": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Unknown", + "status": "Creating" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/delete.json new file mode 100644 index 000000000000..b51511b0865d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshApplication_Delete", + "description": "This example shows how to delete an existing application resource. If the application resource exists and is deleted successfully, an empty response with 200 status code is returned. If the application resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get.json new file mode 100644 index 000000000000..208ccd280bbd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get.json @@ -0,0 +1,39 @@ +{ + "operationId": "MeshApplication_Get", + "description": "This example shows how to get a application resource. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": { + "body": { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get_upgrade.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get_upgrade.json new file mode 100644 index 000000000000..61be95fa11b7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/get_upgrade.json @@ -0,0 +1,30 @@ +{ + "operationId": "MeshApplication_GetUpgradeProgress", + "description": "This example shows how to get a application resource upgrade. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "applicationResourceName": "sampleApplication" + }, + "responses": { + "200": { + "body": { + "Name": "sampleApplication", + "TargetApplicationTypeVersion": "v1", + "StartTimestampUtc": "0001-01-01T00:00:00.000Z", + "UpgradeState": "RollingForward", + "PercentCompleted": "0", + "ServiceUpgradeProgress": [ + { + "ServiceName": "helloWorldService", + "CompletedReplicaCount": "0", + "PendingReplicaCount": "3" + } + ], + "RollingUpgradeMode": "Monitored", + "UpgradeDuration": "PT0H0M2.31669S", + "ApplicationUpgradeStatusDetails": "Deployment upgrading from version: v0 to version: v1.", + "UpgradeReplicaSetCheckTimeoutInSeconds": 4294967295 + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/list.json new file mode 100644 index 000000000000..2f34f40e3488 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Applications/list.json @@ -0,0 +1,44 @@ +{ + "operationId": "MeshApplication_List", + "description": "This example shows how to list all application resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleApplication", + "properties": { + "description": "Service Fabric Mesh sample application.", + "serviceNames": [ + "helloWorldService" + ], + "healthState": "Ok", + "status": "Ready" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "tokenServiceEndpoint": "http://tokenservice", + "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567", + "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C", + "userAssignedIdentities": { + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": { + "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4", + "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8" + }, + "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": { + "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1", + "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0" + } + } + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/create_update.json new file mode 100644 index 000000000000..2ded194ec7cc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/create_update.json @@ -0,0 +1,193 @@ +{ + "operationId": "MeshGateway_CreateOrUpdate", + "description": "This example shows how to create or update a gateway resource.", + "parameters": { + "api-version": "6.4-preview", + "gatewayResourceName": "sampleGateway", + "gatewayResourceDescription": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Ready", + "ipAddress": "192.168.1.1" + } + } + }, + "201": { + "body": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh Hello World sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Creating", + "ipAddress": "" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/delete.json new file mode 100644 index 000000000000..63ed69926752 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshGateway_Delete", + "description": "This example shows how to delete an existing gateway resource. If the gateway resource exists and is deleted successfully, an empty response with 200 status code is returned. If the gateway resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "gatewayResourceName": "sampleGateway" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/get.json new file mode 100644 index 000000000000..c85b652cbc45 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/get.json @@ -0,0 +1,72 @@ +{ + "operationId": "MeshGateway_Get", + "description": "This example shows how to get a gateway resource. If the gateway resource exists, its description is returned along with an OK (200) status code. If the gateway resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "gatewayResourceName": "sampleGateway" + }, + "responses": { + "200": { + "body": { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Ready", + "ipAddress": "192.168.1.1" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/list.json new file mode 100644 index 000000000000..5ad53b7d580f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Gateways/list.json @@ -0,0 +1,77 @@ +{ + "operationId": "MeshGateway_List", + "description": "This example shows how to list all gateway resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleGateway", + "properties": { + "description": "Service Fabric Mesh sample gateway.", + "sourceNetwork": { + "name": "Open" + }, + "destinationNetwork": { + "name": "helloWorldNetwork" + }, + "tcp": [ + { + "name": "web", + "port": 80, + "destination": { + "applicationName": "helloWorldApp", + "serviceName": "helloWorldService", + "endpointName": "helloWorldListener" + } + } + ], + "http": [ + { + "name": "contosoWebsite", + "port": 8081, + "hosts": [ + { + "name": "contoso.com", + "routes": [ + { + "name": "index", + "match": { + "path": { + "value": "/index", + "rewrite": "/", + "type": "prefix" + }, + "headers": [ + { + "name": "accept", + "value": "application/json", + "type": "exact" + } + ] + }, + "destination": { + "applicationName": "httpHelloWorldApp", + "serviceName": "indexService", + "endpointName": "indexHttpEndpoint" + } + } + ] + } + ] + } + ], + "status": "Ready", + "ipAddress": "192.168.1.1" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/create_update.json new file mode 100644 index 000000000000..faf2a3960b48 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/create_update.json @@ -0,0 +1,41 @@ +{ + "operationId": "MeshNetwork_CreateOrUpdate", + "description": "This example shows how to create or update a network resource.", + "parameters": { + "api-version": "6.4-preview", + "networkResourceName": "sampleNetwork", + "networkResourceDescription": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16" + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/delete.json new file mode 100644 index 000000000000..aea2170b7316 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshGateway_Delete", + "description": "This example shows how to delete an existing network resource. If the network resource exists and is deleted successfully, an empty response with 200 status code is returned. If the network resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "networkResourceName": "sampleNetwork" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/get.json new file mode 100644 index 000000000000..1afaee298e7d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/get.json @@ -0,0 +1,21 @@ +{ + "operationId": "MeshGateway_Get", + "description": "This example shows how to get a network resource. If the network resource exists, its description is returned along with an OK (200) status code. If the network resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "networkResourceName": "sampleNetwork" + }, + "responses": { + "200": { + "body": { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/list.json new file mode 100644 index 000000000000..6cf521d8582c --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Networks/list.json @@ -0,0 +1,26 @@ +{ + "operationId": "MeshGateway_List", + "description": "This example shows how to list all network resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleNetwork", + "properties": { + "kind": "Local", + "description": "Service Fabric Mesh sample network.", + "networkAddressPrefix": "2.0.0.0/16", + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/create_update.json new file mode 100644 index 000000000000..aab0125db5a5 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/create_update.json @@ -0,0 +1,41 @@ +{ + "operationId": "MeshSecret_CreateOrUpdate", + "description": "This example shows how to create or update a secret resource.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretResourceDescription": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!" + } + } + }, + "responses": { + "200": { + "body": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/delete.json new file mode 100644 index 000000000000..ffe68fd3ddc7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshSecret_Delete", + "description": "This example shows how to delete an existing secret resource. If the secret resource exists and is deleted successfully, an empty response with 200 status code is returned. If the secret resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/get.json new file mode 100644 index 000000000000..f358e51722dd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/get.json @@ -0,0 +1,21 @@ +{ + "operationId": "MeshSecret_Get", + "description": "This example shows how to get a secret resource. If the secret resource exists, its description is returned along with an OK (200) status code. If the secret resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString" + }, + "responses": { + "200": { + "body": { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/list.json new file mode 100644 index 000000000000..b46d7f8ff341 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/list.json @@ -0,0 +1,35 @@ +{ + "operationId": "MeshSecret_List", + "description": "This example shows how to list all secret resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "dbConnectionString", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "Mongo DB connection string for backend database!", + "status": "Ready" + } + }, + { + "name": "contosoServiceApiKey", + "properties": { + "kind": "inlinedValue", + "contentType": "text/plain", + "description": "API Key to access contoso service APIs", + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/create.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/create.json new file mode 100644 index 000000000000..8cd0824452fd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/create.json @@ -0,0 +1,34 @@ +{ + "operationId": "MeshSecretValue_AddValue", + "description": "This example shows how to add a new value of a secret resource; the secret value is provided as plaintext.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1", + "secretValueResourceDescription": { + "name": "v1", + "properties": { + "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true" + } + } + }, + "responses": { + "200": { + "body": { + "name": "v1", + "properties": { + "value": null + } + } + }, + "201": { + "body": { + "name": "v1", + "properties": { + "value": null + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/delete.json new file mode 100644 index 000000000000..ad4b3ef9540b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/delete.json @@ -0,0 +1,14 @@ +{ + "operationId": "MeshSecretValue_Delete", + "description": "This example shows how to delete a secret value. If the specified named value exists and is deleted successfully, an empty response with 200 status code is returned. If the specified named value does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/get.json new file mode 100644 index 000000000000..a6491634ef44 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/get.json @@ -0,0 +1,19 @@ +{ + "operationId": "MeshSecretValue_Get", + "description": "This example shows how to get the specified secret value resource. If the specified named value exists, its information is returned along with status code 200. The information does not include the value. To get the unecnrypted value use ListMeshSecretValue operation. If the specified named value does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1" + }, + "responses": { + "200": { + "body": { + "name": "v1", + "properties": { + "value": null + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list.json new file mode 100644 index 000000000000..0610d6d83c48 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list.json @@ -0,0 +1,29 @@ +{ + "operationId": "MeshSecretValue_List", + "description": "This example shows how to list names of all values of a secret resource, not including their respective values.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString" + }, + "responses": { + "200": { + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "v1", + "properties": { + "value": null + } + }, + { + "name": "v2", + "properties": { + "value": null + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list_value.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list_value.json new file mode 100644 index 000000000000..b8d09ce2e23c --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Secrets/values/list_value.json @@ -0,0 +1,16 @@ +{ + "operationId": "MeshSecretValue_Show", + "description": "This example shows how to get the unencrypted value of the secret. If the specified named value resource exists, its unencrypted value is returned along with status code 200. If the specified named value does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "secretResourceName": "dbConnectionString", + "secretValueResourceName": "v1" + }, + "responses": { + "200": { + "body": { + "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true" + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/create_update.json new file mode 100644 index 000000000000..ba2623cdc556 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/create_update.json @@ -0,0 +1,53 @@ +{ + "operationId": "MeshVolume_CreateOrUpdate", + "description": "This example shows how to create or update a volume resource.", + "parameters": { + "api-version": "6.4-preview", + "volumeResourceName": "sampleVolume", + "volumeResourceDescription": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": "provide-account-key-here", + "shareName": "sharel" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Ready" + } + } + }, + "201": { + "body": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh Hello World sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/delete.json new file mode 100644 index 000000000000..efaa1f836ae1 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/delete.json @@ -0,0 +1,13 @@ +{ + "operationId": "MeshVolume_Delete", + "description": "This example shows how to delete an existing volume resource. If the volume resource exists and is deleted successfully, an empty response with 200 status code is returned. If the volume resource does not exist, an empty response with 204 status code is returned.", + "parameters": { + "api-version": "6.4-preview", + "volumeResourceName": "sampleVolume" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/get.json new file mode 100644 index 000000000000..9d08f3b00a82 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/get.json @@ -0,0 +1,25 @@ +{ + "operationId": "MeshVolume_Get", + "description": "This example shows how to get a volume resource. If the volume resource exists, its description is returned along with an OK (200) status code. If the volume resource does not exist, an error is returned with an appropriate status code.", + "parameters": { + "api-version": "6.4-preview", + "volumeResourceName": "sampleVolume" + }, + "responses": { + "200": { + "body": { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Ready" + } + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/list.json new file mode 100644 index 000000000000..3bf83798904b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/Resources/Volumes/list.json @@ -0,0 +1,30 @@ +{ + "operationId": "MeshVolume_List", + "description": "This example shows how to list all volume resources.", + "parameters": { + "api-version": "6.4-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "ContinuationToken": "", + "Items": [ + { + "name": "sampleVolume", + "properties": { + "description": "Service Fabric Mesh sample volume.", + "provider": "SFAzureFile", + "azureFileParameters": { + "accountName": "sbzdemoaccount", + "accountKey": null, + "shareName": "sharel" + }, + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/RestorePartition.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/RestorePartition.json new file mode 100644 index 000000000000..1e97e0557113 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/RestorePartition.json @@ -0,0 +1,20 @@ +{ + "operationId": "RestorePartition", + "description": "This example shows how to trigger restore of a partition now by specifying the backup to be used to restore.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d", + "RestorePartitionDescription": { + "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba", + "BackupStorage": { + "StorageKind": "AzureBlobStore", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeApplicationBackup.json new file mode 100644 index 000000000000..b25a7ac545ec --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeApplicationBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "ResumeApplicationBackup", + "description": "This example shows how to resume periodic backup for a stateful application which was previously suspended.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumePartitionBackup.json new file mode 100644 index 000000000000..feb701118438 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumePartitionBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "ResumePartitionBackup", + "description": "This example shows how to resume periodic backup for a stateful partition which was previously suspended.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeServiceBackup.json new file mode 100644 index 000000000000..9037dfa23d9e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/ResumeServiceBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "ResumeServiceBackup", + "description": "This example shows how to resume periodic backup for a stateful service which was previously suspended.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartApplicationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartApplicationUpgrade-1.json new file mode 100644 index 000000000000..fd0317e28196 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartApplicationUpgrade-1.json @@ -0,0 +1,30 @@ +{ + "operationId": "StartApplicationUpgrade", + "description": "This example shows how to start upgrading an application in a Service Fabric cluster.", + "parameters": { + "api-version": "6.0", + "applicationId": "samples~CalculatorApp", + "ApplicationUpgradeDescription": { + "Name": "fabric:/samples/CalculatorApp", + "TargetApplicationTypeVersion": "2.0", + "Parameters": [ + { + "Key": "CalculatorAppParameter1", + "Value": "314" + }, + { + "Key": "CalculatorAppParameter2", + "Value": "271" + } + ], + "UpgradeKind": "Rolling", + "RollingUpgradeMode": "Monitored", + "MonitoringPolicy": { + "FailureAction": "Rollback" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartClusterConfigurationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartClusterConfigurationUpgrade-1.json new file mode 100644 index 000000000000..2f8fd59a474e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/StartClusterConfigurationUpgrade-1.json @@ -0,0 +1,40 @@ +{ + "operationId": "StartClusterConfigurationUpgrade", + "description": "This example shows how to start upgrading the configuration of a Service Fabric standalone cluster.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps/CalculatorApp", + "ClusterConfigurationUpgradeDescription": { + "ClusterConfig": "", + "ApplicationHealthPolicies": { + "ApplicationHealthPolicyMap": [ + { + "Key": "fabric:/samples/CalculatorApp", + "Value": { + "ConsiderWarningAsError": true, + "MaxPercentUnhealthyDeployedApplications": 10, + "DefaultServiceTypeHealthPolicy": { + "MaxPercentUnhealthyPartitionsPerService": 0, + "MaxPercentUnhealthyReplicasPerPartition": 0, + "MaxPercentUnhealthyServices": 0 + }, + "ServiceTypeHealthPolicyMap": [ + { + "Key": "Svc1Type", + "Value": { + "MaxPercentUnhealthyPartitionsPerService": 0, + "MaxPercentUnhealthyReplicasPerPartition": 0, + "MaxPercentUnhealthyServices": 10 + } + } + ] + } + } + ] + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SubmitPropertyBatch-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SubmitPropertyBatch-1.json new file mode 100644 index 000000000000..05410c96edc2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SubmitPropertyBatch-1.json @@ -0,0 +1,71 @@ +{ + "operationId": "SubmitPropertyBatch", + "description": "This example shows how to submit a property batch. This batch ensures that a property exists, checks that the property has the expected sequence number, and edits the property only if the previous conditions succeed. It then performs a get operation to get the property's current info. \r\n If all of the operations succeed, the batch is committed in a transactional manner and a success response is returned with 200 status code. \r\n If the batch fails then a failed response is returned with 409 status code. The failed response below shows batch failure because the property does not have expected sequence number.", + "parameters": { + "api-version": "6.0", + "nameId": "samples/apps", + "PropertyBatchDescriptionList": { + "Operations": [ + { + "Kind": "CheckExists", + "PropertyName": "PersistentQueueAppData", + "Exists": true + }, + { + "Kind": "CheckSequence", + "PropertyName": "PersistentQueueAppData", + "SequenceNumber": "12" + }, + { + "Kind": "Put", + "PropertyName": "PersistentQueueAppData", + "Value": { + "Kind": "Binary", + "Data": [ + 1, + 2, + 3, + 4, + 5 + ] + }, + "CustomTypeId": "InitializationData" + }, + { + "Kind": "Get", + "PropertyName": "PersistentQueueAppData", + "IncludeValue": false + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Kind": "Successful", + "Properties": { + "3": { + "Name": "PersistentQueueAppData", + "Metadata": { + "TypeId": "Binary", + "CustomTypeId": "InitializationData", + "Parent": "fabric:/samples/apps", + "SizeInBytes": 5, + "LastModifiedUtcTimestamp": "2017-07-17T05:01:19.049Z", + "SequenceNumber": "13" + } + } + } + } + }, + "409": { + "headers": {}, + "body": { + "Kind": "Failed", + "ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED", + "OperationIndex": 1 + } + } + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendApplicationBackup.json new file mode 100644 index 000000000000..75bdad71a95e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendApplicationBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "SuspendApplicationBackup", + "description": "This example shows how to suspend backup for a stateful application which is configured for periodic backup.", + "parameters": { + "api-version": "6.4", + "applicationId": "CalcApp" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendPartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendPartitionBackup.json new file mode 100644 index 000000000000..b14619dd6fe8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendPartitionBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "SuspendPartitionBackup", + "description": "This example shows how to suspend backup for a stateful partition which is configured for periodic backup.", + "parameters": { + "api-version": "6.4", + "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendServiceBackup.json new file mode 100644 index 000000000000..14d0575c509e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/SuspendServiceBackup.json @@ -0,0 +1,11 @@ +{ + "operationId": "SuspendServiceBackup", + "description": "This example shows how to suspend backup for a stateful service which is configured for periodic backup.", + "parameters": { + "api-version": "6.4", + "serviceId": "CalcApp/CalcService" + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateBackupPolicy.json new file mode 100644 index 000000000000..3129817ddb68 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateBackupPolicy.json @@ -0,0 +1,35 @@ +{ + "operationId": "UpdateBackupPolicy", + "description": "This example shows how to update the schedule of a backup policy to take backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 30 days, with Azure blob store as the backup location.", + "parameters": { + "api-version": "6.4", + "backupPolicyName": "DailyAzureBackupPolicy", + "BackupPolicyDescription": { + "Name": "DailyAzureBackupPolicy", + "AutoRestoreOnDataLoss": false, + "MaxIncrementalBackups": 3, + "Schedule": { + "ScheduleKind": "TimeBased", + "ScheduleFrequencyType": "Daily", + "RunTimes": [ + "0001-01-01T09:00:00Z", + "0001-01-01T17:00:00Z" + ] + }, + "Storage": { + "StorageKind": "AzureBlobStore", + "FriendlyName": "Azure_storagesample", + "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=", + "ContainerName": "BackupContainer" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 60, + "RetentionDuration": "P30D" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-1.json new file mode 100644 index 000000000000..3dd7f5950427 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-1.json @@ -0,0 +1,34 @@ +{ + "operationId": "UpdateService", + "description": "This example shows how to update placement and load balancing related settings of a stateless Service Fabric service.", + "parameters": { + "serviceId": "test~test1", + "api-version": "6.0", + "ServiceUpdateDescription": { + "ServiceKind": "Stateless", + "Flags": "1568", + "PlacementConstraints": "Color==Red", + "DefaultMoveCost": "High", + "ScalingPolicies": [ + { + "ScalingTrigger": { + "Kind": "AveragePartitionLoad", + "MetricName": "servicefabric:/_CpuCores", + "LowerLoadThreshold": "0.500000", + "UpperLoadThreshold": "0.800000", + "ScaleIntervalInSeconds": 900 + }, + "ScalingMechanism": { + "Kind": "PartitionInstanceCount", + "MinInstanceCount": 4, + "MaxInstanceCount": 6, + "ScaleIncrement": 2 + } + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-2.json new file mode 100644 index 000000000000..cdb1368dbdd6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/examples/UpdateService-2.json @@ -0,0 +1,17 @@ +{ + "operationId": "UpdateService", + "description": "This example shows how to update placement and load balancing related settings of a stateful Service Fabric service.", + "parameters": { + "serviceId": "test~test2", + "api-version": "6.0", + "ServiceUpdateDescription": { + "ServiceKind": "Stateful", + "Flags": "40", + "PlacementConstraints": "Color==Green", + "StandByReplicaKeepDurationSeconds": "1000" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/servicefabric.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/servicefabric.json new file mode 100644 index 000000000000..c4f9b9238873 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/8.2/servicefabric.json @@ -0,0 +1,29745 @@ +{ + "swagger": "2.0", + "info": { + "title": "Service Fabric Client APIs", + "description": "Service Fabric REST Client APIs allows management of Service Fabric clusters, applications and services.", + "version": "8.2" + }, + "host": "localhost:19080", + "schemes": [ + "http", + "https" + ], + "produces": [ + "application/json" + ], + "paths": { + "/$/GetClusterManifest": { + "get": { + "operationId": "GetClusterManifest", + "summary": "Get the Service Fabric cluster manifest.", + "description": "Get the Service Fabric cluster manifest. The cluster manifest contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.\n\nThese properties are specified as part of the ClusterConfig.JSON file while deploying a stand-alone cluster. However, most of the information in the cluster manifest\nis generated internally by service fabric during cluster deployment in other deployment scenarios (e.g. when using Azure portal).\n\nThe contents of the cluster manifest are for informational purposes only and users are not expected to take a dependency on the format of the file contents or its interpretation.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster manifest information.", + "schema": { + "$ref": "#/definitions/ClusterManifest" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterHealth": { + "get": { + "operationId": "GetClusterHealth", + "summary": "Gets the health of a Service Fabric cluster.", + "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health information.", + "schema": { + "$ref": "#/definitions/ClusterHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetClusterHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric cluster using the specified policy.", + "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.\nUse ClusterHealthPolicies to override the health policies used to evaluate the health.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/ClusterHealthPoliciesOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health information.", + "schema": { + "$ref": "#/definitions/ClusterHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterHealthChunk": { + "get": { + "operationId": "GetClusterHealthChunk", + "summary": "Gets the health of a Service Fabric cluster using health chunks.", + "description": "Gets the health of a Service Fabric cluster using health chunks. Includes the aggregated health state of the cluster, but none of the cluster entities.\nTo expand the cluster health and get the health state of all or some of the entities, use the POST URI and specify the cluster health chunk query description.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health chunk information.", + "schema": { + "$ref": "#/definitions/ClusterHealthChunk" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetClusterHealthChunkUsingPolicyAndAdvancedFilters", + "summary": "Gets the health of a Service Fabric cluster using health chunks.", + "description": "Gets the health of a Service Fabric cluster using health chunks. The health evaluation is done based on the input cluster health chunk query description.\nThe query description allows users to specify health policies for evaluating the cluster and its children.\nUsers can specify very flexible filters to select which cluster entities to return. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ClusterHealthChunkQueryDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster health chunk information.", + "schema": { + "$ref": "#/definitions/ClusterHealthChunk" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ReportClusterHealth": { + "post": { + "operationId": "ReportClusterHealth", + "summary": "Sends a health report on the Service Fabric cluster.", + "description": "Sends a health report on a Service Fabric cluster. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetClusterHealth and check that the report appears in the HealthEvents section.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code when the cluster health report is accepted for processing." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetProvisionedCodeVersions": { + "get": { + "operationId": "GetProvisionedFabricCodeVersionInfoList", + "summary": "Gets a list of fabric code versions that are provisioned in a Service Fabric cluster.", + "description": "Gets a list of information about fabric code versions that are provisioned in the cluster. The parameter CodeVersion can be used to optionally filter the output to only that particular version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/CodeVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested provisioned code versions information.", + "schema": { + "$ref": "#/definitions/FabricCodeVersionInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetProvisionedConfigVersions": { + "get": { + "operationId": "GetProvisionedFabricConfigVersionInfoList", + "summary": "Gets a list of fabric config versions that are provisioned in a Service Fabric cluster.", + "description": "Gets a list of information about fabric config versions that are provisioned in the cluster. The parameter ConfigVersion can be used to optionally filter the output to only that particular version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ConfigVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested provisioned config versions information.", + "schema": { + "$ref": "#/definitions/FabricConfigVersionInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetUpgradeProgress": { + "get": { + "operationId": "GetClusterUpgradeProgress", + "summary": "Gets the progress of the current cluster upgrade.", + "description": "Gets the current progress of the ongoing cluster upgrade. If no upgrade is currently in progress, get the last state of the previous cluster upgrade.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster upgrade progress.", + "schema": { + "$ref": "#/definitions/ClusterUpgradeProgressObject" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterConfiguration": { + "get": { + "operationId": "GetClusterConfiguration", + "summary": "Get the Service Fabric standalone cluster configuration.", + "description": "The cluster configuration contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ConfigurationApiVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster configuration information.", + "schema": { + "$ref": "#/definitions/ClusterConfiguration" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterConfigurationUpgradeStatus": { + "get": { + "operationId": "GetClusterConfigurationUpgradeStatus", + "summary": "Get the cluster configuration upgrade status of a Service Fabric standalone cluster.", + "description": "Get the cluster configuration upgrade status details of a Service Fabric standalone cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster configuration upgrade status.", + "schema": { + "$ref": "#/definitions/ClusterConfigurationUpgradeStatusInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetUpgradeOrchestrationServiceState": { + "get": { + "operationId": "GetUpgradeOrchestrationServiceState", + "summary": "Get the service state of Service Fabric Upgrade Orchestration Service.", + "description": "Get the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested service state of Service Fabric Upgrade Orchestration Service.", + "schema": { + "$ref": "#/definitions/UpgradeOrchestrationServiceState" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/SetUpgradeOrchestrationServiceState": { + "post": { + "operationId": "SetUpgradeOrchestrationServiceState", + "summary": "Update the service state of Service Fabric Upgrade Orchestration Service.", + "description": "Update the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UpgradeOrchestrationServiceStateRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful response means that the service state of Service Fabric Upgrade Orchestration Service has been updated.", + "schema": { + "$ref": "#/definitions/UpgradeOrchestrationServiceStateSummary" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/Provision": { + "post": { + "summary": "Provision the code or configuration packages of a Service Fabric cluster.", + "description": "Validate and provision the code or configuration packages of a Service Fabric cluster.", + "operationId": "ProvisionCluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ProvisionFabricDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the code or configuration packages have been provisioned." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/Unprovision": { + "post": { + "summary": "Unprovision the code or configuration packages of a Service Fabric cluster.", + "description": "It is supported to unprovision code and configuration separately.", + "operationId": "UnprovisionCluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UnprovisionFabricDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the code or configuration packages have been unprovisioned." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/RollbackUpgrade": { + "post": { + "summary": "Roll back the upgrade of a Service Fabric cluster.", + "description": "Roll back the code or configuration upgrade of a Service Fabric cluster.", + "operationId": "RollbackClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "202": { + "description": "A successful response means that the rollback of a cluster upgrade has been initiated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/MoveToNextUpgradeDomain": { + "post": { + "summary": "Make the cluster upgrade move on to the next upgrade domain.", + "description": "Make the cluster code or configuration upgrade move on to the next upgrade domain if appropriate.", + "operationId": "ResumeClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ResumeClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the cluster upgrade has moved on to the next upgrade domain." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/Upgrade": { + "post": { + "summary": "Start upgrading the code or configuration version of a Service Fabric cluster.", + "description": "Validate the supplied upgrade parameters and start upgrading the code or configuration version of a Service Fabric cluster if the parameters are valid.", + "operationId": "StartClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/StartClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "202": { + "description": "A successful response means that the cluster code or configuration upgrade has started. Use GetUpgradeProgress operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/StartClusterConfigurationUpgrade": { + "post": { + "summary": "Start upgrading the configuration of a Service Fabric standalone cluster.", + "description": "Validate the supplied configuration upgrade parameters and start upgrading the cluster configuration if the parameters are valid.", + "operationId": "StartClusterConfigurationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ClusterConfigurationUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "x-ms-examples": { + "Start upgrading the configuration of a Service Fabric standalone cluster": { + "$ref": "./examples/StartClusterConfigurationUpgrade-1.json" + } + }, + "responses": { + "202": { + "description": "A successful response means that the cluster configuration upgrade has started. Use GetClusterConfigurationUpgradeStatus operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdateUpgrade": { + "post": { + "operationId": "UpdateClusterUpgrade", + "summary": "Update the upgrade parameters of a Service Fabric cluster upgrade.", + "description": "Update the upgrade parameters used during a Service Fabric cluster upgrade.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UpdateClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetAadMetadata": { + "get": { + "operationId": "GetAadMetadata", + "summary": "Gets the Azure Active Directory metadata used for secured connection to cluster.", + "description": "Gets the Azure Active Directory metadata used for secured connection to cluster.\nThis API is not supposed to be called separately. It provides information needed to set up an Azure Active Directory secured connection with a Service Fabric cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "schemes": [ + "https" + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the Azure Active Directory metadata.", + "schema": { + "$ref": "#/definitions/AadMetadataObject" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetClusterVersion": { + "get": { + "operationId": "GetClusterVersion", + "summary": "Get the current Service Fabric cluster version.", + "description": "If a cluster upgrade is happening, then this API will return the lowest (older) version of the current and target cluster runtime versions.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get cluster version": { + "$ref": "./examples/GetClusterVersion-1.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster version information.", + "schema": { + "$ref": "#/definitions/ClusterVersion" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetLoadInformation": { + "get": { + "operationId": "GetClusterLoad", + "summary": "Gets the load of a Service Fabric cluster.", + "description": "Retrieves the load information of a Service Fabric cluster for all the metrics that have load or capacity defined.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster load information.", + "schema": { + "$ref": "#/definitions/ClusterLoadInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ToggleVerboseServicePlacementHealthReporting": { + "post": { + "operationId": "ToggleVerboseServicePlacementHealthReporting", + "summary": "Changes the verbosity of service placement health reporting.", + "description": "If verbosity is set to true, then detailed health reports will be generated when replicas cannot be placed or dropped.\nIf verbosity is set to false, then no health reports will be generated when replicas cannot be placed or dropped.", + "tags": [ + "Cluster" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VerboseServicePlacementHealthReportingParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful response means that the verbosity of service placement health reporting was updated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ValidateUpgrade": { + "post": { + "summary": "Validate and assess the impact of a code or configuration version update of a Service Fabric cluster.", + "description": "Validate the supplied upgrade parameters and assess the expected impact of a code or configuration version upgrade of a Service Fabric cluster. The upgrade will not be initiated.", + "operationId": "ValidateClusterUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/StartClusterUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Cluster" + ], + "responses": { + "200": { + "description": "A successful response means that the cluster code or configuration upgrade has valid parameters. The response body describes the assessed expected impact of the upgrade.", + "schema": { + "$ref": "#/definitions/ValidateClusterUpgradeResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes": { + "get": { + "summary": "Gets the list of nodes in the Service Fabric cluster.", + "description": "The response includes the name, status, ID, health, uptime, and other details about the nodes.", + "operationId": "GetNodeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-3_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/NodeStatusFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Node" + ], + "x-ms-examples": { + "Get information about all nodes": { + "$ref": "./examples/GetNodeInfoList.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetNodeInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetNodeInfoList-2.json" + } + }, + "responses": { + "200": { + "description": "List of nodes in the cluster.", + "schema": { + "$ref": "#/definitions/PagedNodeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}": { + "get": { + "summary": "Gets the information about a specific node in the Service Fabric cluster.", + "description": "The response includes the name, status, ID, health, uptime, and other details about the node.", + "operationId": "GetNodeInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Node" + ], + "x-ms-examples": { + "Get a specific node by node name": { + "$ref": "./examples/GetNodeInfo-1.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return information about the node with the specified nodeName.", + "schema": { + "$ref": "#/definitions/NodeInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified nodeName is not found." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetHealth": { + "get": { + "operationId": "GetNodeHealth", + "summary": "Gets the health of a Service Fabric node.", + "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. If the node that you specify by name does not exist in the health store, this returns an error.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node health information.", + "schema": { + "$ref": "#/definitions/NodeHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetNodeHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric node, by using the specified health policy.", + "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicy in the POST body to override the health policies used to evaluate the health. If the node that you specify by name does not exist in the health store, this returns an error.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ClusterHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node health information.", + "schema": { + "$ref": "#/definitions/NodeHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/ReportHealth": { + "post": { + "operationId": "ReportNodeHealth", + "summary": "Sends a health report on the Service Fabric node.", + "description": "Reports health state of the specified Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetNodeHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetLoadInformation": { + "get": { + "operationId": "GetNodeLoadInfo", + "summary": "Gets the load information of a Service Fabric node.", + "description": "Retrieves the load information of a Service Fabric node for all the metrics that have load or capacity defined.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node load information.", + "schema": { + "$ref": "#/definitions/NodeLoadInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/Deactivate": { + "post": { + "operationId": "DisableNode", + "summary": "Deactivate a Service Fabric cluster node with the specified deactivation intent.", + "description": "Deactivate a Service Fabric cluster node with the specified deactivation intent. Once the deactivation is in progress, the deactivation intent can be increased, but not decreased (for example, a node that is deactivated with the Pause intent can be deactivated further with Restart, but not the other way around. Nodes may be reactivated using the Activate a node operation any time after they are deactivated. If the deactivation is not complete, this will cancel the deactivation. A node that goes down and comes back up while deactivated will still need to be reactivated before services will be placed on that node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/DeactivationIntentDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/Activate": { + "post": { + "operationId": "EnableNode", + "summary": "Activate a Service Fabric cluster node that is currently deactivated.", + "description": "Activates a Service Fabric cluster node that is currently deactivated. Once activated, the node will again become a viable target for placing new replicas, and any deactivated replicas remaining on the node will be reactivated.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/RemoveNodeState": { + "post": { + "operationId": "RemoveNodeState", + "summary": "Notifies Service Fabric that the persisted state on a node has been permanently removed or lost.", + "description": "This implies that it is not possible to recover the persisted state of that node. This generally happens if a hard disk has been wiped clean, or if a hard disk crashes. The node has to be down for this operation to be successful. This operation lets Service Fabric know that the replicas on that node no longer exist, and that Service Fabric should stop waiting for those replicas to come back up. Do not run this cmdlet if the state on the node has not been removed and the node can come back up with its state intact. Starting from Service Fabric 6.5, in order to use this API for seed nodes, please change the seed nodes to regular (non-seed) nodes and then invoke this API to remove the node state. If the cluster is running on Azure, after the seed node goes down, Service Fabric will try to change it to a non-seed node automatically. To make this happen, make sure the number of non-seed nodes in the primary node type is no less than the number of Down seed nodes. If necessary, add more nodes to the primary node type to achieve this. For standalone cluster, if the Down seed node is not expected to come back up with its state intact, please remove the node from the cluster, see https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-windows-server-add-remove-nodes", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/Restart": { + "post": { + "operationId": "RestartNode", + "summary": "Restarts a Service Fabric cluster node.", + "description": "Restarts a Service Fabric cluster node that is already started.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/RestartNodeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the node and it is in the process of restarting. Check the status of the node by calling GetNode operation." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/RemoveConfigurationOverrides": { + "delete": { + "operationId": "RemoveConfigurationOverrides", + "summary": "Removes configuration overrides on the specified node.", + "description": "This api allows removing all existing configuration overrides on specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetConfigurationOverrides": { + "get": { + "operationId": "GetConfigurationOverrides", + "summary": "Gets the list of configuration overrides on the specified node.", + "description": "This api allows getting all existing configuration overrides on the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "List of configuration overrides on the node.", + "schema": { + "$ref": "#/definitions/ConfigParameterOverrideList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/AddConfigurationParameterOverrides": { + "post": { + "operationId": "AddConfigurationParameterOverrides", + "summary": "Adds the list of configuration overrides on the specified node.", + "description": "This api allows adding all existing configuration overrides on the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ConfigurationOverrideListRequiredParam" + }, + { + "$ref": "#/parameters/ForceConfigurationOverrideOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/RemoveNodeTags": { + "post": { + "operationId": "RemoveNodeTags", + "summary": "Removes the list of tags from the specified node.", + "description": "This api allows removing set of tags from the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/NodeTagsListRequiredParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/AddNodeTags": { + "post": { + "operationId": "AddNodeTags", + "summary": "Adds the list of tags on the specified node.", + "description": "This api allows adding tags to the specified node.", + "tags": [ + "Node" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/NodeTagsListRequiredParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes": { + "get": { + "summary": "Gets the list of application types in the Service Fabric cluster.", + "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. Each version of an application type is returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.", + "operationId": "GetApplicationTypeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeDefinitionKindFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetApplicationTypeInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationTypeInfoList-2.json" + }, + "Exclude application parameters from the result": { + "$ref": "./examples/GetApplicationTypeInfoList-3.json" + } + }, + "tags": [ + "ApplicationType" + ], + "responses": { + "200": { + "description": "List of application types in the cluster.", + "schema": { + "$ref": "#/definitions/PagedApplicationTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}": { + "get": { + "summary": "Gets the list of application types in the Service Fabric cluster matching exactly the specified name.", + "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. These results are of application types whose name match exactly the one specified as the parameter, and which comply with the given query parameters. All versions of the application type matching the application type name are returned, with each version returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.", + "operationId": "GetApplicationTypeInfoListByName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ApplicationType" + ], + "responses": { + "200": { + "description": "List of application types in the cluster.", + "schema": { + "$ref": "#/definitions/PagedApplicationTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/$/Provision": { + "post": { + "operationId": "ProvisionApplicationType", + "summary": "Provisions or registers a Service Fabric application type with the cluster using the '.sfpkg' package in the external store or using the application package in the image store.", + "description": "Provisions a Service Fabric application type with the cluster. The provision is required before any new applications can be instantiated.\nThe provision operation can be performed either on the application package specified by the relativePathInImageStore, or by using the URI of the external '.sfpkg'.", + "tags": [ + "ApplicationType" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ProvisionApplicationTypeDescriptionBaseRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful provision will return 200 status code." + }, + "202": { + "description": "A 202 status code indicates the operation was accepted and the provision operation has been initiated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/Unprovision": { + "post": { + "operationId": "UnprovisionApplicationType", + "summary": "Removes or unregisters a Service Fabric application type from the cluster.", + "description": "This operation can only be performed if all application instances of the application type have been deleted. Once the application type is unregistered, no new application instances can be created for this particular application type.", + "tags": [ + "ApplicationType" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/UnprovisionApplicationTypeRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful provision will return 200 status code." + }, + "202": { + "description": "A 202 status code indicates the operation was accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes": { + "get": { + "summary": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster.", + "description": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned.", + "operationId": "GetServiceTypeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "x-ms-examples": { + "Get information about all nodes.": { + "$ref": "./examples/GetServiceTypeInfoList-1.json" + } + }, + "responses": { + "200": { + "description": "List of service types that are supported by a provisioned application type.", + "schema": { + "$ref": "#/definitions/ServiceTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}": { + "get": { + "summary": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster.", + "description": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned. A 204 response is returned if the specified service type is not found in the cluster.", + "operationId": "GetServiceTypeInfoByName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "x-ms-examples": { + "Get information about all nodes.": { + "$ref": "./examples/GetServiceTypeInfoByName-1.json" + } + }, + "responses": { + "200": { + "description": "A specific service type which supported by a provisioned application type.", + "schema": { + "$ref": "#/definitions/ServiceTypeInfo" + } + }, + "204": { + "description": "A 204 response is returned if the specified service type is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest": { + "get": { + "summary": "Gets the manifest describing a service type.", + "description": "Gets the manifest describing a service type. The response contains the service manifest XML as a string.", + "operationId": "GetServiceManifest", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "responses": { + "200": { + "description": "Information about the service type.", + "schema": { + "$ref": "#/definitions/ServiceTypeManifest" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes": { + "get": { + "summary": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster.", + "description": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package.", + "operationId": "GetDeployedServiceTypeInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "responses": { + "200": { + "description": "List of information about service types of an application deployed on a node.", + "schema": { + "$ref": "#/definitions/DeployedServiceTypeInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}": { + "get": { + "summary": "Gets the information about a specified service type of the application deployed on a node in a Service Fabric cluster.", + "description": "Gets the list containing the information about a specific service type from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package. Each entry represents one activation of a service type, differentiated by the activation ID.", + "operationId": "GetDeployedServiceTypeInfoByName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ServiceType" + ], + "responses": { + "200": { + "description": "Information about service types of an application deployed on a node.", + "schema": { + "$ref": "#/definitions/DeployedServiceTypeInfoList" + } + }, + "204": { + "description": "An empty response is returned if the specified service type of the application is not deployed on the node." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/$/Create": { + "post": { + "summary": "Creates a Service Fabric application.", + "description": "Creates a Service Fabric application using the specified description.", + "operationId": "CreateApplication", + "x-ms-examples": { + "Create application.": { + "$ref": "./examples/CreateApplication-1.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "201": { + "description": "A successful response means that the application creation has been started. Use GetApplication operation to get the status of the application. Once GetApplicationInfo successfully returns application information, the application is created. If the application has default services those may be in the process of being created. Use GetServiceInfo operation to get the status of the service within the application." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/Delete": { + "post": { + "summary": "Deletes an existing Service Fabric application.", + "description": "An application must be created before it can be deleted. Deleting an application will delete all services that are part of that application. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if a service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the application and all of its services.", + "operationId": "DeleteApplication", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ForceRemoveOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetLoadInformation": { + "get": { + "summary": "Gets load information about a Service Fabric application.", + "description": "Returns the load information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, minimum nodes, maximum nodes, the number of nodes the application is occupying currently, and application load metric information about the application.", + "operationId": "GetApplicationLoadInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "Information about the application load.", + "schema": { + "$ref": "#/definitions/ApplicationLoadInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified applicationId is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications": { + "get": { + "summary": "Gets the list of applications created in the Service Fabric cluster that match the specified filters.", + "description": "Gets the information about the applications that were created or in the process of being created in the Service Fabric cluster and match the specified filters. The response includes the name, type, status, parameters, and other details about the application. If the applications do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Filters ApplicationTypeName and ApplicationDefinitionKindFilter cannot be specified at the same time.", + "operationId": "GetApplicationInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationDefinitionKindFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetApplicationInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationInfoList-2.json" + } + }, + "responses": { + "200": { + "description": "List of applications created in the cluster.", + "schema": { + "$ref": "#/definitions/PagedApplicationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}": { + "get": { + "summary": "Gets information about a Service Fabric application.", + "description": "Returns the information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, type, status, parameters, and other details about the application.", + "operationId": "GetApplicationInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "x-ms-examples": { + "Get a specific application by application id": { + "$ref": "./examples/GetApplicationInfoByName-1.json" + } + }, + "responses": { + "200": { + "description": "Information about the application.", + "schema": { + "$ref": "#/definitions/ApplicationInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified applicationId is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetHealth": { + "get": { + "summary": "Gets the health of the service fabric application.", + "description": "Returns the heath state of the service fabric application. The response reports either Ok, Error or Warning health state. If the entity is not found in the health store, it will return Error.", + "operationId": "GetApplicationHealth", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested application health information.", + "schema": { + "$ref": "#/definitions/ApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetApplicationHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric application using the specified policy.", + "description": "Gets the health of a Service Fabric application. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicies to override the health policies used to evaluate the health.", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested node health information.", + "schema": { + "$ref": "#/definitions/ApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/ReportHealth": { + "post": { + "operationId": "ReportApplicationHealth", + "summary": "Sends a health report on the Service Fabric application.", + "description": "Reports health state of the specified Service Fabric application. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Application, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get application health and check that the report appears in the HealthEvents section.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/Upgrade": { + "post": { + "summary": "Starts upgrading an application in the Service Fabric cluster.", + "description": "Validates the supplied application upgrade parameters and starts upgrading the application if the parameters are valid.\nNote, [ApplicationParameter](https://docs.microsoft.com/dotnet/api/system.fabric.description.applicationdescription.applicationparameters)s are not preserved across an application upgrade.\nIn order to preserve current application parameters, the user should get the parameters using [GetApplicationInfo](./GetApplicationInfo.md) operation first and pass them into the upgrade API call as shown in the example.", + "operationId": "StartApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "x-ms-examples": { + "Upgrade an application preserving current application parameters": { + "$ref": "./examples/StartApplicationUpgrade-1.json" + } + }, + "responses": { + "200": { + "description": "A successful response means that the application upgrade has started. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetUpgradeProgress": { + "get": { + "summary": "Gets details for the latest upgrade performed on this application.", + "description": "Returns information about the state of the latest application upgrade along with details to aid debugging application health issues.", + "operationId": "GetApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "The application upgrade details.", + "schema": { + "$ref": "#/definitions/ApplicationUpgradeProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/UpdateUpgrade": { + "post": { + "summary": "Updates an ongoing application upgrade in the Service Fabric cluster.", + "description": "Updates the parameters of an ongoing application upgrade from the ones specified at the time of starting the application upgrade. This may be required to mitigate stuck application upgrades due to incorrect parameters or issues in the application to make progress.", + "operationId": "UpdateApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationUpgradeUpdateDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application upgrade has updated with the specified parameters. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/Update": { + "post": { + "operationId": "UpdateApplication", + "summary": "Updates a Service Fabric application.", + "description": "Updates a Service Fabric application instance. The set of properties that can be updated are a subset of the properties that were specified at the time of creating the application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationUpdateDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application instance was updated with the specified parameters." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/MoveToNextUpgradeDomain": { + "post": { + "summary": "Resumes upgrading an application in the Service Fabric cluster.", + "description": "Resumes an unmonitored manual Service Fabric application upgrade. Service Fabric upgrades one upgrade domain at a time. For unmonitored manual upgrades, after Service Fabric finishes an upgrade domain, it waits for you to call this API before proceeding to the next upgrade domain.", + "operationId": "ResumeApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ResumeApplicationUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application upgrade has been resumed in the specified upgrade domain. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/RollbackUpgrade": { + "post": { + "summary": "Starts rolling back the currently on-going upgrade of an application in the Service Fabric cluster.", + "description": "Starts rolling back the current application upgrade to the previous version. This API can only be used to roll back the current in-progress upgrade that is rolling forward to new version. If the application is not currently being upgraded use StartApplicationUpgrade API to upgrade it to desired version, including rolling back to a previous version.", + "operationId": "RollbackApplicationUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful response means that the application has started to roll back. Use GetApplicationUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications": { + "get": { + "operationId": "GetDeployedApplicationInfoList", + "summary": "Gets the list of applications deployed on a Service Fabric node.", + "description": "Gets the list of applications deployed on a Service Fabric node. The results do not include information about deployed system applications unless explicitly queried for by ID. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + } + ], + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetDeployedApplicationInfoList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetDeployedApplicationInfoList-2.json" + }, + "Include health state in the result": { + "$ref": "./examples/GetDeployedApplicationInfoList-3.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed application information.", + "schema": { + "$ref": "#/definitions/PagedDeployedApplicationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}": { + "get": { + "operationId": "GetDeployedApplicationInfo", + "summary": "Gets the information about an application deployed on a Service Fabric node.", + "description": "This query returns system application information if the application ID provided is for system application. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get a specific deployed application by application ID and include the health state in the result": { + "$ref": "./examples/GetDeployedApplicationInfoByName-1.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the information about the deployed application.", + "schema": { + "$ref": "#/definitions/DeployedApplicationInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified application is not deployed on the node." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth": { + "get": { + "operationId": "GetDeployedApplicationHealth", + "summary": "Gets the information about health of an application deployed on a Service Fabric node.", + "description": "Gets the information about health of an application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed application.", + "schema": { + "$ref": "#/definitions/DeployedApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetDeployedApplicationHealthUsingPolicy", + "summary": "Gets the information about health of an application deployed on a Service Fabric node. using the specified policy.", + "description": "Gets the information about health of an application deployed on a Service Fabric node using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Application" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed application.", + "schema": { + "$ref": "#/definitions/DeployedApplicationHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth": { + "post": { + "operationId": "ReportDeployedApplicationHealth", + "summary": "Sends a health report on the Service Fabric application deployed on a Service Fabric node.", + "description": "Reports health state of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed application health and check that the report appears in the HealthEvents section.", + "tags": [ + "Application" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest": { + "get": { + "summary": "Gets the manifest describing an application type.", + "description": "The response contains the application manifest XML as a string.", + "operationId": "GetApplicationManifest", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ApplicationType" + ], + "responses": { + "200": { + "description": "Information about the node.", + "schema": { + "$ref": "#/definitions/ApplicationTypeManifest" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices": { + "get": { + "summary": "Gets the information about all services belonging to the application specified by the application ID.", + "description": "Returns the information about all services belonging to the application specified by the application ID.", + "operationId": "GetServiceInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceTypeNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "List of services in the cluster for the specified application.", + "schema": { + "$ref": "#/definitions/PagedServiceInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices/{serviceId}": { + "get": { + "summary": "Gets the information about the specific service belonging to the Service Fabric application.", + "description": "Returns the information about the specified service belonging to the specified Service Fabric application.", + "operationId": "GetServiceInfo", + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "Information about the specified service.", + "schema": { + "$ref": "#/definitions/ServiceInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified service is not part of the specified application." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetApplicationName": { + "get": { + "summary": "Gets the name of the Service Fabric application for a service.", + "description": "Gets the name of the application for the specified service. A 404 FABRIC_E_SERVICE_DOES_NOT_EXIST error is returned if a service with the provided service ID does not exist.", + "operationId": "GetApplicationNameInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "Information about the name of the application for the specified service.", + "schema": { + "$ref": "#/definitions/ApplicationNameInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices/$/Create": { + "post": { + "operationId": "CreateService", + "summary": "Creates the specified Service Fabric service.", + "description": "This api allows creating a new Service Fabric stateless or stateful service under a specified Service Fabric application. The description for creating the service includes partitioning information and optional properties for placement and load balancing. Some of the properties can later be modified using `UpdateService` API.", + "x-ms-examples": { + "Basic stateless service": { + "$ref": "./examples/CreateService-1.json" + }, + "Basic stateful service": { + "$ref": "./examples/CreateService-2.json" + }, + "Stateless service with dns name and auto scaling": { + "$ref": "./examples/CreateService-3.json" + }, + "Stateful service with named partitions and auto scaling": { + "$ref": "./examples/CreateService-4.json" + } + }, + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate": { + "post": { + "summary": "Creates a Service Fabric service from the service template.", + "description": "Creates a Service Fabric service from the service template defined in the application manifest. A service template contains the properties that will be same for the service instance of the same type. The API allows overriding the properties that are usually different for different services of the same service type.", + "operationId": "CreateServiceFromTemplate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CreateServiceFromTemplateRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/Delete": { + "post": { + "summary": "Deletes an existing Service Fabric service.", + "description": "A service must be created before it can be deleted. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if the service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the service.", + "operationId": "DeleteService", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ForceRemoveOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/Update": { + "post": { + "operationId": "UpdateService", + "summary": "Updates a Service Fabric service using the specified update description.", + "description": "This API allows updating properties of a running Service Fabric service. The set of properties that can be updated are a subset of the properties that were specified at the time of creating the service. The current set of properties can be obtained using `GetServiceDescription` API. Note that updating the properties of a running service is different than upgrading your application using `StartApplicationUpgrade` API. The upgrade is a long running background operation that involves moving the application from one version to another, one upgrade domain at a time, whereas update applies the new properties immediately to the service.", + "x-ms-examples": { + "Stateless service": { + "$ref": "./examples/UpdateService-1.json" + }, + "Stateful service": { + "$ref": "./examples/UpdateService-2.json" + } + }, + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceUpdateDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetDescription": { + "get": { + "summary": "Gets the description of an existing Service Fabric service.", + "description": "Gets the description of an existing Service Fabric service. A service must be created before its description can be obtained.", + "operationId": "GetServiceDescription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.", + "schema": { + "$ref": "#/definitions/ServiceDescription" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetHealth": { + "get": { + "summary": "Gets the health of the specified Service Fabric service.", + "description": "Gets the health information of the specified service.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.", + "operationId": "GetServiceHealth", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the specified service.", + "schema": { + "$ref": "#/definitions/ServiceHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "summary": "Gets the health of the specified Service Fabric service, by using the specified health policy.", + "description": "Gets the health information of the specified service.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.", + "operationId": "GetServiceHealthUsingPolicy", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the specified service.", + "schema": { + "$ref": "#/definitions/ServiceHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/ReportHealth": { + "post": { + "operationId": "ReportServiceHealth", + "summary": "Sends a health report on the Service Fabric service.", + "description": "Reports health state of the specified Service Fabric service. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetServiceHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/ResolvePartition": { + "get": { + "operationId": "ResolveService", + "summary": "Resolve a Service Fabric partition.", + "description": "Resolve a Service Fabric service partition to get the endpoints of the service replicas.", + "tags": [ + "Service" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionKeyTypeOptionalQueryParam" + }, + { + "$ref": "#/parameters/PartitionKeyValueOptionalQueryParam" + }, + { + "$ref": "#/parameters/PreviousRspVersionOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.", + "schema": { + "$ref": "#/definitions/ResolvedServicePartition" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetUnplacedReplicaInformation": { + "get": { + "summary": "Gets the information about unplaced replica of the service.", + "description": "Returns the information about the unplaced replicas of the service.\nIf PartitionId is specified, then result will contain information only about unplaced replicas for that partition.\nIf PartitionId is not specified, then result will contain information about unplaced replicas for all partitions of that service.\nIf OnlyQueryPrimaries is set to true, then result will contain information only about primary replicas, and will ignore unplaced secondary replicas.", + "operationId": "GetUnplacedReplicaInformation", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/OnlyQueryPrimariesOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service" + ], + "responses": { + "200": { + "description": "Information about the specified service.", + "schema": { + "$ref": "#/definitions/UnplacedReplicaInformation" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetLoadedPartitionInfoList": { + "get": { + "summary": "Gets ordered list of partitions.", + "description": "Retrieves partitions which are most/least loaded according to specified metric.", + "operationId": "GetLoadedPartitionInfoList", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/MetricNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/OrderingOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested cluster load information.", + "schema": { + "$ref": "#/definitions/LoadedPartitionInformationResultList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetPartitions": { + "get": { + "summary": "Gets the list of partitions of a Service Fabric service.", + "description": "The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.", + "operationId": "GetPartitionInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "List of partitions of a Service Fabric service.", + "schema": { + "$ref": "#/definitions/PagedServicePartitionInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}": { + "get": { + "summary": "Gets the information about a Service Fabric partition.", + "description": "Gets the information about the specified partition. The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.", + "operationId": "GetPartitionInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "Information about the specified partition.", + "schema": { + "$ref": "#/definitions/ServicePartitionInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified partitionId is not found in the cluster." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetServiceName": { + "get": { + "summary": "Gets the name of the Service Fabric service for a partition.", + "description": "Gets name of the service for the specified partition. A 404 error is returned if the partition ID does not exist in the cluster.", + "operationId": "GetServiceNameInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "Information about the name of the service for the specified partition.", + "schema": { + "$ref": "#/definitions/ServiceNameInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetHealth": { + "get": { + "summary": "Gets the health of the specified Service Fabric partition.", + "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition.\nIf you specify a partition that does not exist in the health store, this request returns an error.", + "operationId": "GetPartitionHealth", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information about the specified partition.", + "schema": { + "$ref": "#/definitions/PartitionHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "summary": "Gets the health of the specified Service Fabric partition, by using the specified health policy.", + "description": "Gets the health information of the specified partition.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the partition based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition. Use ApplicationHealthPolicy in the POST body to override the health policies used to evaluate the health.\nIf you specify a partition that does not exist in the health store, this request returns an error.", + "operationId": "GetPartitionHealthUsingPolicy", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information about the specified partition.", + "schema": { + "$ref": "#/definitions/PartitionHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/ReportHealth": { + "post": { + "operationId": "ReportPartitionHealth", + "summary": "Sends a health report on the Service Fabric partition.", + "description": "Reports health state of the specified Service Fabric partition. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Partition, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetPartitionHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetLoadInformation": { + "get": { + "summary": "Gets the load information of the specified Service Fabric partition.", + "description": "Returns information about the load of a specified partition.\nThe response includes a list of load reports for a Service Fabric partition.\nEach report includes the load metric name, value, and last reported time in UTC.", + "operationId": "GetPartitionLoadInformation", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Partition" + ], + "responses": { + "200": { + "description": "Information about the specified partition's last reported load metrics.", + "schema": { + "$ref": "#/definitions/PartitionLoadInformation" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/ResetLoad": { + "post": { + "operationId": "ResetPartitionLoad", + "summary": "Resets the current load of a Service Fabric partition.", + "description": "Resets the current load of a Service Fabric partition to the default load for the service.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/Recover": { + "post": { + "operationId": "RecoverPartition", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover a specific partition that is currently stuck in quorum loss.", + "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/$/{serviceId}/$/GetPartitions/$/Recover": { + "post": { + "operationId": "RecoverServicePartitions", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss.", + "description": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/RecoverSystemPartitions": { + "post": { + "operationId": "RecoverSystemPartitions", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss.", + "description": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/RecoverAllPartitions": { + "post": { + "operationId": "RecoverAllPartitions", + "summary": "Indicates to the Service Fabric cluster that it should attempt to recover any services (including system services) which are currently stuck in quorum loss.", + "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/MovePrimaryReplica": { + "post": { + "operationId": "MovePrimaryReplica", + "summary": "Moves the primary replica of a partition of a stateful service.", + "description": "This command moves the primary replica of a partition of a stateful service, respecting all constraints.\nIf NodeName parameter is specified, primary will be moved to the specified node (if constraints allow it).\nIf NodeName parameter is not specified, primary replica will be moved to a random node in the cluster.\nIf IgnoreConstraints parameter is specified and set to true, then primary will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/NodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/MoveSecondaryReplica": { + "post": { + "operationId": "MoveSecondaryReplica", + "summary": "Moves the secondary replica of a partition of a stateful service.", + "description": "This command moves the secondary replica of a partition of a stateful service, respecting all constraints.\nCurrentNodeName parameter must be specified to identify the replica that is moved.\nSource node name must be specified, but new node name can be omitted, and in that case replica is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then secondary will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CurrentNodeNameRequiredParam" + }, + { + "$ref": "#/parameters/NewNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdatePartitionLoad": { + "post": { + "operationId": "UpdatePartitionLoad", + "summary": "Update the loads of provided partitions for specific metrics.", + "description": "Updates the load value and predicted load value for all the partitions provided for specified metrics.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionMetricLoadDescriptionListRequiredParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "List UpdatePartitionLoadResults.", + "schema": { + "$ref": "#/definitions/PagedUpdatePartitionLoadResultList" + } + }, + "default": { + "description": "The error code response per specified partition.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetPartitions/{partitionId}/$/MoveInstance": { + "post": { + "operationId": "MoveInstance", + "summary": "Moves the instance of a partition of a stateless service.", + "description": "This command moves the instance of a partition of a stateless service, respecting all constraints.\nPartition id and service name must be specified to be able to move the instance.\nCurrentNodeName when specified identifies the instance that is moved. If not specified, random instance will be moved \nNew node name can be omitted, and in that case instance is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then instance will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CurrentNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/NewNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetPartitions/{partitionId}/$/MoveAuxiliaryReplica": { + "post": { + "operationId": "MoveAuxiliaryReplica", + "summary": "Moves the auxiliary replica of a partition of a stateful service.", + "description": "This command moves the auxiliary replica of a partition of a stateful service, respecting all constraints.\nCurrentNodeName can be omitted, and in that case a random auxiliary replica is chosen.\nNewNodeName can be omitted, and in that case the auxiliary replica is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then auxiliary will be moved regardless of the constraints.", + "tags": [ + "Partition" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_8-1_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/CurrentNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/NewNodeNameOptionalParam" + }, + { + "$ref": "#/parameters/IgnoreConstraintsOptionalParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation request will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/CreateRepairTask": { + "post": { + "operationId": "CreateRepairTask", + "summary": "Creates a new repair task.", + "description": "For clusters that have the Repair Manager Service configured,\nthis API provides a way to create repair tasks that run automatically or manually.\nFor repair tasks that run automatically, an appropriate repair executor\nmust be running for each repair action to run automatically.\nThese are currently only available in specially-configured Azure Cloud Services.\n\nTo create a manual repair task, provide the set of impacted node names and the\nexpected impact. When the state of the created repair task changes to approved,\nyou can safely perform repair actions on those nodes.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the created repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/CancelRepairTask": { + "post": { + "operationId": "CancelRepairTask", + "summary": "Requests the cancellation of the given repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskCancelDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.\nSuccess indicates that the cancellation request was recorded, but does not guarantee that the repair task will be cancelled.\nClients may use the State property of the repair task to determine the current state of the repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/DeleteRepairTask": { + "post": { + "operationId": "DeleteRepairTask", + "summary": "Deletes a completed repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskDeleteDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/GetRepairTaskList": { + "get": { + "operationId": "GetRepairTaskList", + "summary": "Gets a list of repair tasks matching the given filters.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskIdFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskExecutorFilterOptionalQueryParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides a list of repair tasks matching all of the given filters.", + "schema": { + "$ref": "#/definitions/RepairTaskList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/ForceApproveRepairTask": { + "post": { + "operationId": "ForceApproveRepairTask", + "summary": "Forces the approval of the given repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskApproveDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdateRepairTaskHealthPolicy": { + "post": { + "operationId": "UpdateRepairTaskHealthPolicy", + "summary": "Updates the health policy of the given repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/UpdateRepairExecutionState": { + "post": { + "operationId": "UpdateRepairExecutionState", + "summary": "Updates the execution state of a repair task.", + "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/RepairTaskRequiredBodyParam" + } + ], + "tags": [ + "RepairManagement" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.", + "schema": { + "$ref": "#/definitions/RepairTaskUpdateInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas": { + "get": { + "summary": "Gets the information about replicas of a Service Fabric service partition.", + "description": "The GetReplicas endpoint returns information about the replicas of the specified partition. The response includes the ID, role, status, health, node name, uptime, and other details about the replica.", + "operationId": "GetReplicaInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "Information about the replicas of the specified partition.", + "schema": { + "$ref": "#/definitions/PagedReplicaInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas/{replicaId}": { + "get": { + "summary": "Gets the information about a replica of a Service Fabric partition.", + "description": "The response includes the ID, role, status, health, node name, uptime, and other details about the replica.", + "operationId": "GetReplicaInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "Information about the specified replicas of the specified partition of a Service Fabric service.", + "schema": { + "$ref": "#/definitions/ReplicaInfo" + } + }, + "204": { + "description": "An empty response is returned if the specified replicaId is not a replica of the specified partition." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth": { + "get": { + "operationId": "GetReplicaHealth", + "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance.", + "description": "Gets the health of a Service Fabric replica.\nUse EventsHealthStateFilter to filter the collection of health events reported on the replica based on the health state.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested replica health.", + "schema": { + "$ref": "#/definitions/ReplicaHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetReplicaHealthUsingPolicy", + "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance using the specified policy.", + "description": "Gets the health of a Service Fabric stateful service replica or stateless service instance.\nUse EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nUse ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Replica" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested replica health information.", + "schema": { + "$ref": "#/definitions/ReplicaHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth": { + "post": { + "operationId": "ReportReplicaHealth", + "summary": "Sends a health report on the Service Fabric replica.", + "description": "Reports health state of the specified Service Fabric replica. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Replica, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetReplicaHealth and check that the report appears in the HealthEvents section.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaHealthReportServiceKindRequiredQueryParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas": { + "get": { + "operationId": "GetDeployedServiceReplicaInfoList", + "summary": "Gets the list of replicas deployed on a Service Fabric node.", + "description": "Gets the list containing the information about replicas deployed on a Service Fabric node. The information include partition ID, replica ID, status of the replica, name of the service, name of the service type, and other information. Use PartitionId or ServiceManifestName query parameters to return information about the deployed replicas matching the specified values for those parameters.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service replica information.", + "schema": { + "$ref": "#/definitions/DeployedServiceReplicaInfoList" + } + }, + "204": { + "description": "An empty response is returned if the specified applicationId is not found on the specified node. An empty response is also returned if there are no replicas matching the specified filter values for PartitionId or ServiceManifestName query parameters." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail": { + "get": { + "operationId": "GetDeployedServiceReplicaDetailInfo", + "summary": "Gets the details of replica deployed on a Service Fabric node.", + "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service replica information.", + "schema": { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas": { + "get": { + "operationId": "GetDeployedServiceReplicaDetailInfoByPartitionId", + "summary": "Gets the details of replica deployed on a Service Fabric node.", + "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service replica information.", + "schema": { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart": { + "post": { + "operationId": "RestartReplica", + "summary": "Restarts a service replica of a persisted service running on a node.", + "description": "Restarts a service replica of a persisted service running on a node. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to availability loss for stateful services.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete": { + "post": { + "operationId": "RemoveReplica", + "summary": "Removes a service replica running on a node.", + "description": "This API simulates a Service Fabric replica failure by removing a replica from a Service Fabric cluster. The removal closes the replica, transitions the replica to the role None, and then removes all of the state information of the replica from the cluster. This API tests the replica state removal path, and simulates the report fault permanent path through client APIs. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to data loss for stateful services. In addition, the forceRemove flag impacts all other replicas hosted in the same process.", + "tags": [ + "Replica" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ForceRemoveReplicaOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages": { + "get": { + "operationId": "GetDeployedServicePackageInfoList", + "summary": "Gets the list of service packages deployed on a Service Fabric node.", + "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service packages information.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}": { + "get": { + "operationId": "GetDeployedServicePackageInfoListByName", + "summary": "Gets the list of service packages deployed on a Service Fabric node matching exactly the specified name.", + "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application. These results are of service packages whose name match exactly the service package name specified as the parameter.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed service packages information.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageInfoList" + } + }, + "204": { + "description": "An empty response is returned if the specified service package from the application is not deployed on the node." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth": { + "get": { + "operationId": "GetDeployedServicePackageHealth", + "summary": "Gets the information about health of a service package for a specific application deployed for a Service Fabric node and application.", + "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "GetDeployedServicePackageHealthUsingPolicy", + "summary": "Gets the information about health of service package for a specific application deployed on a Service Fabric node using the specified policy.", + "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed service package.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Service Package" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.", + "schema": { + "$ref": "#/definitions/DeployedServicePackageHealth" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth": { + "post": { + "operationId": "ReportDeployedServicePackageHealth", + "summary": "Sends a health report on the Service Fabric deployed service package.", + "description": "Reports health state of the service package of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed service package health and check that the report appears in the HealthEvents section.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServicePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/HealthInformationRequiredBodyParam" + }, + { + "$ref": "#/parameters/ImmediateOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/DeployServicePackage": { + "post": { + "operationId": "DeployServicePackageToNode", + "summary": "Downloads all of the code packages associated with specified service manifest on the specified node.", + "description": "This API provides a way to download code packages including the container images on a specific node outside of the normal application deployment and upgrade path. This is useful for the large code packages and container images to be present on the node before the actual application deployment and upgrade, thus significantly reducing the total time required for the deployment or upgrade.", + "tags": [ + "Service Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/DeployServicePackageToNodeRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages": { + "get": { + "operationId": "GetDeployedCodePackageInfoList", + "summary": "Gets the list of code packages deployed on a Service Fabric node.", + "description": "Gets the list of code packages deployed on a Service Fabric node for the given application.", + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/CodePackageNameOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the list of deployed code packages information.", + "schema": { + "$ref": "#/definitions/DeployedCodePackageInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart": { + "post": { + "operationId": "RestartDeployedCodePackage", + "summary": "Restarts a code package deployed on a Service Fabric node in a cluster.", + "description": "Restarts a code package deployed on a Service Fabric node in a cluster. This aborts the code package process, which will restart all the user service replicas hosted in that process.", + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/RestartDeployedCodePackageRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs": { + "get": { + "operationId": "GetContainerLogsDeployedOnNode", + "summary": "Gets the container logs for container deployed on a Service Fabric node.", + "description": "Gets the container logs for container deployed on a Service Fabric node for the given code package.", + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/CodePackageNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TailOptionalQueryParam" + }, + { + "$ref": "#/parameters/PreviousOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get container logs for given code package": { + "$ref": "./examples/GetContainerLogsDeployedOnNode-1.json" + }, + "Get last 10 lines of container logs": { + "$ref": "./examples/GetContainerLogsDeployedOnNode-2.json" + }, + "Get container logs of previous dead container for given code package": { + "$ref": "./examples/GetContainerLogsDeployedOnNode-3.json" + } + }, + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the container logs for container deployed on a Service Fabric node for the given code package.", + "schema": { + "$ref": "#/definitions/ContainerLogs" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi": { + "post": { + "operationId": "InvokeContainerApi", + "summary": "Invoke container API on a container deployed on a Service Fabric node.", + "description": "Invoke container API on a container deployed on a Service Fabric node for the given code package.", + "x-ms-examples": { + "Get container logs": { + "$ref": "./examples/InvokeContainerApi.json" + }, + "Update container": { + "$ref": "./examples/InvokeContainerApi_Post.json" + } + }, + "tags": [ + "Code Package" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/CodePackageNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/CodePackageInstanceIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContainerApiRequiredBodyParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and container API response for a container deployed on a Service Fabric node for the given code package.", + "schema": { + "$ref": "#/definitions/ContainerApiResponse" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/$/Create": { + "put": { + "summary": "Creates a Service Fabric compose deployment.", + "description": "Compose is a file format that describes multi-container applications. This API allows deploying container based applications defined in compose format in a Service Fabric cluster. Once the deployment is created, its status can be tracked via the `GetComposeDeploymentStatus` API.", + "operationId": "CreateComposeDeployment", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/CreateComposeDeploymentRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}": { + "get": { + "summary": "Gets information about a Service Fabric compose deployment.", + "description": "Returns the status of the compose deployment that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, status, and other details about the deployment.", + "operationId": "GetComposeDeploymentStatus", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "Information about the compose deployment.", + "schema": { + "$ref": "#/definitions/ComposeDeploymentStatusInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments": { + "get": { + "summary": "Gets the list of compose deployments created in the Service Fabric cluster.", + "description": "Gets the status about the compose deployments that were created or in the process of being created in the Service Fabric cluster. The response includes the name, status, and other details about the compose deployments. If the list of deployments do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page.", + "operationId": "GetComposeDeploymentStatusList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "List of status of compose deployments in the cluster.", + "schema": { + "$ref": "#/definitions/PagedComposeDeploymentStatusInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress": { + "get": { + "summary": "Gets details for the latest upgrade performed on this Service Fabric compose deployment.", + "description": "Returns the information about the state of the compose deployment upgrade along with details to aid debugging application health issues.", + "operationId": "GetComposeDeploymentUpgradeProgress", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "Details about the compose deployment upgrade.", + "schema": { + "$ref": "#/definitions/ComposeDeploymentUpgradeProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/Delete": { + "post": { + "summary": "Deletes an existing Service Fabric compose deployment from cluster.", + "description": "Deletes an existing Service Fabric compose deployment.", + "operationId": "RemoveComposeDeployment", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "202": { + "description": "A successful operation will return 202 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/Upgrade": { + "post": { + "summary": "Starts upgrading a compose deployment in the Service Fabric cluster.", + "description": "Validates the supplied upgrade parameters and starts upgrading the deployment if the parameters are valid.", + "operationId": "StartComposeDeploymentUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ComposeDeploymentUpgradeDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "202": { + "description": "A successful response means that the upgrade has started. Use GetComposeDeploymentUpgrade operation to get the status of the upgrade." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ComposeDeployments/{deploymentName}/$/RollbackUpgrade": { + "post": { + "summary": "Starts rolling back a compose deployment upgrade in the Service Fabric cluster.", + "description": "Rollback a service fabric compose deployment upgrade.", + "operationId": "StartRollbackComposeDeploymentUpgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DeploymentNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Compose Deployment" + ], + "responses": { + "200": { + "description": "A successful response means that the rollback has started. Use GetComposeDeploymentUpgrade operation to get the status of the rollback." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos": { + "get": { + "operationId": "GetChaos", + "summary": "Get the status of Chaos.", + "description": "Get the status of Chaos indicating whether or not Chaos is running, the Chaos parameters used for running Chaos and the status of the Chaos Schedule.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the status of Chaos.", + "schema": { + "$ref": "#/definitions/Chaos" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/$/Start": { + "post": { + "operationId": "StartChaos", + "summary": "Starts Chaos in the cluster.", + "description": "If Chaos is not already running in the cluster, it starts Chaos with the passed in Chaos parameters.\nIf Chaos is already running when this call is made, the call fails with the error code FABRIC_E_CHAOS_ALREADY_RUNNING.\nRefer to the article [Induce controlled Chaos in Service Fabric clusters](https://docs.microsoft.com/azure/service-fabric/service-fabric-controlled-chaos) for more details.", + "tags": [ + "Chaos" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ChaosParametersRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/$/Stop": { + "post": { + "operationId": "StopChaos", + "summary": "Stops Chaos if it is running in the cluster and put the Chaos Schedule in a stopped state.", + "description": "Stops Chaos from executing new faults. In-flight faults will continue to execute until they are complete. The current Chaos Schedule is put into a stopped state.\nOnce a schedule is stopped, it will stay in the stopped state and not be used to Chaos Schedule new runs of Chaos. A new Chaos Schedule must be set in order to resume scheduling.", + "tags": [ + "Chaos" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/Events": { + "get": { + "operationId": "GetChaosEvents", + "summary": "Gets the next segment of the Chaos events based on the continuation token or the time range.", + "description": "To get the next segment of the Chaos events, you can specify the ContinuationToken. To get the start of a new segment of Chaos events, you can specify the time range\nthrough StartTimeUtc and EndTimeUtc. You cannot specify both the ContinuationToken and the time range in the same call.\nWhen there are more than 100 Chaos events, the Chaos events are returned in multiple segments where a segment contains no more than 100 Chaos events and to get the next segment you make a call to this API with the continuation token.", + "x-ms-examples": { + "Get Chaos events given a time range": { + "$ref": "./examples/GetChaosEvents.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "Next segment of Chaos events.", + "schema": { + "$ref": "#/definitions/ChaosEventsSegment" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Tools/Chaos/Schedule": { + "get": { + "operationId": "GetChaosSchedule", + "summary": "Get the Chaos Schedule defining when and how to run Chaos.", + "description": "Gets the version of the Chaos Schedule in use and the Chaos Schedule that defines when and how to run Chaos.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the schedule description including a Chaos Schedule used by Chaos and the version the Chaos Schedule is on.", + "schema": { + "$ref": "#/definitions/ChaosScheduleDescription" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "post": { + "operationId": "PostChaosSchedule", + "summary": "Set the schedule used by Chaos.", + "description": "Chaos will automatically schedule runs based on the Chaos Schedule.\nThe Chaos Schedule will be updated if the provided version matches the version on the server.\nWhen updating the Chaos Schedule, the version on the server is incremented by 1.\nThe version on the server will wrap back to 0 after reaching a large number.\nIf Chaos is running when this call is made, the call will fail.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ChaosScheduleRequiredBodyParam" + } + ], + "tags": [ + "Chaos" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}": { + "put": { + "summary": "Uploads contents of the file to the image store.", + "description": "Uploads contents of the file to the image store. Use this API if the file is small enough to upload again if the connection fails. The file's data needs to be added to the request body. The contents will be uploaded to the specified path. Image store service uses a mark file to indicate the availability of the folder. The mark file is an empty file named \"_.dir\". The mark file is generated by the image store service when all files in a folder are uploaded. When using File-by-File approach to upload application package in REST, the image store service isn't aware of the file hierarchy of the application package; you need to create a mark file per folder and upload it last, to let the image store service know that the folder is complete.", + "operationId": "UploadFile", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "If the upload request succeeds, the server returns the HTTP 200 OK status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "summary": "Gets the image store content information.", + "description": "Returns the information about the image store content at the specified contentPath. The contentPath is relative to the root of the image store.", + "operationId": "GetImageStoreContent", + "x-ms-examples": { + "Get information about image store content under a given relative path": { + "$ref": "./examples/GetImageStoreContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store content information.", + "schema": { + "$ref": "#/definitions/ImageStoreContent" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "summary": "Deletes existing image store content.", + "description": "Deletes existing image store content being found within the given image store relative path. This command can be used to delete uploaded application packages once they are provisioned.", + "operationId": "DeleteImageStoreContent", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore": { + "get": { + "summary": "Gets the content information at the root of the image store.", + "description": "Returns the information about the image store content at the root of the image store.", + "operationId": "GetImageStoreRootContent", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store content information.", + "schema": { + "$ref": "#/definitions/ImageStoreContent" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/Copy": { + "post": { + "summary": "Copies image store content internally", + "description": "Copies the image store content from the source image store relative path to the destination image store relative path.", + "operationId": "CopyImageStoreContent", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreCopyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/DeleteUploadSession": { + "delete": { + "summary": "Cancels an image store upload session.", + "description": "The DELETE request will cause the existing upload session to expire and remove any previously uploaded file chunks.", + "operationId": "DeleteImageStoreUploadSession", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/CommitUploadSession": { + "post": { + "summary": "Commit an image store upload session.", + "description": "When all file chunks have been uploaded, the upload session needs to be committed explicitly to complete the upload. Image store preserves the upload session until the expiration time, which is 30 minutes after the last chunk received. ", + "operationId": "CommitImageStoreUploadSession", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "If the commit request succeeds, the server returns the HTTP 200 OK status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/GetUploadSession": { + "get": { + "summary": "Get the image store upload session by ID.", + "description": "Gets the image store upload session identified by the given ID. User can query the upload session at any time during uploading. ", + "operationId": "GetImageStoreUploadSessionById", + "x-ms-examples": { + "Get information about image store upload session by a given ID": { + "$ref": "./examples/GetUploadSessionById.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store upload session information.", + "schema": { + "$ref": "#/definitions/UploadSession" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}/$/GetUploadSession": { + "get": { + "summary": "Get the image store upload session by relative path.", + "description": "Gets the image store upload session associated with the given image store relative path. User can query the upload session at any time during uploading. ", + "operationId": "GetImageStoreUploadSessionByPath", + "x-ms-examples": { + "Get information about image store upload session by a given relative path": { + "$ref": "./examples/GetUploadSessionByPath.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested image store upload session information.", + "schema": { + "$ref": "#/definitions/UploadSession" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}/$/UploadChunk": { + "put": { + "summary": "Uploads a file chunk to the image store relative path.", + "description": "Uploads a file chunk to the image store with the specified upload session ID and image store relative path. This API allows user to resume the file upload operation. user doesn't have to restart the file upload from scratch whenever there is a network interruption. Use this option if the file size is large.\n\nTo perform a resumable file upload, user need to break the file into multiple chunks and upload these chunks to the image store one-by-one. Chunks don't have to be uploaded in order. If the file represented by the image store relative path already exists, it will be overwritten when the upload session commits.", + "operationId": "UploadFileChunk", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/UploadSessionIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/UploadFileChunkContentRangeHeaderParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return the HTTP 200 OK status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/FolderSize": { + "get": { + "summary": "Get the folder size at the root of the image store.", + "description": "Returns the total size of files at the root and children folders in image store.", + "operationId": "GetImageStoreRootFolderSize", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested folder size in image store.", + "schema": { + "$ref": "#/definitions/FolderSizeInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/{contentPath}/$/FolderSize": { + "get": { + "summary": "Get the size of a folder in image store", + "description": "Gets the total size of file under a image store folder, specified by contentPath. The contentPath is relative to the root of the image store.", + "operationId": "GetImageStoreFolderSize", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested folder size in image store.", + "schema": { + "$ref": "#/definitions/FolderSizeInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/ImageStore/$/Info": { + "get": { + "summary": "Gets the overall ImageStore information", + "description": "Returns information about the primary ImageStore replica, such as disk capacity and available disk space at the node it is on, and several categories of the ImageStore's file system usage.", + "operationId": "GetImageStoreInfo", + "x-ms-examples": { + "Gets the overall ImageStore information": { + "$ref": "./examples/GetImageStoreInfo.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "ImageStore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the requested ImageStore info", + "schema": { + "$ref": "#/definitions/ImageStoreInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/InvokeInfrastructureCommand": { + "post": { + "operationId": "InvokeInfrastructureCommand", + "summary": "Invokes an administrative command on the given Infrastructure Service instance.", + "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific commands to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Infrastructure" + ], + "responses": { + "200": { + "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.", + "schema": { + "$ref": "#/definitions/InfrastructureServiceResponse" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/$/InvokeInfrastructureQuery": { + "get": { + "operationId": "InvokeInfrastructureQuery", + "summary": "Invokes a read-only query on the given infrastructure service instance.", + "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific queries to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam" + }, + { + "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Infrastructure" + ], + "responses": { + "200": { + "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.", + "schema": { + "$ref": "#/definitions/InfrastructureServiceResponse" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss": { + "post": { + "operationId": "StartDataLoss", + "summary": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLossAsync API of the partition.", + "description": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLoss API of the partition.\nActual data loss will depend on the specified DataLossMode.\n\n- PartialDataLoss - Only a quorum of replicas are removed and OnDataLoss is triggered for the partition but actual data loss depends on the presence of in-flight replication.\n- FullDataLoss - All replicas are removed hence all data is lost and OnDataLoss is triggered.\n\nThis API should only be called with a stateful service as the target.\n\nCalling this API with a system service as the target is not advised.\n\nNote: Once this API has been called, it cannot be reversed. Calling CancelOperation will only stop execution and clean up internal system state.\nIt will not restore data if the command has progressed far enough to cause data loss.\n\nCall the GetDataLossProgress API with the same OperationId to return information on the operation started with this API.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/DataLossModeRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetDataLossProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress": { + "get": { + "summary": "Gets the progress of a partition data loss operation started using the StartDataLoss API.", + "description": "Gets the progress of a data loss operation started with StartDataLoss, using the OperationId.", + "operationId": "GetDataLossProgress", + "x-ms-examples": { + "Gets information about a partition data loss operation. In this case the operation has a State of Completed": { + "$ref": "./examples/GetDataLossProgress.json" + }, + "Get information about a partition data loss operation. In this case the operation is a State of Running": { + "$ref": "./examples/GetDataLossProgress-Running.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of the partition data loss operation.", + "schema": { + "$ref": "#/definitions/PartitionDataLossProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss": { + "post": { + "operationId": "StartQuorumLoss", + "summary": "Induces quorum loss for a given stateful service partition.", + "description": "This API is useful for a temporary quorum loss situation on your service.\n\nCall the GetQuorumLossProgress API with the same OperationId to return information on the operation started with this API.\n\nThis can only be called on stateful persisted (HasPersistedState==true) services. Do not use this API on stateless services or stateful in-memory only services.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/QuorumLossModeRequiredQueryParam" + }, + { + "$ref": "#/parameters/QuorumLossDurationRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetQuorumLossProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress": { + "get": { + "summary": "Gets the progress of a quorum loss operation on a partition started using the StartQuorumLoss API.", + "description": "Gets the progress of a quorum loss operation started with StartQuorumLoss, using the provided OperationId.", + "operationId": "GetQuorumLossProgress", + "x-ms-examples": { + "Gets information about a completed quorum loss operation": { + "$ref": "./examples/GetQuorumLossProgress.json" + }, + "Gets information about a running quorum operation operation": { + "$ref": "./examples/GetQuorumLossProgress-Running.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of a partition quorum loss operation.", + "schema": { + "$ref": "#/definitions/PartitionQuorumLossProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart": { + "post": { + "operationId": "StartPartitionRestart", + "summary": "This API will restart some or all replicas or instances of the specified partition.", + "description": "This API is useful for testing failover.\n\nIf used to target a stateless service partition, RestartPartitionMode must be AllReplicasOrInstances.\n\nCall the GetPartitionRestartProgress API using the same OperationId to get the progress.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/RestartPartitionModeRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetPartitionRestartProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress": { + "get": { + "summary": "Gets the progress of a PartitionRestart operation started using StartPartitionRestart.", + "description": "Gets the progress of a PartitionRestart started with StartPartitionRestart using the provided OperationId.", + "operationId": "GetPartitionRestartProgress", + "x-ms-examples": { + "Get information a completed PartitionRestart operation": { + "$ref": "./examples/GetPartitionRestartProgress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of a partition restart operation.", + "schema": { + "$ref": "#/definitions/PartitionRestartProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Nodes/{nodeName}/$/StartTransition/": { + "post": { + "operationId": "StartNodeTransition", + "summary": "Starts or stops a cluster node.", + "description": "Starts or stops a cluster node. A cluster node is a process, not the OS instance itself. To start a node, pass in \"Start\" for the NodeTransitionType parameter.\nTo stop a node, pass in \"Stop\" for the NodeTransitionType parameter. This API starts the operation - when the API returns the node may not have finished transitioning yet.\nCall GetNodeTransitionProgress with the same OperationId to get the progress of the operation.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeTransitionTypeRequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeInstanceIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/StopDurationInSecondsRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation was accepted. Call the GetNodeTransitionProgress API to get the progress." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/Nodes/{nodeName}/$/GetTransitionProgress": { + "get": { + "summary": "Gets the progress of an operation started using StartNodeTransition.", + "description": "Gets the progress of an operation started with StartNodeTransition using the provided OperationId.", + "operationId": "GetNodeTransitionProgress", + "x-ms-examples": { + "Gets information about a completed NodeTransition operation": { + "$ref": "./examples/GetNodeTransitionProgress.json" + }, + "Gets information about a running NodeTransition operation": { + "$ref": "./examples/GetNodeTransitionProgress-Running.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Faults" + ], + "responses": { + "200": { + "description": "Information about the progress of a node transition operation.", + "schema": { + "$ref": "#/definitions/NodeTransitionProgress" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/": { + "get": { + "operationId": "GetFaultOperationList", + "summary": "Gets a list of user-induced fault operations filtered by provided input.", + "description": "Gets the list of user-induced fault operations filtered by provided input.", + "x-ms-examples": { + "Gets information on fault operations": { + "$ref": "./examples/GetFaultOperationList.json" + } + }, + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TypeFilterRequiredQueryParam" + }, + { + "$ref": "#/parameters/StateFilterRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code.", + "schema": { + "$ref": "#/definitions/OperationStatusList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Faults/$/Cancel": { + "post": { + "operationId": "CancelOperation", + "summary": "Cancels a user-induced fault operation.", + "description": "The following APIs start fault operations that may be cancelled by using CancelOperation: StartDataLoss, StartQuorumLoss, StartPartitionRestart, StartNodeTransition.\n\nIf force is false, then the specified user-induced operation will be gracefully stopped and cleaned up. If force is true, the command will be aborted, and some internal state\nmay be left behind. Specifying force as true should be used with care. Calling this API with force set to true is not allowed until this API has already\nbeen called on the same test command with force set to false first, or unless the test command already has an OperationState of OperationState.RollingBack.\nClarification: OperationState.RollingBack means that the system will be/is cleaning up internal system state caused by executing the command. It will not restore data if the\ntest command was to cause data loss. For example, if you call StartDataLoss then call this API, the system will only clean up internal state from running the command.\nIt will not restore the target partition's data, if the command progressed far enough to cause data loss.\n\nImportant note: if this API is invoked with force==true, internal state may be left behind.", + "tags": [ + "Faults" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/FaultOperationIdRequiredQueryParam" + }, + { + "$ref": "#/parameters/ForceRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/$/Create": { + "post": { + "operationId": "CreateBackupPolicy", + "summary": "Creates a backup policy.", + "description": "Creates a backup policy which can be associated later with a Service Fabric application, service or a partition for periodic backup.", + "x-ms-examples": { + "Create a time based backup policy with Azure as backup location": { + "$ref": "./examples/CreateBackupPolicy-1.json" + }, + "Create a time based backup policy with Azure as backup location accessed using managed identity": { + "$ref": "./examples/CreateBackupPolicy-4.json" + }, + "Create a frequency based backup policy with file share as backup location": { + "$ref": "./examples/CreateBackupPolicy-2.json" + }, + "Create a time based backup policy with Dsms Azure as backup location": { + "$ref": "./examples/CreateBackupPolicy-3.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ValidateConnectionOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "201": { + "description": "A successful operation returns 201 status code and creates a new backup policy." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete": { + "post": { + "operationId": "DeleteBackupPolicy", + "summary": "Deletes the backup policy.", + "description": "Deletes an existing backup policy. A backup policy must be created before it can be deleted. A currently active backup policy, associated with any Service Fabric application, service or partition, cannot be deleted without first deleting the mapping.", + "x-ms-examples": { + "Delete backup policy": { + "$ref": "./examples/DeleteBackupPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and deletes the backup policy." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies": { + "get": { + "operationId": "GetBackupPolicyList", + "summary": "Gets all the backup policies configured.", + "description": "Get a list of all the backup policies configured.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetBackupPolicyList-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetBackupPolicyList-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and paged list of backup policies.", + "schema": { + "$ref": "#/definitions/PagedBackupPolicyDescriptionList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}": { + "get": { + "operationId": "GetBackupPolicyByName", + "summary": "Gets a particular backup policy by name.", + "description": "Gets a particular backup policy identified by {backupPolicyName}", + "x-ms-examples": { + "Get backup policy by name": { + "$ref": "./examples/GetBackupPolicyByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and the backup policy description.", + "schema": { + "$ref": "#/definitions/BackupPolicyDescription" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities": { + "get": { + "operationId": "GetAllEntitiesBackedUpByPolicy", + "summary": "Gets the list of backup entities that are associated with this policy.", + "description": "Returns a list of Service Fabric application, service or partition which are associated with this backup policy.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of Service Fabric entities that are associated with this policy.", + "schema": { + "$ref": "#/definitions/PagedBackupEntityList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update": { + "post": { + "operationId": "UpdateBackupPolicy", + "summary": "Updates the backup policy.", + "description": "Updates the backup policy identified by {backupPolicyName}", + "x-ms-examples": { + "Update backup policy": { + "$ref": "./examples/UpdateBackupPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/BackupPolicyNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ValidateConnectionOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and updates the backup policy description." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/EnableBackup": { + "post": { + "operationId": "EnableApplicationBackup", + "summary": "Enables periodic backup of stateful partitions under this Service Fabric application.", + "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric application. Each partition is backed up individually as per the specified backup policy description. \nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.", + "x-ms-examples": { + "Enable application backup": { + "$ref": "./examples/EnableApplicationBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to enable application backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/DisableBackup": { + "post": { + "operationId": "DisableApplicationBackup", + "summary": "Disables periodic backup of Service Fabric application.", + "description": "Disables periodic backup of Service Fabric application which was previously enabled.", + "x-ms-examples": { + "Disable application backup": { + "$ref": "./examples/DisableApplicationBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to disable application backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetBackupConfigurationInfo": { + "get": { + "operationId": "GetApplicationBackupConfigurationInfo", + "summary": "Gets the Service Fabric application backup configuration information.", + "description": "Gets the Service Fabric backup configuration information for the application and the services and partitions under this application.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetApplicationBackupConfigurationInfo-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationBackupConfigurationInfo-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the application, and the services and partitions under this application, for which backup configuration has been overridden.", + "schema": { + "$ref": "#/definitions/PagedBackupConfigurationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/GetBackups": { + "get": { + "operationId": "GetApplicationBackupList", + "summary": "Gets the list of backups available for every partition in this application.", + "description": "Returns a list of backups available for every partition in this Service Fabric application. The server enumerates all the backups available at the backup location configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.", + "x-ms-examples": { + "Get application backups within a time range": { + "$ref": "./examples/GetApplicationBackupList-1.json" + }, + "Get latest backup": { + "$ref": "./examples/GetApplicationBackupList-2.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetApplicationBackupList-3.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetApplicationBackupList-4.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/LatestOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/SuspendBackup": { + "post": { + "operationId": "SuspendApplicationBackup", + "summary": "Suspends periodic backup for the specified Service Fabric application.", + "description": "The application which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire application's hierarchy. It means all the services and partitions under this application are now suspended for backup.", + "x-ms-examples": { + "Suspend application backup": { + "$ref": "./examples/SuspendApplicationBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and application backup will be suspended." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Applications/{applicationId}/$/ResumeBackup": { + "post": { + "operationId": "ResumeApplicationBackup", + "summary": "Resumes periodic backup of a Service Fabric application which was previously suspended.", + "description": "The previously suspended Service Fabric application resumes taking periodic backup as per the backup policy currently configured for the same.", + "x-ms-examples": { + "Resume application backup": { + "$ref": "./examples/ResumeApplicationBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and application backup will be resumed." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/EnableBackup": { + "post": { + "operationId": "EnableServiceBackup", + "summary": "Enables periodic backup of stateful partitions under this Service Fabric service.", + "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric service. Each partition is backed up individually as per the specified backup policy description. In case the application, which the service is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup for this service and its partitions (unless explicitly overridden at the partition level).\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.", + "x-ms-examples": { + "Enable service backup": { + "$ref": "./examples/EnableServiceBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to enable service backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/DisableBackup": { + "post": { + "operationId": "DisableServiceBackup", + "summary": "Disables periodic backup of Service Fabric service which was previously enabled.", + "description": "Disables periodic backup of Service Fabric service which was previously enabled. Backup must be explicitly enabled before it can be disabled.\nIn case the backup is enabled for the Service Fabric application, which this service is part of, this service would continue to be periodically backed up as per the policy mapped at the application level.", + "x-ms-examples": { + "Disable service backup": { + "$ref": "./examples/DisableServiceBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to disable service backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetBackupConfigurationInfo": { + "get": { + "operationId": "GetServiceBackupConfigurationInfo", + "summary": "Gets the Service Fabric service backup configuration information.", + "description": "Gets the Service Fabric backup configuration information for the service and the partitions under this service.", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetServiceBackupConfigurationInfo-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetServiceBackupConfigurationInfo-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the service, and the partitions under this service, for which backup configuration has been overridden.", + "schema": { + "$ref": "#/definitions/PagedBackupConfigurationInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/GetBackups": { + "get": { + "operationId": "GetServiceBackupList", + "summary": "Gets the list of backups available for every partition in this service.", + "description": "Returns a list of backups available for every partition in this Service Fabric service. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.", + "x-ms-examples": { + "Get application backups within a time range": { + "$ref": "./examples/GetServiceBackupList-1.json" + }, + "Get latest backup": { + "$ref": "./examples/GetServiceBackupList-2.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetServiceBackupList-3.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetServiceBackupList-4.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/LatestOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/SuspendBackup": { + "post": { + "operationId": "SuspendServiceBackup", + "summary": "Suspends periodic backup for the specified Service Fabric service.", + "description": "The service which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire service's hierarchy. It means all the partitions under this service are now suspended for backup.", + "x-ms-examples": { + "Suspend service backup": { + "$ref": "./examples/SuspendServiceBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and service backup will be suspended." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Services/{serviceId}/$/ResumeBackup": { + "post": { + "operationId": "ResumeServiceBackup", + "summary": "Resumes periodic backup of a Service Fabric service which was previously suspended.", + "description": "The previously suspended Service Fabric service resumes taking periodic backup as per the backup policy currently configured for the same.", + "x-ms-examples": { + "Resume service backup": { + "$ref": "./examples/ResumeServiceBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and service backup will be resumed." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/EnableBackup": { + "post": { + "operationId": "EnablePartitionBackup", + "summary": "Enables periodic backup of the stateful persisted partition.", + "description": "Enables periodic backup of stateful persisted partition. Each partition is backed up as per the specified backup policy description. In case the application or service, which is partition is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup of this partition.\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.", + "x-ms-examples": { + "Enable partition backup": { + "$ref": "./examples/EnablePartitionBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to enable partition backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/DisableBackup": { + "post": { + "operationId": "DisablePartitionBackup", + "summary": "Disables periodic backup of Service Fabric partition which was previously enabled.", + "description": "Disables periodic backup of partition which was previously enabled. Backup must be explicitly enabled before it can be disabled. \nIn case the backup is enabled for the Service Fabric application or service, which this partition is part of, this partition would continue to be periodically backed up as per the policy mapped at the higher level entity.", + "x-ms-examples": { + "Disable partition backup": { + "$ref": "./examples/DisablePartitionBackup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the request to disable partition backup has been accepted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetBackupConfigurationInfo": { + "get": { + "operationId": "GetPartitionBackupConfigurationInfo", + "summary": "Gets the partition backup configuration information", + "description": "Gets the Service Fabric Backup configuration information for the specified partition.", + "x-ms-examples": { + "Get partition backup configuration information": { + "$ref": "./examples/GetPartitionBackupConfigurationInfo.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and gets the partition's backup configuration information.", + "schema": { + "$ref": "#/definitions/PartitionBackupConfigurationInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetBackups": { + "get": { + "operationId": "GetPartitionBackupList", + "summary": "Gets the list of backups available for the specified partition.", + "description": "Returns a list of backups available for the specified partition. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for the partition.", + "x-ms-examples": { + "Get application backups within a time range": { + "$ref": "./examples/GetPartitionBackupList-1.json" + }, + "Get latest backup": { + "$ref": "./examples/GetPartitionBackupList-2.json" + }, + "Limit maximum results": { + "$ref": "./examples/GetPartitionBackupList-3.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetPartitionBackupList-4.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/LatestOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/SuspendBackup": { + "post": { + "operationId": "SuspendPartitionBackup", + "summary": "Suspends periodic backup for the specified partition.", + "description": "The partition which is configured to take periodic backups, is suspended for taking further backups till it is resumed again.", + "x-ms-examples": { + "Suspend partition backup": { + "$ref": "./examples/SuspendPartitionBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and partition backup will be suspended." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/ResumeBackup": { + "post": { + "operationId": "ResumePartitionBackup", + "summary": "Resumes periodic backup of partition which was previously suspended.", + "description": "The previously suspended partition resumes taking periodic backup as per the backup policy currently configured for the same.", + "x-ms-examples": { + "Resume partition backup": { + "$ref": "./examples/ResumePartitionBackup.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and partition backup will be resumed." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/Backup": { + "post": { + "operationId": "BackupPartition", + "summary": "Triggers backup of the partition's state.", + "description": "Creates a backup of the stateful persisted partition's state. In case the partition is already being periodically backed up, then by default the new backup is created at the same backup storage. One can also override the same by specifying the backup storage details as part of the request body. Once the backup is initiated, its progress can be tracked using the GetBackupProgress operation. \nIn case, the operation times out, specify a greater backup timeout value in the query parameter.", + "x-ms-examples": { + "Backup partition": { + "$ref": "./examples/BackupPartition-1.json" + }, + "Backup partition to a specific Azure storage account": { + "$ref": "./examples/BackupPartition-2.json" + }, + "Backup partition to a specific Azure storage location accessed using managed identity": { + "$ref": "./examples/BackupPartition-5.json" + }, + "Backup partition to a specific on-premise file share": { + "$ref": "./examples/BackupPartition-3.json" + }, + "Backup partition to a specific Dsms Azure storage location": { + "$ref": "./examples/BackupPartition-4.json" + } + }, + "tags": [ + "BackupRestore" + ], + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/BackupPartitionDescriptionOptionalBodyParam" + }, + { + "$ref": "#/parameters/BackupTimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and backup will be initiated. Use GetPartitionBackupProgress operation to get the status of the backup operation." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetBackupProgress": { + "get": { + "operationId": "GetPartitionBackupProgress", + "summary": "Gets details for the latest backup triggered for this partition.", + "description": "Returns information about the state of the latest backup along with details or failure reason in case of completion.", + "x-ms-examples": { + "Get backup operation progress": { + "$ref": "./examples/GetPartitionBackupProgress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and backup progress details.", + "schema": { + "$ref": "#/definitions/BackupProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/Restore": { + "post": { + "operationId": "RestorePartition", + "summary": "Triggers restore of the state of the partition using the specified restore partition description.", + "description": "Restores the state of a of the stateful persisted partition using the specified backup point. In case the partition is already being periodically backed up, then by default the backup point is looked for in the storage specified in backup policy. One can also override the same by specifying the backup storage details as part of the restore partition description in body. Once the restore is initiated, its progress can be tracked using the GetRestoreProgress operation. \nIn case, the operation times out, specify a greater restore timeout value in the query parameter.", + "x-ms-examples": { + "Trigger partition restore": { + "$ref": "./examples/RestorePartition.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/RestorePartitionDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/RestoreTimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "202": { + "description": "A 202 status code indicates the operation request was accepted and restore will be initiated. Use GetPartitionRestoreProgress operation to get the status of the restore operation." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Partitions/{partitionId}/$/GetRestoreProgress": { + "get": { + "operationId": "GetPartitionRestoreProgress", + "summary": "Gets details for the latest restore operation triggered for this partition.", + "description": "Returns information about the state of the latest restore operation along with details or failure reason in case of completion.", + "x-ms-examples": { + "Get restore operation progress": { + "$ref": "./examples/GetPartitionRestoreProgress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation returns 200 status code and restore progress details.", + "schema": { + "$ref": "#/definitions/RestoreProgressInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/BackupRestore/$/GetBackups": { + "post": { + "operationId": "GetBackupsFromBackupLocation", + "summary": "Gets the list of backups available for the specified backed up entity at the specified backup location.", + "description": "Gets the list of backups available for the specified backed up entity (Application, Service or Partition) at the specified backup location (FileShare or Azure Blob Storage).", + "x-ms-examples": { + "Limit maximum results": { + "$ref": "./examples/GetBackupsFromBackupLocation-1.json" + }, + "Page using continuation token": { + "$ref": "./examples/GetBackupsFromBackupLocation-2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/MaxResultsOptionalQueryParam" + }, + { + "$ref": "#/parameters/GetBackupByStorageQueryDescriptionRequiredBodyParam" + } + ], + "tags": [ + "BackupRestore" + ], + "responses": { + "200": { + "description": "A successful operation will return 200 status code and a paged list of backup information.", + "schema": { + "$ref": "#/definitions/PagedBackupInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/$/Create": { + "post": { + "summary": "Creates a Service Fabric name.", + "description": "Creates the specified Service Fabric name.", + "operationId": "CreateName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Create new name": { + "$ref": "examples/CreateName-1.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "201": { + "description": "A successful response means that the name has been created." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}": { + "get": { + "summary": "Returns whether the Service Fabric name exists.", + "description": "Returns whether the specified Service Fabric name exists.", + "operationId": "GetNameExistsInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the Service Fabric name exists." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "summary": "Deletes a Service Fabric name.", + "description": "Deletes the specified Service Fabric name. A name must be created before it can be deleted. Deleting a name with child properties will fail.", + "operationId": "DeleteName", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the Service Fabric name has been deleted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetSubNames": { + "get": { + "summary": "Enumerates all the Service Fabric names under a given name.", + "description": "Enumerates all the Service Fabric names under a given name. If the subnames do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Querying a name that doesn't exist will fail.", + "operationId": "GetSubNameInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/RecursiveOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get sub names": { + "$ref": "examples/GetSubNameInfoList-1.json" + }, + "Recursively search sub names": { + "$ref": "examples/GetSubNameInfoList-2.json" + }, + "Page using continuation token": { + "$ref": "examples/GetSubNameInfoList-3.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A paged list of Service Fabric names.", + "schema": { + "$ref": "#/definitions/PagedSubNameInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetProperties": { + "get": { + "summary": "Gets information on all Service Fabric properties under a given name.", + "description": "A Service Fabric name can have one or more named properties that store custom information. This operation gets the information about these properties in a paged list. The information includes name, value, and metadata about each of the properties.", + "operationId": "GetPropertyInfoList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/IncludeValuesOptionalQueryParam" + }, + { + "$ref": "#/parameters/ContinuationTokenOptionalQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get property info list": { + "$ref": "examples/GetPropertyInfoList-1.json" + }, + "Get property info list with values": { + "$ref": "examples/GetPropertyInfoList-2.json" + }, + "Page using continuation token": { + "$ref": "examples/GetPropertyInfoList-3.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A paged list of Service Fabric properties.", + "schema": { + "$ref": "#/definitions/PagedPropertyInfoList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetProperty": { + "put": { + "summary": "Creates or updates a Service Fabric property.", + "description": "Creates or updates the specified Service Fabric property under a given name.", + "operationId": "PutProperty", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyDescriptionRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Put property": { + "$ref": "examples/PutProperty-1.json" + }, + "Put custom property": { + "$ref": "examples/PutProperty-2.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the property has been created or updated." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "summary": "Gets the specified Service Fabric property.", + "description": "Gets the specified Service Fabric property under a given name. This will always return both value and metadata.", + "operationId": "GetPropertyInfo", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Get property info": { + "$ref": "examples/GetPropertyInfo-1.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "Details on the Service Fabric property.", + "schema": { + "$ref": "#/definitions/PropertyInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "summary": "Deletes the specified Service Fabric property.", + "description": "Deletes the specified Service Fabric property under a given name. A property must be created before it can be deleted.", + "operationId": "DeleteProperty", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyNameRequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the property has been deleted." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Names/{nameId}/$/GetProperties/$/SubmitBatch": { + "post": { + "summary": "Submits a property batch.", + "description": "Submits a batch of property operations. Either all or none of the operations will be committed.", + "operationId": "SubmitPropertyBatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NameIdRequiredPathParam" + }, + { + "$ref": "#/parameters/PropertyBatchDescriptionListRequiredBodyParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "x-ms-examples": { + "Property batch operation": { + "$ref": "examples/SubmitPropertyBatch-1.json" + } + }, + "tags": [ + "Property Management" + ], + "responses": { + "200": { + "description": "A successful response means that the property batch succeeded.", + "schema": { + "$ref": "#/definitions/SuccessfulPropertyBatchInfo" + } + }, + "409": { + "description": "A 409 response means that one of the property batch operations failed, and contains more information about the failure. None of the operations were committed.", + "schema": { + "$ref": "#/definitions/FailedPropertyBatchInfo" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Cluster/Events": { + "get": { + "summary": "Gets all Cluster-related events.", + "description": "The response is list of ClusterEvent objects.", + "operationId": "GetClusterEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Cluster-related events": { + "$ref": "./examples/GetClusterEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ClusterEvent.", + "schema": { + "$ref": "#/definitions/ClusterEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Containers/Events": { + "get": { + "summary": "Gets all Containers-related events.", + "description": "The response is list of ContainerInstanceEvent objects.", + "operationId": "GetContainersEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-2-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "responses": { + "200": { + "description": "List of events objects with base type ContainerInstanceEvent.", + "schema": { + "$ref": "#/definitions/ContainerInstanceEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Nodes/{nodeName}/$/Events": { + "get": { + "summary": "Gets a Node-related events.", + "description": "The response is list of NodeEvent objects.", + "operationId": "GetNodeEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NodeNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Node-related events": { + "$ref": "./examples/GetNodeEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type NodeEvent.", + "schema": { + "$ref": "#/definitions/NodeEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Nodes/Events": { + "get": { + "summary": "Gets all Nodes-related Events.", + "description": "The response is list of NodeEvent objects.", + "operationId": "GetNodesEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Nodes-related events": { + "$ref": "./examples/GetNodesEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type NodeEvent.", + "schema": { + "$ref": "#/definitions/NodeEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Applications/{applicationId}/$/Events": { + "get": { + "summary": "Gets an Application-related events.", + "description": "The response is list of ApplicationEvent objects.", + "operationId": "GetApplicationEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Application-related events": { + "$ref": "./examples/GetApplicationEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ApplicationEvent.", + "schema": { + "$ref": "#/definitions/ApplicationEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Applications/Events": { + "get": { + "summary": "Gets all Applications-related events.", + "description": "The response is list of ApplicationEvent objects.", + "operationId": "GetApplicationsEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Applications-related events": { + "$ref": "./examples/GetApplicationsEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ApplicationEvent.", + "schema": { + "$ref": "#/definitions/ApplicationEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Services/{serviceId}/$/Events": { + "get": { + "summary": "Gets a Service-related events.", + "description": "The response is list of ServiceEvent objects.", + "operationId": "GetServiceEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ServiceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Service-related events": { + "$ref": "./examples/GetServiceEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ServiceEvent.", + "schema": { + "$ref": "#/definitions/ServiceEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Services/Events": { + "get": { + "summary": "Gets all Services-related events.", + "description": "The response is list of ServiceEvent objects.", + "operationId": "GetServicesEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Services-related events": { + "$ref": "./examples/GetServicesEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ServiceEvent.", + "schema": { + "$ref": "#/definitions/ServiceEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/{partitionId}/$/Events": { + "get": { + "summary": "Gets a Partition-related events.", + "description": "The response is list of PartitionEvent objects.", + "operationId": "GetPartitionEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partition-related events": { + "$ref": "./examples/GetPartitionEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type PartitionEvent.", + "schema": { + "$ref": "#/definitions/PartitionEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/Events": { + "get": { + "summary": "Gets all Partitions-related events.", + "description": "The response is list of PartitionEvent objects.", + "operationId": "GetPartitionsEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partitions-related events": { + "$ref": "./examples/GetPartitionsEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type PartitionEvent.", + "schema": { + "$ref": "#/definitions/PartitionEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events": { + "get": { + "summary": "Gets a Partition Replica-related events.", + "description": "The response is list of ReplicaEvent objects.", + "operationId": "GetPartitionReplicaEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partition Replica-related events": { + "$ref": "./examples/GetReplicaEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ReplicaEvent.", + "schema": { + "$ref": "#/definitions/ReplicaEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/Partitions/{partitionId}/$/Replicas/Events": { + "get": { + "summary": "Gets all Replicas-related events for a Partition.", + "description": "The response is list of ReplicaEvent objects.", + "operationId": "GetPartitionReplicasEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/PartitionIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + }, + { + "$ref": "#/parameters/StartTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EndTimeUtcRequiredQueryParam" + }, + { + "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam" + }, + { + "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam" + }, + { + "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Partition Replicas-related events": { + "$ref": "./examples/GetReplicasEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type ReplicaEvent.", + "schema": { + "$ref": "#/definitions/ReplicaEventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events": { + "get": { + "summary": "Gets all correlated events for a given event.", + "description": "The response is list of FabricEvents.", + "operationId": "GetCorrelatedEventList", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam" + }, + { + "$ref": "#/parameters/EventInstanceIdRequiredPathParam" + }, + { + "$ref": "#/parameters/TimeoutOptionalQueryParam" + } + ], + "tags": [ + "EventsStore" + ], + "x-ms-examples": { + "Get Correlated events": { + "$ref": "./examples/GetCorrelatedEventList.json" + } + }, + "responses": { + "200": { + "description": "List of events objects with base type FabricEvent.", + "schema": { + "$ref": "#/definitions/EventList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}": { + "put": { + "operationId": "MeshSecret_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshSecret": { + "$ref": "./examples/Resources/Secrets/create_update.json" + } + }, + "summary": "Creates or updates a Secret resource.", + "description": "Creates a Secret resource with the specified name, description and properties. If Secret resource with the same name exists, then it is updated with the specified description and properties. Once created, the kind and contentType of a secret resource cannot be updated.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshSecret_Get", + "x-ms-examples": { + "GetSecretResource": { + "$ref": "./examples/Resources/Secrets/get.json" + } + }, + "summary": "Gets the Secret resource with the given name.", + "description": "Gets the information about the Secret resource with the given name. The information include the description and other properties of the Secret.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshSecret_Delete", + "x-ms-examples": { + "DeleteSecretResource": { + "$ref": "./examples/Resources/Secrets/delete.json" + } + }, + "summary": "Deletes the Secret resource.", + "description": "Deletes the specified Secret resource and all of its named values.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified secret was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets": { + "get": { + "operationId": "MeshSecret_List", + "x-ms-examples": { + "ListMeshSecrets": { + "$ref": "./examples/Resources/Secrets/list.json" + } + }, + "summary": "Lists all the secret resources.", + "description": "Gets the information about all secret resources in a given resource group. The information include the description and other properties of the Secret.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshSecrets" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedSecretResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}": { + "put": { + "operationId": "MeshSecretValue_AddValue", + "x-ms-examples": { + "CreateMeshSecretValue": { + "$ref": "./examples/Resources/Secrets/values/create.json" + } + }, + "summary": "Adds the specified value as a new version of the specified secret resource.", + "description": "Creates a new value of the specified secret resource. The name of the value is typically the version identifier. Once created the value cannot be changed.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshSecretValue_Get", + "x-ms-examples": { + "GetMeshSecretValue": { + "$ref": "./examples/Resources/Secrets/values/get.json" + } + }, + "summary": "Gets the specified secret value resource.", + "description": "Get the information about the specified named secret value resources. The information does not include the actual value of the secret.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshSecretValue_Delete", + "x-ms-examples": { + "DeleteSecretValue": { + "$ref": "./examples/Resources/Secrets/values/delete.json" + } + }, + "summary": "Deletes the specified value of the named secret resource.", + "description": "Deletes the secret value resource identified by the name. The name of the resource is typically the version associated with that value. Deletion will fail if the specified value is in use.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified secret value was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}/values": { + "get": { + "operationId": "MeshSecretValue_List", + "x-ms-examples": { + "ListMeshSecretValues": { + "$ref": "./examples/Resources/Secrets/values/list.json" + } + }, + "summary": "List names of all values of the specified secret resource.", + "description": "Gets information about all secret value resources of the specified secret resource. The information includes the names of the secret value resources, but not the actual values.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedSecretValueResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}/list_value": { + "post": { + "operationId": "MeshSecretValue_Show", + "x-ms-examples": { + "ListMeshSecretValue": { + "$ref": "./examples/Resources/Secrets/values/list_value.json" + } + }, + "summary": "Lists the specified value of the secret resource.", + "description": "Lists the decrypted value of the specified named value of the secret resource. This is a privileged operation.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/SecretResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshSecretValues" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretValue" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Volumes/{volumeResourceName}": { + "put": { + "operationId": "MeshVolume_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshVolume": { + "$ref": "./examples/Resources/Volumes/create_update.json" + } + }, + "summary": "Creates or updates a Volume resource.", + "description": "Creates a Volume resource with the specified name, description and properties. If Volume resource with the same name exists, then it is updated with the specified description and properties.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VolumeResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/VolumeResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshVolume_Get", + "x-ms-examples": { + "GetVolumeResource": { + "$ref": "./examples/Resources/Volumes/get.json" + } + }, + "summary": "Gets the Volume resource with the given name.", + "description": "Gets the information about the Volume resource with the given name. The information include the description and other properties of the Volume.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VolumeResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshVolume_Delete", + "x-ms-examples": { + "DeleteVolumeResource": { + "$ref": "./examples/Resources/Volumes/delete.json" + } + }, + "summary": "Deletes the Volume resource.", + "description": "Deletes the Volume resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/VolumeResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified volume was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Volumes": { + "get": { + "operationId": "MeshVolume_List", + "x-ms-examples": { + "ListMeshVolumes": { + "$ref": "./examples/Resources/Volumes/list.json" + } + }, + "summary": "Lists all the volume resources.", + "description": "Gets the information about all volume resources in a given resource group. The information include the description and other properties of the Volume.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshVolumes" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedVolumeResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Networks/{networkResourceName}": { + "put": { + "operationId": "MeshNetwork_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshNetwork": { + "$ref": "./examples/Resources/Networks/create_update.json" + } + }, + "summary": "Creates or updates a Network resource.", + "description": "Creates a Network resource with the specified name, description and properties. If Network resource with the same name exists, then it is updated with the specified description and properties. Network resource provides connectivity between application services.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NetworkResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/NetworkResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshNetwork_Get", + "x-ms-examples": { + "GetNetworkResource": { + "$ref": "./examples/Resources/Networks/get.json" + } + }, + "summary": "Gets the Network resource with the given name.", + "description": "Gets the information about the Network resource with the given name. The information include the description and other properties of the Network.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NetworkResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshNetwork_Delete", + "x-ms-examples": { + "DeleteNetworkResource": { + "$ref": "./examples/Resources/Networks/delete.json" + } + }, + "summary": "Deletes the Network resource.", + "description": "Deletes the Network resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/NetworkResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified network was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Networks": { + "get": { + "operationId": "MeshNetwork_List", + "x-ms-examples": { + "ListMeshNetworks": { + "$ref": "./examples/Resources/Networks/list.json" + } + }, + "summary": "Lists all the network resources.", + "description": "Gets the information about all network resources in a given resource group. The information include the description and other properties of the Network.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshNetworks" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedNetworkResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}": { + "put": { + "operationId": "MeshApplication_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshApplication": { + "$ref": "./examples/Resources/Applications/create_update.json" + }, + "CreateOrUpdateMeshApplicationWithAutoScale": { + "$ref": "./examples/Resources/Applications/create_update.autoscale.json" + } + }, + "summary": "Creates or updates a Application resource.", + "description": "Creates a Application resource with the specified name, description and properties. If Application resource with the same name exists, then it is updated with the specified description and properties.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ApplicationResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshApplication_Get", + "x-ms-examples": { + "GetApplicationResource": { + "$ref": "./examples/Resources/Applications/get.json" + } + }, + "summary": "Gets the Application resource with the given name.", + "description": "Gets the information about the Application resource with the given name. The information include the description and other properties of the Application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshApplication_Delete", + "x-ms-examples": { + "DeleteApplicationResource": { + "$ref": "./examples/Resources/Applications/delete.json" + } + }, + "summary": "Deletes the Application resource.", + "description": "Deletes the Application resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified application was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications": { + "get": { + "operationId": "MeshApplication_List", + "x-ms-examples": { + "ListMeshApplications": { + "$ref": "./examples/Resources/Applications/list.json" + } + }, + "summary": "Lists all the application resources.", + "description": "Gets the information about all application resources in a given resource group. The information include the description and other properties of the Application.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedApplicationResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/$/GetUpgradeProgress": { + "get": { + "operationId": "MeshApplication_GetUpgradeProgress", + "x-ms-examples": { + "GetApplicationResourceUpgrade": { + "$ref": "./examples/Resources/Applications/get_upgrade.json" + } + }, + "summary": "Gets the progress of the latest upgrade performed on this application resource.", + "description": "Gets the upgrade progress information about the Application resource with the given name. The information include percentage of completion and other upgrade state information of the Application resource.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshApplications" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationResourceUpgradeProgressInfo" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}": { + "get": { + "operationId": "MeshService_Get", + "x-ms-examples": { + "GetServiceResource": { + "$ref": "./examples/Resources/Applications/Services/get.json" + } + }, + "summary": "Gets the Service resource with the given name.", + "description": "Gets the information about the Service resource with the given name. The information include the description and other properties of the Service.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshServices" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services": { + "get": { + "operationId": "MeshService_List", + "x-ms-examples": { + "ListMeshServices": { + "$ref": "./examples/Resources/Applications/Services/list.json" + } + }, + "summary": "Lists all the service resources.", + "description": "Gets the information about all services of an application resource. The information include the description and other properties of the Service.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshServices" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedServiceResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}/CodePackages/{codePackageName}/Logs": { + "get": { + "operationId": "MeshCodePackage_GetContainerLogs", + "x-ms-examples": { + "GetContainerLogs": { + "$ref": "./examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json" + } + }, + "summary": "Gets the logs from the container.", + "description": "Gets the logs for the container of the specified code package of the service replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaNameRequiredPathParam" + }, + { + "$ref": "#/parameters/CodePackageNameRequiredPathParam" + }, + { + "$ref": "#/parameters/TailOptionalQueryParam" + } + ], + "tags": [ + "MeshCodePackages" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerLogs" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}": { + "get": { + "operationId": "MeshServiceReplica_Get", + "x-ms-examples": { + "GetServiceReplica": { + "$ref": "./examples/Resources/Applications/Services/Replicas/get.json" + } + }, + "summary": "Gets the given replica of the service of an application.", + "description": "Gets the information about the service replica with the given name. The information include the description and other properties of the service replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ReplicaNameRequiredPathParam" + } + ], + "tags": [ + "MeshServiceReplicas" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceReplicaDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas": { + "get": { + "operationId": "MeshServiceReplica_List", + "x-ms-examples": { + "ListMeshServiceReplicas": { + "$ref": "./examples/Resources/Applications/Services/Replicas/list.json" + } + }, + "summary": "Lists all the replicas of a service.", + "description": "Gets the information about all replicas of a service. The information include the description and other properties of the service replica.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/ServiceResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshServiceReplicas" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedServiceReplicaDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Gateways/{gatewayResourceName}": { + "put": { + "operationId": "MeshGateway_CreateOrUpdate", + "x-ms-examples": { + "CreateOrUpdateMeshGateway": { + "$ref": "./examples/Resources/Gateways/create_update.json" + } + }, + "summary": "Creates or updates a Gateway resource.", + "description": "Creates a Gateway resource with the specified name, description and properties. If Gateway resource with the same name exists, then it is updated with the specified description and properties. Use Gateway resource to provide public connectivity to application services.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/GatewayResourceNameRequiredPathParam" + }, + { + "$ref": "#/parameters/GatewayResourceDescriptionRequiredBodyParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "get": { + "operationId": "MeshGateway_Get", + "x-ms-examples": { + "GetGatewayResource": { + "$ref": "./examples/Resources/Gateways/get.json" + } + }, + "summary": "Gets the Gateway resource with the given name.", + "description": "Gets the information about the Gateway resource with the given name. The information include the description and other properties of the Gateway.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/GatewayResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + }, + "delete": { + "operationId": "MeshGateway_Delete", + "x-ms-examples": { + "DeleteGatewayResource": { + "$ref": "./examples/Resources/Gateways/delete.json" + } + }, + "summary": "Deletes the Gateway resource.", + "description": "Deletes the Gateway resource identified by the name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + }, + { + "$ref": "#/parameters/GatewayResourceNameRequiredPathParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content - the specified gateway was not found." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + }, + "/Resources/Gateways": { + "get": { + "operationId": "MeshGateway_List", + "x-ms-examples": { + "ListMeshGateways": { + "$ref": "./examples/Resources/Gateways/list.json" + } + }, + "summary": "Lists all the gateway resources.", + "description": "Gets the information about all gateway resources in a given resource group. The information include the description and other properties of the Gateway.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam" + } + ], + "tags": [ + "MeshGateways" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PagedGatewayResourceDescriptionList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/FabricError" + } + } + } + } + } + }, + "definitions": { + "HealthState": { + "type": "string", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.", + "enum": [ + "Invalid", + "Ok", + "Warning", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid health state. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Ok", + "description": "Indicates the health state is okay. The value is 1." + }, + { + "value": "Warning", + "description": "Indicates the health state is at a warning level. The value is 2." + }, + { + "value": "Error", + "description": "Indicates the health state is at an error level. Error health state should be investigated, as they can impact the correct functionality of the cluster. The value is 3." + }, + { + "value": "Unknown", + "description": "Indicates an unknown health status. The value is 65535." + } + ] + } + }, + "FabricErrorCodes": { + "type": "string", + "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\"", + "enum": [ + "FABRIC_E_INVALID_PARTITION_KEY", + "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR", + "FABRIC_E_INVALID_ADDRESS", + "FABRIC_E_APPLICATION_NOT_UPGRADING", + "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR", + "FABRIC_E_FABRIC_NOT_UPGRADING", + "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR", + "FABRIC_E_INVALID_CONFIGURATION", + "FABRIC_E_INVALID_NAME_URI", + "FABRIC_E_PATH_TOO_LONG", + "FABRIC_E_KEY_TOO_LARGE", + "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED", + "FABRIC_E_INVALID_ATOMIC_GROUP", + "FABRIC_E_VALUE_EMPTY", + "FABRIC_E_NODE_NOT_FOUND", + "FABRIC_E_APPLICATION_TYPE_NOT_FOUND", + "FABRIC_E_APPLICATION_NOT_FOUND", + "FABRIC_E_SERVICE_TYPE_NOT_FOUND", + "FABRIC_E_SERVICE_DOES_NOT_EXIST", + "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND", + "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND", + "FABRIC_E_PARTITION_NOT_FOUND", + "FABRIC_E_REPLICA_DOES_NOT_EXIST", + "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST", + "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND", + "FABRIC_E_DIRECTORY_NOT_FOUND", + "FABRIC_E_FABRIC_VERSION_NOT_FOUND", + "FABRIC_E_FILE_NOT_FOUND", + "FABRIC_E_NAME_DOES_NOT_EXIST", + "FABRIC_E_PROPERTY_DOES_NOT_EXIST", + "FABRIC_E_ENUMERATION_COMPLETED", + "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND", + "FABRIC_E_KEY_NOT_FOUND", + "FABRIC_E_HEALTH_ENTITY_NOT_FOUND", + "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS", + "FABRIC_E_APPLICATION_ALREADY_EXISTS", + "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION", + "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS", + "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS", + "FABRIC_E_SERVICE_ALREADY_EXISTS", + "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS", + "FABRIC_E_APPLICATION_TYPE_IN_USE", + "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION", + "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS", + "FABRIC_E_FABRIC_VERSION_IN_USE", + "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS", + "FABRIC_E_NAME_ALREADY_EXISTS", + "FABRIC_E_NAME_NOT_EMPTY", + "FABRIC_E_PROPERTY_CHECK_FAILED", + "FABRIC_E_SERVICE_METADATA_MISMATCH", + "FABRIC_E_SERVICE_TYPE_MISMATCH", + "FABRIC_E_HEALTH_STALE_REPORT", + "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED", + "FABRIC_E_NODE_HAS_NOT_STOPPED_YET", + "FABRIC_E_INSTANCE_ID_MISMATCH", + "FABRIC_E_VALUE_TOO_LARGE", + "FABRIC_E_NO_WRITE_QUORUM", + "FABRIC_E_NOT_PRIMARY", + "FABRIC_E_NOT_READY", + "FABRIC_E_RECONFIGURATION_PENDING", + "FABRIC_E_SERVICE_OFFLINE", + "E_ABORT", + "FABRIC_E_COMMUNICATION_ERROR", + "FABRIC_E_OPERATION_NOT_COMPLETE", + "FABRIC_E_TIMEOUT", + "FABRIC_E_NODE_IS_UP", + "E_FAIL", + "FABRIC_E_BACKUP_IS_ENABLED", + "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH", + "FABRIC_E_INVALID_FOR_STATELESS_SERVICES", + "FABRIC_E_BACKUP_NOT_ENABLED", + "FABRIC_E_BACKUP_POLICY_NOT_EXISTING", + "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING", + "FABRIC_E_BACKUP_IN_PROGRESS", + "FABRIC_E_RESTORE_IN_PROGRESS", + "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING", + "FABRIC_E_INVALID_SERVICE_SCALING_POLICY", + "E_INVALIDARG", + "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS", + "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND", + "FABRIC_E_VOLUME_ALREADY_EXISTS", + "FABRIC_E_VOLUME_NOT_FOUND", + "SerializationError", + "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR" + ], + "x-ms-enum": { + "name": "FabricErrorCodes", + "modelAsString": true, + "values": [ + { + "value": "FABRIC_E_INVALID_PARTITION_KEY" + }, + { + "value": "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR" + }, + { + "value": "FABRIC_E_INVALID_ADDRESS" + }, + { + "value": "FABRIC_E_APPLICATION_NOT_UPGRADING" + }, + { + "value": "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR" + }, + { + "value": "FABRIC_E_FABRIC_NOT_UPGRADING" + }, + { + "value": "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR" + }, + { + "value": "FABRIC_E_INVALID_CONFIGURATION" + }, + { + "value": "FABRIC_E_INVALID_NAME_URI" + }, + { + "value": "FABRIC_E_PATH_TOO_LONG" + }, + { + "value": "FABRIC_E_KEY_TOO_LARGE" + }, + { + "value": "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED" + }, + { + "value": "FABRIC_E_INVALID_ATOMIC_GROUP" + }, + { + "value": "FABRIC_E_VALUE_EMPTY" + }, + { + "value": "FABRIC_E_NODE_NOT_FOUND" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_NOT_FOUND" + }, + { + "value": "FABRIC_E_APPLICATION_NOT_FOUND" + }, + { + "value": "FABRIC_E_SERVICE_TYPE_NOT_FOUND" + }, + { + "value": "FABRIC_E_SERVICE_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND" + }, + { + "value": "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND" + }, + { + "value": "FABRIC_E_PARTITION_NOT_FOUND" + }, + { + "value": "FABRIC_E_REPLICA_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND" + }, + { + "value": "FABRIC_E_DIRECTORY_NOT_FOUND" + }, + { + "value": "FABRIC_E_FABRIC_VERSION_NOT_FOUND" + }, + { + "value": "FABRIC_E_FILE_NOT_FOUND" + }, + { + "value": "FABRIC_E_NAME_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_PROPERTY_DOES_NOT_EXIST" + }, + { + "value": "FABRIC_E_ENUMERATION_COMPLETED" + }, + { + "value": "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND" + }, + { + "value": "FABRIC_E_KEY_NOT_FOUND" + }, + { + "value": "FABRIC_E_HEALTH_ENTITY_NOT_FOUND" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_APPLICATION_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS" + }, + { + "value": "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS" + }, + { + "value": "FABRIC_E_SERVICE_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_APPLICATION_TYPE_IN_USE" + }, + { + "value": "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION" + }, + { + "value": "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_FABRIC_VERSION_IN_USE" + }, + { + "value": "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS" + }, + { + "value": "FABRIC_E_NAME_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_NAME_NOT_EMPTY" + }, + { + "value": "FABRIC_E_PROPERTY_CHECK_FAILED" + }, + { + "value": "FABRIC_E_SERVICE_METADATA_MISMATCH" + }, + { + "value": "FABRIC_E_SERVICE_TYPE_MISMATCH" + }, + { + "value": "FABRIC_E_HEALTH_STALE_REPORT" + }, + { + "value": "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED" + }, + { + "value": "FABRIC_E_NODE_HAS_NOT_STOPPED_YET" + }, + { + "value": "FABRIC_E_INSTANCE_ID_MISMATCH" + }, + { + "value": "FABRIC_E_VALUE_TOO_LARGE" + }, + { + "value": "FABRIC_E_NO_WRITE_QUORUM" + }, + { + "value": "FABRIC_E_NOT_PRIMARY" + }, + { + "value": "FABRIC_E_NOT_READY" + }, + { + "value": "FABRIC_E_RECONFIGURATION_PENDING" + }, + { + "value": "FABRIC_E_SERVICE_OFFLINE" + }, + { + "value": "E_ABORT" + }, + { + "value": "FABRIC_E_COMMUNICATION_ERROR" + }, + { + "value": "FABRIC_E_OPERATION_NOT_COMPLETE" + }, + { + "value": "FABRIC_E_TIMEOUT" + }, + { + "value": "FABRIC_E_NODE_IS_UP" + }, + { + "value": "E_FAIL" + }, + { + "value": "FABRIC_E_BACKUP_IS_ENABLED" + }, + { + "value": "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH" + }, + { + "value": "FABRIC_E_INVALID_FOR_STATELESS_SERVICES" + }, + { + "value": "FABRIC_E_BACKUP_NOT_ENABLED" + }, + { + "value": "FABRIC_E_BACKUP_POLICY_NOT_EXISTING" + }, + { + "value": "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING" + }, + { + "value": "FABRIC_E_BACKUP_IN_PROGRESS" + }, + { + "value": "FABRIC_E_RESTORE_IN_PROGRESS" + }, + { + "value": "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING" + }, + { + "value": "FABRIC_E_INVALID_SERVICE_SCALING_POLICY" + }, + { + "value": "E_INVALIDARG" + }, + { + "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND" + }, + { + "value": "FABRIC_E_VOLUME_ALREADY_EXISTS" + }, + { + "value": "FABRIC_E_VOLUME_NOT_FOUND" + }, + { + "value": "SerializationError" + }, + { + "value": "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR" + } + ] + } + }, + "FabricError": { + "description": "The REST API operations for Service Fabric return standard HTTP status codes. This type defines the additional information returned from the Service Fabric API operations that are not successful.", + "properties": { + "Error": { + "$ref": "#/definitions/FabricErrorError", + "description": "Error object containing error code and error message." + } + }, + "required": [ + "Error" + ] + }, + "FabricErrorError": { + "description": "Error object containing error code and error message.", + "properties": { + "Code": { + "$ref": "#/definitions/FabricErrorCodes", + "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\"" + }, + "Message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "Code" + ] + }, + "ContainerLogs": { + "description": "Container logs.", + "properties": { + "Content": { + "type": "string", + "description": "Container logs." + } + } + }, + "AadMetadata": { + "description": "Azure Active Directory metadata used for secured connection to cluster.", + "properties": { + "authority": { + "type": "string", + "description": "The AAD authority url." + }, + "client": { + "type": "string", + "description": "The AAD client application Id." + }, + "cluster": { + "type": "string", + "description": "The AAD cluster application Id." + }, + "login": { + "type": "string", + "description": "The AAD login url." + }, + "redirect": { + "type": "string", + "description": "The client application redirect address." + }, + "tenant": { + "type": "string", + "description": "The AAD tenant Id." + } + } + }, + "AadMetadataObject": { + "description": "Azure Active Directory metadata object used for secured connection to cluster.", + "properties": { + "type": { + "type": "string", + "description": "The client authentication method." + }, + "metadata": { + "$ref": "#/definitions/AadMetadata", + "description": "Azure Active Directory metadata used for secured connection to cluster." + } + } + }, + "AnalysisEventMetadata": { + "description": "Metadata about an Analysis Event.", + "properties": { + "Delay": { + "type": "string", + "format": "duration", + "description": "The analysis delay." + }, + "Duration": { + "type": "string", + "format": "duration", + "description": "The duration of analysis." + } + } + }, + "ApplicationDefinitionKind": { + "type": "string", + "description": "The mechanism used to define a Service Fabric application.", + "enum": [ + "Invalid", + "ServiceFabricApplicationDescription", + "Compose" + ], + "x-ms-enum": { + "name": "ApplicationDefinitionKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 65535." + }, + { + "value": "ServiceFabricApplicationDescription", + "description": "Indicates the application is defined by a Service Fabric application description. The value is 0." + }, + { + "value": "Compose", + "description": "Indicates the application is defined by compose file(s). The value is 1." + } + ] + } + }, + "ApplicationEvent": { + "description": "Represents the base for all Application Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "ApplicationId": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + } + }, + "required": [ + "ApplicationId" + ], + "x-ms-discriminator-value": "ApplicationEvent" + }, + "ApplicationEventList": { + "description": "A list of ApplicationEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationEvent" + } + }, + "ApplicationHealth": { + "description": "Represents the health of the application. Contains the application aggregated health state and the service and deployed application health states.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceHealthState" + }, + "description": "Service health states as found in the health store." + }, + "DeployedApplicationHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationHealthState" + }, + "description": "Deployed application health states as found in the health store." + } + } + }, + "ApplicationHealthEvaluation": { + "x-ms-discriminator-value": "Application", + "description": "Represents health evaluation for an application, containing information about the data and the algorithm used by the health store to evaluate health.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation." + } + } + }, + "ApplicationHealthPolicies": { + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities.", + "properties": { + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMap", + "description": "The wrapper that contains the map with application health policies used to evaluate specific applications in the cluster." + } + } + }, + "ApplicationHealthPolicy": { + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.", + "properties": { + "ConsiderWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors.", + "default": false + }, + "MaxPercentUnhealthyDeployedApplications": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.\nThe percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.\nThis is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.", + "default": 0 + }, + "DefaultServiceTypeHealthPolicy": { + "$ref": "#/definitions/ServiceTypeHealthPolicy", + "description": "The health policy used by default to evaluate the health of a service type." + }, + "ServiceTypeHealthPolicyMap": { + "$ref": "#/definitions/ServiceTypeHealthPolicyMap", + "description": "The map with service type health policy per service type name. The map is empty by default." + } + } + }, + "ApplicationHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthPolicyMapItem" + }, + "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default." + }, + "ApplicationHealthPolicyMapItem": { + "description": "Defines an item in ApplicationHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "$ref": "#/definitions/ApplicationName", + "description": "The key of the application health policy map item. This is the name of the application." + }, + "Value": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "The value of the application health policy map item. This is the ApplicationHealthPolicy for this application." + } + } + }, + "ApplicationHealthPolicyMapObject": { + "description": "Represents the map of application health policies for a ServiceFabric cluster upgrade", + "properties": { + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMap", + "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default." + } + } + }, + "ApplicationHealthState": { + "description": "Represents the health state of an application, which contains the application identifier and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + } + }, + "ApplicationHealthStateChunk": { + "description": "Represents the health state chunk of a application.\nThe application health state chunk contains the application name, its aggregated health state and any children services and deployed applications that respect the filters in cluster health chunk query description.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ApplicationTypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "ServiceHealthStateChunks": { + "$ref": "#/definitions/ServiceHealthStateChunkList", + "description": "The list of service health state chunks in the cluster that respect the filters in the cluster health chunk query description." + }, + "DeployedApplicationHealthStateChunks": { + "$ref": "#/definitions/DeployedApplicationHealthStateChunkList", + "description": "The list of deployed application health state chunks in the cluster that respect the filters in the cluster health chunk query description." + } + } + }, + "ApplicationHealthStateChunkList": { + "description": "The list of application health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunkList" + } + ], + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthStateChunk" + }, + "description": "The list of application health state chunks that respect the input filters in the chunk query." + } + } + }, + "ApplicationHealthStateFilter": { + "description": "Defines matching criteria to determine whether a application should be included in the cluster health chunk.\nOne filter can match zero, one or multiple applications, depending on its properties.", + "properties": { + "ApplicationNameFilter": { + "type": "string", + "description": "The name of the application that matches the filter, as a fabric uri. The filter is applied only to the specified application, if it exists.\nIf the application doesn't exist, no application is returned in the cluster health chunk based on this filter.\nIf the application exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter." + }, + "ApplicationTypeNameFilter": { + "type": "string", + "description": "The name of the application type that matches the filter.\nIf specified, the filter is applied only to applications of the selected application type, if any exists.\nIf no applications of the specified application type exists, no application is returned in the cluster health chunk based on this filter.\nEach application of the specified application type is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the applications. It allows selecting applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only applications that match the filter are returned. All applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the application name or the application type name are specified. If the filter has default value and application name is specified, the matching application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "ServiceFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceHealthStateFilter" + }, + "description": "Defines a list of filters that specify which services to be included in the returned cluster health chunk as children of the application. The services are returned only if the parent application matches a filter.\nIf the list is empty, no services are returned. All the services are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple service filters.\nFor example, it can specify a filter to return all services with health state Error and another filter to always include a service identified by its service name." + }, + "DeployedApplicationFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationHealthStateFilter" + }, + "description": "Defines a list of filters that specify which deployed applications to be included in the returned cluster health chunk as children of the application. The deployed applications are returned only if the parent application matches a filter.\nIf the list is empty, no deployed applications are returned. All the deployed applications are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple deployed application filters.\nFor example, it can specify a filter to return all deployed applications with health state Error and another filter to always include a deployed application on a specified node." + } + } + }, + "ApplicationId": { + "type": "string", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "ApplicationInfo": { + "description": "Information about a Service Fabric application.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "Status": { + "$ref": "#/definitions/ApplicationStatus", + "description": "The status of the application." + }, + "Parameters": { + "$ref": "#/definitions/ApplicationParameterList", + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "ApplicationDefinitionKind": { + "$ref": "#/definitions/ApplicationDefinitionKind", + "description": "The mechanism used to define a Service Fabric application." + }, + "ManagedApplicationIdentity": { + "$ref": "#/definitions/ManagedApplicationIdentityDescription", + "description": "Managed application identity description." + } + } + }, + "ApplicationLoadInfo": { + "description": "Load Information about a Service Fabric application.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "MinimumNodes": { + "type": "integer", + "format": "int64", + "description": "The minimum number of nodes for this application.\nIt is the number of nodes where Service Fabric will reserve Capacity in the cluster which equals to ReservedLoad * MinimumNodes for this Application instance.\nFor applications that do not have application capacity defined this value will be zero." + }, + "MaximumNodes": { + "type": "integer", + "format": "int64", + "description": "The maximum number of nodes where this application can be instantiated.\nIt is the number of nodes this application is allowed to span.\nFor applications that do not have application capacity defined this value will be zero." + }, + "NodeCount": { + "type": "integer", + "format": "int64", + "description": "The number of nodes on which this application is instantiated.\nFor applications that do not have application capacity defined this value will be zero." + }, + "ApplicationLoadMetricInformation": { + "$ref": "#/definitions/ApplicationLoadMetricInformationList", + "description": "List of application load metric information." + } + } + }, + "ApplicationName": { + "type": "string", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ApplicationNameInfo": { + "description": "Information about the application name.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + } + }, + "ApplicationPackageCleanupPolicy": { + "type": "string", + "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision.", + "enum": [ + "Invalid", + "Default", + "Automatic", + "Manual" + ], + "x-ms-enum": { + "name": "ApplicationPackageCleanupPolicy", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the application package cleanup policy is invalid. This value is default. The value is zero." + }, + { + "value": "Default", + "description": "Indicates that the cleanup policy of application packages is based on the cluster setting \"CleanupApplicationPackageOnProvisionSuccess.\" The value is 1." + }, + { + "value": "Automatic", + "description": "Indicates that the service fabric runtime determines when to do the application package cleanup. By default, cleanup is done on successful provision. The value is 2." + }, + { + "value": "Manual", + "description": "Indicates that the user has to explicitly clean up the application package. The value is 3." + } + ] + } + }, + "ApplicationParameter": { + "description": "Describes an application parameter override to be applied when creating or upgrading an application.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The name of the parameter." + }, + "Value": { + "type": "string", + "description": "The value of the parameter." + } + } + }, + "ApplicationParameterList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationParameter" + }, + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "ApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "Applications", + "description": "Represents health evaluation for applications, containing health evaluations for each unhealthy application that impacted current aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of applications from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health." + } + } + }, + "ApplicationStatus": { + "type": "string", + "description": "The status of the application.", + "enum": [ + "Invalid", + "Ready", + "Upgrading", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ApplicationStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Ready", + "description": "Indicates the application status is ready. The value is 1." + }, + { + "value": "Upgrading", + "description": "Indicates the application status is upgrading. The value is 2." + }, + { + "value": "Creating", + "description": "Indicates the application status is creating. The value is 3." + }, + { + "value": "Deleting", + "description": "Indicates the application status is deleting. The value is 4." + }, + { + "value": "Failed", + "description": "Indicates the creation or deletion of application was terminated due to persistent failures. Another create/delete request can be accepted to resume a failed application. The value is 5." + } + ] + } + }, + "ApplicationTypeApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "ApplicationTypeApplications", + "description": "Represents health evaluation for applications of a particular application type. The application type applications evaluation can be returned when cluster health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health evaluations for each unhealthy application of the included application type that impacted current aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ApplicationTypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "MaxPercentUnhealthyApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of applications of the application type found in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation of this application type that impacted the aggregated health." + } + } + }, + "ApplicationTypeDefinitionKind": { + "type": "string", + "description": "The mechanism used to define a Service Fabric application type.", + "enum": [ + "Invalid", + "ServiceFabricApplicationPackage", + "Compose" + ], + "x-ms-enum": { + "name": "ApplicationTypeDefinitionKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application type definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 0." + }, + { + "value": "ServiceFabricApplicationPackage", + "description": "Indicates the application type is defined and created by a Service Fabric application package provided by the user. The value is 1." + }, + { + "value": "Compose", + "description": "Indicates the application type is defined and created implicitly as part of a compose deployment. The value is 2." + } + ] + } + }, + "ApplicationTypeHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationTypeHealthPolicyMapItem" + }, + "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation." + }, + "ApplicationTypeHealthPolicyMapItem": { + "description": "Defines an item in ApplicationTypeHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key of the application type health policy map item. This is the name of the application type." + }, + "Value": { + "type": "integer", + "description": "The value of the application type health policy map item.\nThe max percent unhealthy applications allowed for the application type. Must be between zero and 100." + } + } + }, + "ApplicationTypeInfo": { + "description": "Information about an application type.", + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "Version": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "DefaultParameterList": { + "$ref": "#/definitions/ApplicationTypeParameterList", + "description": "List of application type parameters that can be overridden when creating or updating the application." + }, + "Status": { + "$ref": "#/definitions/ApplicationTypeStatus", + "description": "The status of the application type." + }, + "StatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the application type." + }, + "ApplicationTypeDefinitionKind": { + "$ref": "#/definitions/ApplicationTypeDefinitionKind", + "description": "The mechanism used to define a Service Fabric application type." + } + } + }, + "PagedApplicationTypeInfoList": { + "description": "The list of application types that are provisioned or being provisioned in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of application type information.", + "items": { + "$ref": "#/definitions/ApplicationTypeInfo" + } + } + } + }, + "ApplicationTypeManifest": { + "description": "Contains the manifest describing an application type registered in a Service Fabric cluster.", + "properties": { + "Manifest": { + "type": "string", + "description": "The XML manifest as a string." + } + } + }, + "ApplicationTypeName": { + "type": "string", + "description": "The application type name as defined in the application manifest." + }, + "ApplicationTypeParameterList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationParameter" + }, + "description": "List of application type parameters that can be overridden when creating or updating the application." + }, + "ApplicationTypeStatus": { + "type": "string", + "description": "The status of the application type.", + "enum": [ + "Invalid", + "Provisioning", + "Available", + "Unprovisioning", + "Failed" + ], + "x-ms-enum": { + "name": "ApplicationTypeStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the application type status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Provisioning", + "description": "Indicates that the application type is being provisioned in the cluster. The value is 1." + }, + { + "value": "Available", + "description": "Indicates that the application type is fully provisioned and is available for use. An application of this type and version can be created. The value is 2." + }, + { + "value": "Unprovisioning", + "description": "Indicates that the application type is in process of being unprovisioned from the cluster. The value is 3." + }, + { + "value": "Failed", + "description": "Indicates that the application type provisioning failed and it is unavailable for use. The failure details can be obtained from the application type information query. The failed application type information remains in the cluster until it is unprovisioned or reprovisioned successfully. The value is 4." + } + ] + } + }, + "ApplicationUnhealthyEvaluations": { + "description": "List of health evaluations that resulted in the current aggregated health state.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthEvaluationWrapper" + } + }, + "ApplicationUpdateDescription": { + "description": "Describes the parameters for updating an application instance.", + "properties": { + "Flags": { + "type": "string", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nIf flags are not specified for a certain property, the property will not be updated even if the new value is provided.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator. Exception is RemoveApplicationCapacity which cannot be specified along with other parameters.\nFor example, if the provided value is 3 then the flags for MinimumNodes (1) and MaximumNodes (2) are set.\n\n- None - Does not indicate any other properties are set. The value is 0.\n- MinimumNodes - Indicates whether the MinimumNodes property is set. The value is 1.\n- MaximumNodes - Indicates whether the MinimumNodes property is set. The value is 2.\n- ApplicationMetrics - Indicates whether the ApplicationMetrics property is set. The value is 4." + }, + "RemoveApplicationCapacity": { + "type": "boolean", + "description": "Used to clear all parameters related to Application Capacity for this application. |\nIt is not possible to specify this parameter together with other Application Capacity parameters.", + "default": false + }, + "MinimumNodes": { + "type": "integer", + "format": "int64", + "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.", + "minimum": 0 + }, + "MaximumNodes": { + "type": "integer", + "format": "int64", + "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.", + "minimum": 0, + "default": 0 + }, + "ApplicationMetrics": { + "$ref": "#/definitions/ApplicationMetricDescriptionList", + "description": "List of application capacity metric description." + } + } + }, + "ApplicationUpgradeDescription": { + "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.", + "properties": { + "Name": { + "$ref": "#/definitions/TargetApplicationName", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "TargetApplicationTypeVersion": { + "$ref": "#/definitions/TargetApplicationTypeVersion", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "Parameters": { + "$ref": "#/definitions/ApplicationParameterList", + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + }, + "ForceRestart": { + "$ref": "#/definitions/ForceRestart", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "SortOrder": { + "$ref": "#/definitions/UpgradeSortOrder", + "description": "Defines the order in which an upgrade proceeds through the cluster." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + }, + "InstanceCloseDelayDurationInSeconds": { + "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description." + }, + "ManagedApplicationIdentity": { + "$ref": "#/definitions/ManagedApplicationIdentityDescription", + "description": "Managed application identity description." + } + }, + "required": [ + "Name", + "TargetApplicationTypeVersion", + "UpgradeKind" + ] + }, + "ApplicationUpgradeProgressInfo": { + "description": "Describes the parameters for an application upgrade.", + "properties": { + "Name": { + "$ref": "#/definitions/TargetApplicationName", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TargetApplicationTypeVersion": { + "$ref": "#/definitions/TargetApplicationTypeVersion", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "UpgradeDomains": { + "$ref": "#/definitions/UpgradeDomainInfoList", + "description": "List of upgrade domains and their statuses. Not applicable to node-by-node upgrades." + }, + "UpgradeUnits": { + "$ref": "#/definitions/UpgradeUnitInfoList", + "description": "List of upgrade units and their statuses." + }, + "UpgradeState": { + "$ref": "#/definitions/UpgradeState", + "description": "The state of the upgrade domain." + }, + "NextUpgradeDomain": { + "$ref": "#/definitions/NextUpgradeDomain", + "description": "The name of the next upgrade domain to be processed. Not applicable to node-by-node upgrades." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeDescription": { + "$ref": "#/definitions/ApplicationUpgradeDescription", + "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription." + }, + "UpgradeDurationInMilliseconds": { + "type": "string", + "description": "The estimated total amount of time spent processing the overall upgrade." + }, + "UpgradeDomainDurationInMilliseconds": { + "type": "string", + "description": "The estimated total amount of time spent processing the current upgrade domain." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of health evaluations that resulted in the current aggregated health state." + }, + "CurrentUpgradeDomainProgress": { + "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo", + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades." + }, + "CurrentUpgradeUnitsProgress": { + "$ref": "#/definitions/CurrentUpgradeUnitsProgressInfo", + "description": "Information about the current in-progress upgrade units." + }, + "StartTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade started." + }, + "FailureTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed." + }, + "FailureReason": { + "$ref": "#/definitions/FailureReason", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed." + }, + "UpgradeDomainProgressAtFailure": { + "$ref": "#/definitions/FailureUpgradeDomainProgressInfo", + "description": "Information about the upgrade domain progress at the time of upgrade failure." + }, + "UpgradeStatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the pending upgrade." + }, + "IsNodeByNode": { + "type": "boolean", + "description": "Indicates whether this upgrade is node-by-node.", + "default": false + } + } + }, + "ByteArray": { + "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.", + "type": "array", + "items": { + "type": "integer" + } + }, + "ClusterConfiguration": { + "description": "Information about the standalone cluster configuration.", + "properties": { + "ClusterConfiguration": { + "type": "string", + "description": "The contents of the cluster configuration file." + } + } + }, + "ClusterEvent": { + "description": "Represents the base for all Cluster Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "x-ms-discriminator-value": "ClusterEvent" + }, + "ClusterEventList": { + "description": "A list of ClusterEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterEvent" + } + }, + "ClusterHealth": { + "description": "Represents the health of the cluster.\nContains the cluster aggregated health state, the cluster application and node health states as well as the health events and the unhealthy evaluations.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "NodeHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeHealthState" + }, + "description": "Cluster node health states as found in the health store." + }, + "ApplicationHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthState" + }, + "description": "Cluster application health states as found in the health store." + } + } + }, + "ClusterHealthChunk": { + "description": "Represents the health chunk of the cluster.\nContains the cluster aggregated health state, and the cluster entities that respect the input filter.", + "properties": { + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The HealthState representing the aggregated health state of the cluster computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired cluster health policy and the application health policies." + }, + "NodeHealthStateChunks": { + "$ref": "#/definitions/NodeHealthStateChunkList", + "description": "The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description." + }, + "ApplicationHealthStateChunks": { + "$ref": "#/definitions/ApplicationHealthStateChunkList", + "description": "The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description." + } + } + }, + "ClusterHealthChunkQueryDescription": { + "description": "The cluster health chunk query description, which can specify the health policies to evaluate cluster health and very expressive filters to select which cluster entities to include in response.", + "properties": { + "NodeFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeHealthStateFilter" + }, + "description": "Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.\nIf no filters are specified, no nodes are returned. All the nodes are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple node filters.\nFor example, it can specify a filter to return all nodes with health state Error and another filter to always include a node identified by its NodeName." + }, + "ApplicationFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationHealthStateFilter" + }, + "description": "Defines a list of filters that specify which applications to be included in the returned cluster health chunk.\nIf no filters are specified, no applications are returned. All the applications are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple application filters.\nFor example, it can specify a filter to return all applications with health state Error and another filter to always include applications of a specified application type." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "ApplicationHealthPolicies": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + } + } + }, + "ClusterHealthPolicies": { + "description": "Health policies to evaluate cluster health.", + "properties": { + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMap", + "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + } + } + }, + "ClusterHealthPolicy": { + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.", + "properties": { + "ConsiderWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors.", + "default": false + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.", + "default": 0 + }, + "MaxPercentUnhealthyApplications": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.", + "default": 0 + }, + "ApplicationTypeHealthPolicyMap": { + "$ref": "#/definitions/ApplicationTypeHealthPolicyMap", + "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation." + }, + "NodeTypeHealthPolicyMap": { + "$ref": "#/definitions/NodeTypeHealthPolicyMap", + "description": "Defines a map with max percentage unhealthy nodes for specific node types.\nEach entry specifies as key the node type name and as value an integer that represents the MaxPercentUnhealthyNodes percentage used to evaluate the nodes of the specified node type.\n\nThe node type health policy map can be used during cluster health evaluation to describe special node types. \nThey are evaluated against the percentages associated with their node type name in the map. \nSetting this has no impact on the global pool of nodes used for MaxPercentUnhealthyNodes. \nThe node type health policy map is used only if the cluster manifest enables node type health evaluation using the configuration entry for HealthManager/EnableNodeTypeHealthEvaluation.\n\nFor example, given a cluster with many nodes of different types, with important work hosted on node type \"SpecialNodeType\" that should not tolerate any nodes down. \nYou can specify global MaxPercentUnhealthyNodes to 20% to tolerate some failures for all nodes, but for the node type \"SpecialNodeType\", set the MaxPercentUnhealthyNodes to 0 by \nsetting the value in the key value pair in NodeTypeHealthPolicyMapItem. The key is the node type name. \nThis way, as long as no nodes of type \"SpecialNodeType\" are in Error state, \neven if some of the many nodes in the global pool are in Error state, but below the global unhealthy percentage, the cluster would be evaluated to Warning. \nA Warning health state does not impact cluster upgrade or other monitoring triggered by Error health state. \nBut even one node of type SpecialNodeType in Error would make cluster unhealthy (in Error rather than Warning/Ok), which triggers rollback or pauses the cluster upgrade, depending on the upgrade configuration. \n\nConversely, setting the global MaxPercentUnhealthyNodes to 0, and setting SpecialNodeType's max percent unhealthy nodes to 100, \nwith one node of type SpecialNodeType in Error state would still put the cluster in an Error state, since the global restriction is more strict in this case." + } + } + }, + "ClusterManifest": { + "description": "Information about the cluster manifest.", + "properties": { + "Manifest": { + "type": "string", + "description": "The contents of the cluster manifest file." + } + } + }, + "ClusterLoadInfo": { + "description": "Information about load in a Service Fabric cluster. It holds a summary of all metrics and their load in a cluster.", + "properties": { + "LastBalancingStartTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The starting time of last resource balancing run." + }, + "LastBalancingEndTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The end time of last resource balancing run." + }, + "LoadMetricInformation": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadMetricInformation" + }, + "description": "List that contains metrics and their load information in this cluster." + } + } + }, + "LoadMetricInformation": { + "description": "Represents data structure that contains load information for a certain metric in a cluster.", + "properties": { + "Name": { + "type": "string", + "description": "Name of the metric for which this load information is provided." + }, + "IsBalancedBefore": { + "type": "boolean", + "description": "Value that indicates whether the metrics is balanced or not before resource balancer run" + }, + "IsBalancedAfter": { + "type": "boolean", + "description": "Value that indicates whether the metrics is balanced or not after resource balancer run." + }, + "DeviationBefore": { + "type": "string", + "format": "double", + "description": "The standard average deviation of the metrics before resource balancer run." + }, + "DeviationAfter": { + "type": "string", + "format": "double", + "description": "The standard average deviation of the metrics after resource balancer run." + }, + "BalancingThreshold": { + "type": "string", + "format": "double", + "description": "The balancing threshold for a certain metric." + }, + "Action": { + "type": "string", + "description": "The current action being taken with regard to this metric" + }, + "ActivityThreshold": { + "type": "string", + "format": "double", + "description": "The Activity Threshold specified for this metric in the system Cluster Manifest." + }, + "ClusterCapacity": { + "type": "string", + "description": "The total cluster capacity for a given metric" + }, + "ClusterLoad": { + "type": "string", + "description": "The total cluster load. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentClusterLoad." + }, + "CurrentClusterLoad": { + "type": "string", + "format": "double", + "description": "The total cluster load." + }, + "ClusterRemainingCapacity": { + "type": "string", + "description": "The remaining capacity for the metric in the cluster. In future releases of Service Fabric this parameter will be deprecated in favor of ClusterCapacityRemaining." + }, + "ClusterCapacityRemaining": { + "type": "string", + "description": "The remaining capacity for the metric in the cluster." + }, + "IsClusterCapacityViolation": { + "type": "boolean", + "description": "Indicates that the metric is currently over capacity in the cluster." + }, + "NodeBufferPercentage": { + "type": "string", + "format": "double", + "description": "The reserved percentage of total node capacity for this metric." + }, + "ClusterBufferedCapacity": { + "type": "string", + "description": "Remaining capacity in the cluster excluding the reserved space. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedClusterCapacityRemaining." + }, + "BufferedClusterCapacityRemaining": { + "type": "string", + "format": "double", + "description": "Remaining capacity in the cluster excluding the reserved space." + }, + "ClusterRemainingBufferedCapacity": { + "type": "string", + "description": "The remaining percentage of cluster total capacity for this metric." + }, + "MinNodeLoadValue": { + "type": "string", + "description": "The minimum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MinimumNodeLoad." + }, + "MinimumNodeLoad": { + "type": "string", + "format": "double", + "description": "The minimum load on any node for this metric." + }, + "MinNodeLoadNodeId": { + "$ref": "#/definitions/NodeId", + "description": "The node id of the node with the minimum load for this metric." + }, + "MaxNodeLoadValue": { + "type": "string", + "description": "The maximum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MaximumNodeLoad." + }, + "MaximumNodeLoad": { + "type": "string", + "format": "double", + "description": "The maximum load on any node for this metric." + }, + "MaxNodeLoadNodeId": { + "$ref": "#/definitions/NodeId", + "description": "The node id of the node with the maximum load for this metric." + }, + "PlannedLoadRemoval": { + "type": "string", + "format": "double", + "description": "This value represents the load of the replicas that are planned to be removed in the future within the cluster.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node." + } + } + }, + "ClusterVersion": { + "description": "The cluster version.", + "properties": { + "Version": { + "type": "string", + "description": "The Service Fabric cluster runtime version." + } + } + }, + "ContainerApiRequestBody": { + "description": "parameters for making container API call.", + "properties": { + "HttpVerb": { + "type": "string", + "description": "HTTP verb of container REST API, defaults to \"GET\"" + }, + "UriPath": { + "type": "string", + "description": "URI path of container REST API" + }, + "Content-Type": { + "type": "string", + "description": "Content type of container REST API request, defaults to \"application/json\"" + }, + "Body": { + "type": "string", + "description": "HTTP request body of container REST API" + } + }, + "required": [ + "UriPath" + ] + }, + "ContainerApiResponse": { + "description": "Response body that wraps container API result.", + "properties": { + "ContainerApiResult": { + "$ref": "#/definitions/ContainerApiResult", + "description": "Container API result." + } + }, + "required": [ + "ContainerApiResult" + ] + }, + "ContainerApiResult": { + "description": "Container API result.", + "properties": { + "Status": { + "type": "integer", + "description": "HTTP status code returned by the target container API" + }, + "Content-Type": { + "type": "string", + "description": "HTTP content type" + }, + "Content-Encoding": { + "type": "string", + "description": "HTTP content encoding" + }, + "Body": { + "type": "string", + "description": "container API result body" + } + }, + "required": [ + "Status" + ] + }, + "ContainerInstanceEvent": { + "description": "Represents the base for all Container Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "x-ms-discriminator-value": "ContainerInstanceEvent" + }, + "ContainerInstanceEventList": { + "description": "A list of ContainerInstanceEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerInstanceEvent" + } + }, + "ContinuationToken": { + "type": "string", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "ConfigParameterOverrideList": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigParameterOverride" + }, + "description": "List that contains parameters, sections that they belong and their values." + }, + "ConfigParameterOverride": { + "description": "Information about a configuration parameter override.", + "properties": { + "SectionName": { + "type": "string", + "description": "Name of the section for the parameter override." + }, + "ParameterName": { + "type": "string", + "description": "Name of the parameter that has been overridden." + }, + "ParameterValue": { + "type": "string", + "description": "Value of the overridden parameter." + }, + "Timeout": { + "type": "string", + "format": "duration", + "description": "The duration until config override is considered as valid." + }, + "PersistAcrossUpgrade": { + "type": "boolean", + "description": "A value that indicates whether config override will be removed on upgrade or will still be considered as valid." + } + }, + "required": [ + "SectionName", + "ParameterName", + "ParameterValue" + ] + }, + "CurrentUpgradeDomainName": { + "type": "string", + "description": "The name of the upgrade domain. Not applicable to node-by-node upgrades." + }, + "CurrentUpgradeDomainProgressInfo": { + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades.", + "properties": { + "DomainName": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "CurrentUpgradeDomainDuration": { + "type": "string", + "description": "The estimated amount of time spent processing current Upgrade Domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "PT0H2M0S" + }, + "CurrentUpgradeUnitsProgressInfo": { + "description": "Information about the current in-progress upgrade units.", + "properties": { + "DomainName": { + "$ref": "#/definitions/CurrentUpgradeDomainName", + "description": "The name of the upgrade domain. Not applicable to node-by-node upgrades." + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "DeactivationIntentDescription": { + "description": "Describes the intent or reason for deactivating the node.", + "properties": { + "DeactivationIntent": { + "type": "string", + "description": "Describes the intent or reason for deactivating the node. The possible values are following.", + "enum": [ + "Pause", + "Restart", + "RemoveData" + ], + "x-ms-enum": { + "name": "DeactivationIntent", + "modelAsString": true, + "values": [ + { + "value": "Pause", + "description": "Indicates that the node should be paused. The value is 1." + }, + { + "value": "Restart", + "description": "Indicates that the intent is for the node to be restarted after a short period of time. The value is 2." + }, + { + "value": "RemoveData", + "description": "Indicates the intent is for the node to remove data. The value is 3." + } + ] + } + } + } + }, + "DeltaNodesCheckHealthEvaluation": { + "x-ms-discriminator-value": "DeltaNodesCheck", + "description": "Represents health evaluation for delta nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when the aggregated health state of the cluster is Warning or Error.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "BaselineErrorCount": { + "type": "integer", + "format": "int64", + "description": "Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade." + }, + "BaselineTotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the health store at the beginning of the cluster upgrade." + }, + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state.\nIncludes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "DeployedApplicationHealth": { + "description": "Information about the health of an application deployed on a Service Fabric node.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "Name of the application deployed on the node whose health information is described by this object." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node where this application is deployed." + }, + "DeployedServicePackageHealthStates": { + "$ref": "#/definitions/DeployedServicePackageHealthStateList", + "description": "Deployed service package health states for the current deployed application as found in the health store." + } + } + }, + "DeployedApplicationHealthEvaluation": { + "x-ms-discriminator-value": "DeployedApplication", + "description": "Represents health evaluation for a deployed application, containing information about the data and the algorithm used by the health store to evaluate health.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node where the application is deployed to." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the deployed application.\nThe types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation." + } + } + }, + "DeployedApplicationHealthState": { + "description": "Represents the health state of a deployed application, which contains the entity identifier and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node on which the service package is deployed." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + } + }, + "DeployedApplicationHealthStateChunk": { + "description": "Represents the health state chunk of a deployed application, which contains the node where the application is deployed, the aggregated health state and any deployed service packages that respect the chunk query description filters.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "NodeName": { + "type": "string", + "description": "The name of node where the application is deployed." + }, + "DeployedServicePackageHealthStateChunks": { + "$ref": "#/definitions/DeployedServicePackageHealthStateChunkList", + "description": "The list of deployed service package health state chunks belonging to the deployed application that respect the filters in the cluster health chunk query description." + } + } + }, + "DeployedApplicationHealthStateChunkList": { + "description": "The list of deployed application health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationHealthStateChunk" + }, + "description": "The list of deployed application health state chunks that respect the input filters in the chunk query." + } + } + }, + "DeployedApplicationHealthStateFilter": { + "description": "Defines matching criteria to determine whether a deployed application should be included as a child of an application in the cluster health chunk.\nThe deployed applications are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple deployed applications, depending on its properties.", + "properties": { + "NodeNameFilter": { + "type": "string", + "description": "The name of the node where the application is deployed in order to match the filter.\nIf specified, the filter is applied only to the application deployed on the specified node.\nIf the application is not deployed on the node with the specified name, no deployed application is returned in the cluster health chunk based on this filter.\nOtherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed applications that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed applications that match the filter are returned. All deployed applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching deployed application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "DeployedServicePackageFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageHealthStateFilter" + }, + "description": "Defines a list of filters that specify which deployed service packages to be included in the returned cluster health chunk as children of the parent deployed application. The deployed service packages are returned only if the parent deployed application matches a filter.\nIf the list is empty, no deployed service packages are returned. All the deployed service packages are used to evaluate the parent deployed application aggregated health state, regardless of the input filters.\nThe deployed application filter may specify multiple deployed service package filters.\nFor example, it can specify a filter to return all deployed service packages with health state Error and another filter to always include a deployed service package on a node." + } + } + }, + "DeployedApplicationInfo": { + "description": "Information about application deployed on the node.", + "properties": { + "Id": { + "$ref": "#/definitions/ApplicationId", + "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "Status": { + "$ref": "#/definitions/DeployedApplicationStatus", + "description": "The status of the application deployed on the node. Following are the possible values." + }, + "WorkDirectory": { + "type": "string", + "description": "The work directory of the application on the node. The work directory can be used to store application data." + }, + "LogDirectory": { + "type": "string", + "description": "The log directory of the application on the node. The log directory can be used to store application logs." + }, + "TempDirectory": { + "type": "string", + "description": "The temp directory of the application on the node. The code packages belonging to the application are forked with this directory set as their temporary directory." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + } + } + }, + "DeployedApplicationInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedApplicationInfo" + }, + "description": "List of deployed application information." + }, + "DeployedApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "DeployedApplications", + "description": "Represents health evaluation for deployed applications, containing health evaluations for each unhealthy deployed application that impacted current aggregated health state.\nCan be returned when evaluating application health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyDeployedApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of deployed applications of the application in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health." + } + } + }, + "DeployedApplicationStatus": { + "type": "string", + "description": "The status of the application deployed on the node. Following are the possible values.", + "enum": [ + "Invalid", + "Downloading", + "Activating", + "Active", + "Upgrading", + "Deactivating" + ], + "x-ms-enum": { + "name": "DeployedApplicationStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that deployment status is not valid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Downloading", + "description": "Indicates that the package is downloading from the ImageStore. The value is 1." + }, + { + "value": "Activating", + "description": "Indicates that the package is activating. The value is 2." + }, + { + "value": "Active", + "description": "Indicates that the package is active. The value is 3." + }, + { + "value": "Upgrading", + "description": "Indicates that the package is upgrading. The value is 4." + }, + { + "value": "Deactivating", + "description": "Indicates that the package is deactivating. The value is 5." + } + ] + } + }, + "DeployedServicePackageHealth": { + "description": "Information about the health of a service package for a specific application deployed on a Service Fabric node.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "Name of the service manifest." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node where this service package is deployed." + } + } + }, + "DeployedServicePackageHealthEvaluation": { + "x-ms-discriminator-value": "DeployedServicePackage", + "description": "Represents health evaluation for a deployed service package, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation." + } + } + }, + "DeployedServicePackageHealthState": { + "description": "Represents the health state of a deployed service package, containing the entity identifier and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node on which the service package is deployed." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "Name of the manifest describing the service package." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeployedServicePackageHealthStateChunk": { + "description": "Represents the health state chunk of a deployed service package, which contains the service manifest name and the service package aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeployedServicePackageHealthStateChunkList": { + "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageHealthStateChunk" + }, + "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query." + } + } + }, + "DeployedServicePackageHealthStateFilter": { + "description": "Defines matching criteria to determine whether a deployed service package should be included as a child of a deployed application in the cluster health chunk.\nThe deployed service packages are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent deployed application and its parent application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple deployed service packages, depending on its properties.", + "properties": { + "ServiceManifestNameFilter": { + "type": "string", + "description": "The name of the service manifest which identifies the deployed service packages that matches the filter.\nIf specified, the filter is applied only to the specified deployed service packages, if any.\nIf no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.\nIf any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed service packages that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "ServicePackageActivationIdFilter": { + "type": "string", + "description": "The activation ID of a deployed service package that matches the filter.\nIf not specified, the filter applies to all deployed service packages that match the other parameters.\nIf specified, the filter matches only the deployed service package with the specified activation ID." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the deployed service packages. It allows selecting deployed service packages if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the parent deployed application aggregated health state.\nIf not specified, default value is None, unless the deployed service package ID is specified. If the filter has default value and deployed service package ID is specified, the matching deployed service package is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + } + } + }, + "DeployedServicePackageHealthStateList": { + "description": "List of health states for a service package deployed on a Service Fabric node.", + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageHealthState" + } + }, + "DeployedServicePackagesHealthEvaluation": { + "x-ms-discriminator-value": "DeployedServicePackages", + "description": "Represents health evaluation for deployed service packages, containing health evaluations for each unhealthy deployed service package that impacted current aggregated health state. Can be returned when evaluating deployed application health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of deployed service packages of the deployed application in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health." + } + } + }, + "DeployedServiceReplicaInfo": { + "discriminator": "ServiceKind", + "description": "Information about a Service Fabric service replica deployed on a node.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest in which this service type is defined." + }, + "CodePackageName": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package that hosts this replica." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "ReplicaStatus": { + "$ref": "#/definitions/ReplicaStatus", + "description": "The status of a replica of a service." + }, + "Address": { + "type": "string", + "description": "The last address returned by the replica in Open or ChangeRole." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "HostProcessId": { + "type": "string", + "description": "Host process ID of the process that is hosting the replica. This will be zero if the replica is down. In hyper-v containers this host process ID will be from different kernel." + } + } + }, + "DeployedServiceReplicaInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServiceReplicaInfo" + }, + "description": "List of deployed service replica information." + }, + "DeployedStatefulServiceReplicaInfo": { + "description": "Information about a stateful service replica deployed on a node.", + "x-ms-discriminator-value": "Stateful", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaInfo" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "ReplicaRole": { + "$ref": "#/definitions/ReplicaRole", + "description": "The role of a replica of a stateful service." + }, + "ReconfigurationInformation": { + "$ref": "#/definitions/ReconfigurationInformation", + "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time." + } + } + }, + "DeployedStatelessServiceInstanceInfo": { + "description": "Information about a stateless service instance deployed on a node.", + "x-ms-discriminator-value": "Stateless", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaInfo" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + } + } + }, + "EntityHealth": { + "description": "Health information common to all entities in the cluster. It contains the aggregated health state, health events and unhealthy evaluation.", + "properties": { + "AggregatedHealthState": { + "$ref": "#/definitions/HealthState", + "description": "The HealthState representing the aggregated health state of the entity computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired health policy." + }, + "HealthEvents": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthEvent" + }, + "description": "The list of health events reported on the entity." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager." + }, + "HealthStatistics": { + "$ref": "#/definitions/HealthStatistics", + "description": "Shows the health statistics for all children types of the queried entity." + } + } + }, + "EntityHealthState": { + "description": "A base type for the health state of various entities in the cluster. It contains the aggregated health state.", + "properties": { + "AggregatedHealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + } + } + }, + "EntityHealthStateChunk": { + "description": "A base type for the health state chunk of various entities in the cluster. It contains the aggregated health state.", + "properties": { + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + } + } + }, + "EntityHealthStateChunkList": { + "description": "A base type for the list of health state chunks found in the cluster. It contains the total number of health states that match the input filters.", + "properties": { + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of entity health state objects that match the specified filters from the cluster health chunk query description." + } + } + }, + "Epoch": { + "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica.", + "properties": { + "ConfigurationVersion": { + "type": "string", + "description": "The current configuration number of this Epoch. The configuration number is an increasing value that is updated whenever the configuration of this replica set changes." + }, + "DataLossVersion": { + "type": "string", + "description": "The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica." + } + } + }, + "EventHealthEvaluation": { + "x-ms-discriminator-value": "Event", + "description": "Represents health evaluation of a HealthEvent that was reported on the entity.\nThe health evaluation is returned when evaluating health of an entity results in Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ConsiderWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors. The field is specified in the health policy used to evaluate the entity." + }, + "UnhealthyEvent": { + "$ref": "#/definitions/HealthEvent", + "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager." + } + } + }, + "EventList": { + "description": "A list of FabricEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/FabricEvent" + } + }, + "FabricCodeVersionInfo": { + "description": "Information about a Service Fabric code version.", + "properties": { + "CodeVersion": { + "description": "The product version of Service Fabric.", + "type": "string" + } + } + }, + "FabricCodeVersionInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/FabricCodeVersionInfo" + }, + "description": "List of all Service Fabric code versions." + }, + "FabricConfigVersionInfo": { + "description": "Information about a Service Fabric config version.", + "properties": { + "ConfigVersion": { + "description": "The config version of Service Fabric.", + "type": "string" + } + } + }, + "FabricConfigVersionInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/FabricConfigVersionInfo" + }, + "description": "List of all Service Fabric config versions." + }, + "FabricEvent": { + "discriminator": "Kind", + "description": "Represents the base for all Fabric Events.", + "properties": { + "Kind": { + "$ref": "#/definitions/FabricEventKind", + "description": "The kind of FabricEvent." + }, + "EventInstanceId": { + "type": "string", + "format": "uuid", + "description": "The identifier for the FabricEvent instance." + }, + "Category": { + "type": "string", + "description": "The category of event." + }, + "TimeStamp": { + "type": "string", + "format": "date-time", + "description": "The time event was logged." + }, + "HasCorrelatedEvents": { + "type": "boolean", + "description": "Shows there is existing related events available." + } + }, + "required": [ + "Kind", + "EventInstanceId", + "TimeStamp" + ] + }, + "FabricEventKind": { + "type": "string", + "description": "The kind of FabricEvent.", + "enum": [ + "ClusterEvent", + "ContainerInstanceEvent", + "NodeEvent", + "ApplicationEvent", + "ServiceEvent", + "PartitionEvent", + "ReplicaEvent", + "PartitionAnalysisEvent", + "ApplicationCreated", + "ApplicationDeleted", + "ApplicationNewHealthReport", + "ApplicationHealthReportExpired", + "ApplicationUpgradeCompleted", + "ApplicationUpgradeDomainCompleted", + "ApplicationUpgradeRollbackCompleted", + "ApplicationUpgradeRollbackStarted", + "ApplicationUpgradeStarted", + "DeployedApplicationNewHealthReport", + "DeployedApplicationHealthReportExpired", + "ApplicationProcessExited", + "ApplicationContainerInstanceExited", + "NodeAborted", + "NodeAddedToCluster", + "NodeClosed", + "NodeDeactivateCompleted", + "NodeDeactivateStarted", + "NodeDown", + "NodeNewHealthReport", + "NodeHealthReportExpired", + "NodeOpenSucceeded", + "NodeOpenFailed", + "NodeRemovedFromCluster", + "NodeUp", + "PartitionNewHealthReport", + "PartitionHealthReportExpired", + "PartitionReconfigured", + "PartitionPrimaryMoveAnalysis", + "ServiceCreated", + "ServiceDeleted", + "ServiceNewHealthReport", + "ServiceHealthReportExpired", + "DeployedServicePackageNewHealthReport", + "DeployedServicePackageHealthReportExpired", + "StatefulReplicaNewHealthReport", + "StatefulReplicaHealthReportExpired", + "StatelessReplicaNewHealthReport", + "StatelessReplicaHealthReportExpired", + "ClusterNewHealthReport", + "ClusterHealthReportExpired", + "ClusterUpgradeCompleted", + "ClusterUpgradeDomainCompleted", + "ClusterUpgradeRollbackCompleted", + "ClusterUpgradeRollbackStarted", + "ClusterUpgradeStarted", + "ChaosStopped", + "ChaosStarted", + "ChaosCodePackageRestartScheduled", + "ChaosReplicaRemovalScheduled", + "ChaosPartitionSecondaryMoveScheduled", + "ChaosPartitionPrimaryMoveScheduled", + "ChaosReplicaRestartScheduled", + "ChaosNodeRestartScheduled" + ], + "x-ms-enum": { + "name": "FabricEventKind", + "modelAsString": true, + "values": [ + { + "value": "ClusterEvent" + }, + { + "value": "ContainerInstanceEvent" + }, + { + "value": "NodeEvent" + }, + { + "value": "ApplicationEvent" + }, + { + "value": "ServiceEvent" + }, + { + "value": "PartitionEvent" + }, + { + "value": "ReplicaEvent" + }, + { + "value": "PartitionAnalysisEvent" + }, + { + "value": "ApplicationCreated" + }, + { + "value": "ApplicationDeleted" + }, + { + "value": "ApplicationNewHealthReport" + }, + { + "value": "ApplicationHealthReportExpired" + }, + { + "value": "ApplicationUpgradeCompleted" + }, + { + "value": "ApplicationUpgradeDomainCompleted" + }, + { + "value": "ApplicationUpgradeRollbackCompleted" + }, + { + "value": "ApplicationUpgradeRollbackStarted" + }, + { + "value": "ApplicationUpgradeStarted" + }, + { + "value": "DeployedApplicationNewHealthReport" + }, + { + "value": "DeployedApplicationHealthReportExpired" + }, + { + "value": "ApplicationProcessExited" + }, + { + "value": "ApplicationContainerInstanceExited" + }, + { + "value": "NodeAborted" + }, + { + "value": "NodeAddedToCluster" + }, + { + "value": "NodeClosed" + }, + { + "value": "NodeDeactivateCompleted" + }, + { + "value": "NodeDeactivateStarted" + }, + { + "value": "NodeDown" + }, + { + "value": "NodeNewHealthReport" + }, + { + "value": "NodeHealthReportExpired" + }, + { + "value": "NodeOpenSucceeded" + }, + { + "value": "NodeOpenFailed" + }, + { + "value": "NodeRemovedFromCluster" + }, + { + "value": "NodeUp" + }, + { + "value": "PartitionNewHealthReport" + }, + { + "value": "PartitionHealthReportExpired" + }, + { + "value": "PartitionReconfigured" + }, + { + "value": "PartitionPrimaryMoveAnalysis" + }, + { + "value": "ServiceCreated" + }, + { + "value": "ServiceDeleted" + }, + { + "value": "ServiceNewHealthReport" + }, + { + "value": "ServiceHealthReportExpired" + }, + { + "value": "DeployedServicePackageNewHealthReport" + }, + { + "value": "DeployedServicePackageHealthReportExpired" + }, + { + "value": "StatefulReplicaNewHealthReport" + }, + { + "value": "StatefulReplicaHealthReportExpired" + }, + { + "value": "StatelessReplicaNewHealthReport" + }, + { + "value": "StatelessReplicaHealthReportExpired" + }, + { + "value": "ClusterNewHealthReport" + }, + { + "value": "ClusterHealthReportExpired" + }, + { + "value": "ClusterUpgradeCompleted" + }, + { + "value": "ClusterUpgradeDomainCompleted" + }, + { + "value": "ClusterUpgradeRollbackCompleted" + }, + { + "value": "ClusterUpgradeRollbackStarted" + }, + { + "value": "ClusterUpgradeStarted" + }, + { + "value": "ChaosStopped" + }, + { + "value": "ChaosStarted" + }, + { + "value": "ChaosCodePackageRestartScheduled" + }, + { + "value": "ChaosReplicaRemovalScheduled" + }, + { + "value": "ChaosPartitionSecondaryMoveScheduled" + }, + { + "value": "ChaosPartitionPrimaryMoveScheduled" + }, + { + "value": "ChaosReplicaRestartScheduled" + }, + { + "value": "ChaosNodeRestartScheduled" + } + ] + } + }, + "ClusterConfigurationUpgradeStatusInfo": { + "description": "Information about a standalone cluster configuration upgrade status.", + "properties": { + "UpgradeState": { + "$ref": "#/definitions/UpgradeState", + "description": "The state of the upgrade domain." + }, + "ProgressStatus": { + "type": "integer", + "description": "The cluster manifest version." + }, + "ConfigVersion": { + "type": "string", + "description": "The cluster configuration version." + }, + "Details": { + "type": "string", + "description": "The cluster upgrade status details." + } + } + }, + "FailureAction": { + "type": "string", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.", + "enum": [ + "Invalid", + "Rollback", + "Manual" + ], + "x-ms-enum": { + "name": "FailureAction", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the failure action is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Rollback", + "description": "The upgrade will start rolling back automatically. The value is 1" + }, + { + "value": "Manual", + "description": "The upgrade will switch to UnmonitoredManual upgrade mode. The value is 2" + } + ] + } + }, + "FailureReason": { + "type": "string", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed.", + "enum": [ + "None", + "Interrupted", + "HealthCheck", + "UpgradeDomainTimeout", + "OverallUpgradeTimeout" + ], + "x-ms-enum": { + "name": "FailureReason", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Indicates the reason is invalid or unknown. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Interrupted", + "description": "There was an external request to roll back the upgrade. The value is 1" + }, + { + "value": "HealthCheck", + "description": "The upgrade failed due to health policy violations. The value is 2" + }, + { + "value": "UpgradeDomainTimeout", + "description": "An upgrade domain took longer than the allowed upgrade domain timeout to process. The value is 3" + }, + { + "value": "OverallUpgradeTimeout", + "description": "The overall upgrade took longer than the allowed upgrade timeout to process. The value is 4" + } + ] + } + }, + "FailureUpgradeDomainProgressInfo": { + "description": "Information about the upgrade domain progress at the time of upgrade failure.", + "properties": { + "DomainName": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "ForceRestart": { + "type": "boolean", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).", + "default": false + }, + "HealthCheckRetryTimeout": { + "type": "string", + "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "PT0H10M0S" + }, + "HealthCheckStableDuration": { + "type": "string", + "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "PT0H2M0S" + }, + "HealthCheckWaitDuration": { + "type": "string", + "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "0" + }, + "HealthEvaluation": { + "discriminator": "Kind", + "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.", + "properties": { + "Kind": { + "$ref": "#/definitions/HealthEvaluationKind", + "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values." + }, + "AggregatedHealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "Description": { + "type": "string", + "description": "Description of the health evaluation, which represents a summary of the evaluation process." + } + }, + "required": [ + "Kind" + ] + }, + "HealthEvaluationKind": { + "type": "string", + "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values.", + "enum": [ + "Invalid", + "Event", + "Replicas", + "Partitions", + "DeployedServicePackages", + "DeployedApplications", + "Services", + "Nodes", + "Applications", + "SystemApplication", + "UpgradeDomainDeployedApplications", + "UpgradeDomainNodes", + "Replica", + "Partition", + "DeployedServicePackage", + "DeployedApplication", + "Service", + "Node", + "Application", + "DeltaNodesCheck", + "UpgradeDomainDeltaNodesCheck", + "ApplicationTypeApplications", + "NodeTypeNodes" + ], + "x-ms-enum": { + "name": "HealthEvaluationKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the health evaluation is invalid. The value is zero." + }, + { + "value": "Event", + "description": "Indicates that the health evaluation is for a health event. The value is 1." + }, + { + "value": "Replicas", + "description": "Indicates that the health evaluation is for the replicas of a partition. The value is 2." + }, + { + "value": "Partitions", + "description": "Indicates that the health evaluation is for the partitions of a service. The value is 3." + }, + { + "value": "DeployedServicePackages", + "description": "Indicates that the health evaluation is for the deployed service packages of a deployed application. The value is 4." + }, + { + "value": "DeployedApplications", + "description": "Indicates that the health evaluation is for the deployed applications of an application. The value is 5." + }, + { + "value": "Services", + "description": "Indicates that the health evaluation is for services of an application. The value is 6." + }, + { + "value": "Nodes", + "description": "Indicates that the health evaluation is for the cluster nodes. The value is 7." + }, + { + "value": "Applications", + "description": "Indicates that the health evaluation is for the cluster applications. The value is 8." + }, + { + "value": "SystemApplication", + "description": "Indicates that the health evaluation is for the system application. The value is 9." + }, + { + "value": "UpgradeDomainDeployedApplications", + "description": "Indicates that the health evaluation is for the deployed applications of an application in an upgrade domain. The value is 10." + }, + { + "value": "UpgradeDomainNodes", + "description": "Indicates that the health evaluation is for the cluster nodes in an upgrade domain. The value is 11." + }, + { + "value": "Replica", + "description": "Indicates that the health evaluation is for a replica. The value is 13." + }, + { + "value": "Partition", + "description": "Indicates that the health evaluation is for a partition. The value is 14." + }, + { + "value": "DeployedServicePackage", + "description": "Indicates that the health evaluation is for a deployed service package. The value is 16." + }, + { + "value": "DeployedApplication", + "description": "Indicates that the health evaluation is for a deployed application. The value is 17." + }, + { + "value": "Service", + "description": "Indicates that the health evaluation is for a service. The value is 15." + }, + { + "value": "Node", + "description": "Indicates that the health evaluation is for a node. The value is 12." + }, + { + "value": "Application", + "description": "Indicates that the health evaluation is for an application. The value is 18." + }, + { + "value": "DeltaNodesCheck", + "description": "Indicates that the health evaluation is for the delta of unhealthy cluster nodes. The value is 19." + }, + { + "value": "UpgradeDomainDeltaNodesCheck", + "description": "Indicates that the health evaluation is for the delta of unhealthy upgrade domain cluster nodes. The value is 20." + }, + { + "value": "ApplicationTypeApplications", + "description": "– Indicates that the health evaluation is for applications of an application type. The value is 21." + }, + { + "value": "NodeTypeNodes", + "description": "– Indicates that the health evaluation is for nodes of a node type. The value is 22." + } + ] + } + }, + "HealthEvaluationWrapper": { + "description": "Wrapper object for health evaluation.", + "properties": { + "HealthEvaluation": { + "$ref": "#/definitions/HealthEvaluation", + "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity." + } + } + }, + "HealthEvent": { + "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.", + "allOf": [ + { + "$ref": "#/definitions/HealthInformation" + } + ], + "properties": { + "IsExpired": { + "type": "boolean", + "description": "Returns true if the health event is expired, otherwise false." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The date and time when the health report was sent by the source." + }, + "LastModifiedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The date and time when the health report was last modified by the health store." + }, + "LastOkTransitionAt": { + "type": "string", + "format": "date-time", + "description": "If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.\nFor periodic reporting, many reports with the same state may have been generated.\nThis property returns the date and time when the first 'Ok' health report was received.\n\nIf the current health state is 'Error' or 'Warning', returns the date and time at which the health state was last in 'Ok', before transitioning to a different state.\n\nIf the health state was never 'Ok', the value will be zero date-time." + }, + "LastWarningTransitionAt": { + "type": "string", + "format": "date-time", + "description": "If the current health state is 'Warning', this property returns the time at which the health report was first reported with 'Warning'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Warning' health report was received.\n\nIf the current health state is 'Ok' or 'Error', returns the date and time at which the health state was last in 'Warning', before transitioning to a different state.\n\nIf the health state was never 'Warning', the value will be zero date-time." + }, + "LastErrorTransitionAt": { + "type": "string", + "format": "date-time", + "description": "If the current health state is 'Error', this property returns the time at which the health report was first reported with 'Error'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Error' health report was received.\n\nIf the current health state is 'Ok' or 'Warning', returns the date and time at which the health state was last in 'Error', before transitioning to a different state.\n\nIf the health state was never 'Error', the value will be zero date-time." + } + } + }, + "HealthInformation": { + "description": "Represents common health report information. It is included in all health reports sent to health store and in all health events returned by health queries.", + "required": [ + "SourceId", + "Property", + "HealthState" + ], + "properties": { + "SourceId": { + "type": "string", + "description": "The source name that identifies the client/watchdog/system component that generated the health information." + }, + "Property": { + "type": "string", + "description": "The property of the health information. An entity can have health reports for different properties.\nThe property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.\nFor example, a reporter with SourceId \"LocalWatchdog\" can monitor the state of the available disk on a node,\nso it can report \"AvailableDisk\" property on that node.\nThe same reporter can monitor the node connectivity, so it can report a property \"Connectivity\" on the same node.\nIn the health store, these reports are treated as separate health events for the specified node.\n\nTogether with the SourceId, the property uniquely identifies the health information." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "TimeToLiveInMilliSeconds": { + "type": "string", + "format": "duration", + "description": "The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.\nWhen clients report periodically, they should send reports with higher frequency than time to live.\nIf clients report on transition, they can set the time to live to infinite.\nWhen time to live expires, the health event that contains the health information\nis either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.\n\nIf not specified, time to live defaults to infinite value." + }, + "Description": { + "type": "string", + "description": "The description of the health information. It represents free text used to add human readable information about the report.\nThe maximum string length for the description is 4096 characters.\nIf the provided string is longer, it will be automatically truncated.\nWhen truncated, the last characters of the description contain a marker \"[Truncated]\", and total string size is 4096 characters.\nThe presence of the marker indicates to users that truncation occurred.\nNote that when truncated, the description has less than 4096 characters from the original string." + }, + "SequenceNumber": { + "type": "string", + "description": "The sequence number for this health report as a numeric string.\nThe report sequence number is used by the health store to detect stale reports.\nIf not specified, a sequence number is auto-generated by the health client when a report is added." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Value that indicates whether the report is removed from health store when it expires.\nIf set to true, the report is removed from the health store after it expires.\nIf set to false, the report is treated as an error when expired. The value of this property is false by default.\nWhen clients report periodically, they should set RemoveWhenExpired false (default).\nThis way, if the reporter has issues (e.g. deadlock) and can't report, the entity is evaluated at error when the health report expires.\nThis flags the entity as being in Error health state." + }, + "HealthReportId": { + "type": "string", + "description": "A health report ID which identifies the health report and can be used to find more detailed information about a specific health event at\naka.ms/sfhealthid" + } + } + }, + "Int64RangePartitionInformation": { + "description": "Describes the partition information for the integer range that is based on partition schemes.", + "allOf": [ + { + "$ref": "#/definitions/PartitionInformation" + } + ], + "x-ms-discriminator-value": "Int64Range", + "properties": { + "LowKey": { + "type": "string", + "description": "Specifies the minimum key value handled by this partition." + }, + "HighKey": { + "type": "string", + "description": "Specifies the maximum key value handled by this partition." + } + } + }, + "LoadedPartitionInformationResult": { + "description": "Represents partition information.", + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of the service this partition belongs to." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "MetricName": { + "type": "string", + "description": "Name of the metric for which this information is provided." + }, + "Load": { + "type": "integer", + "format": "int64", + "description": "Load for metric." + } + }, + "required": [ + "ServiceName", + "PartitionId", + "MetricName", + "Load" + ] + }, + "LoadedPartitionInformationResultList": { + "description": "Represents data structure that contains top/least loaded partitions for a certain metric.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of application information.", + "items": { + "$ref": "#/definitions/LoadedPartitionInformationResult" + } + } + } + }, + "LoadedPartitionInformationQueryDescription": { + "description": "Represents data structure that contains query information.", + "properties": { + "MetricName": { + "type": "string", + "description": "Name of the metric for which this information is provided." + }, + "ServiceName": { + "type": "string", + "description": "Name of the service this partition belongs to." + }, + "Ordering": { + "type": "string", + "description": "Ordering of partitions' load.", + "$ref": "#/definitions/Ordering" + }, + "MaxResults": { + "type": "integer", + "format": "int64", + "description": "The maximum number of results to be returned as part of the paged queries. This parameter defines the upper bound on the number of results returned. The results returned can be less than the specified maximum results if they do not fit in the message as per the max message size restrictions defined in the configuration. If this parameter is zero or not specified, the paged query includes as many results as possible that fit in the return message." + }, + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + } + } + }, + "MinInstanceCount": { + "type": "integer", + "default": 1, + "minimum": 1, + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "type": "integer", + "default": 0, + "minimum": 0, + "maximum": 100, + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MonitoringPolicyDescription": { + "description": "Describes the parameters for monitoring an upgrade in Monitored mode.", + "properties": { + "FailureAction": { + "$ref": "#/definitions/FailureAction", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode." + }, + "HealthCheckWaitDurationInMilliseconds": { + "$ref": "#/definitions/HealthCheckWaitDuration", + "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "HealthCheckStableDurationInMilliseconds": { + "$ref": "#/definitions/HealthCheckStableDuration", + "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "HealthCheckRetryTimeoutInMilliseconds": { + "$ref": "#/definitions/HealthCheckRetryTimeout", + "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "UpgradeTimeoutInMilliseconds": { + "$ref": "#/definitions/UpgradeTimeout", + "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "UpgradeDomainTimeoutInMilliseconds": { + "$ref": "#/definitions/UpgradeDomainTimeout", + "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + } + } + }, + "NamedPartitionInformation": { + "description": "Describes the partition information for the name as a string that is based on partition schemes.", + "allOf": [ + { + "$ref": "#/definitions/PartitionInformation" + } + ], + "x-ms-discriminator-value": "Named", + "properties": { + "Name": { + "type": "string", + "description": "Name of the partition." + } + } + }, + "NextUpgradeDomain": { + "type": "string", + "description": "The name of the next upgrade domain to be processed. Not applicable to node-by-node upgrades." + }, + "NodeDeactivationInfo": { + "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.", + "properties": { + "NodeDeactivationIntent": { + "$ref": "#/definitions/NodeDeactivationIntent", + "description": "The intent or the reason for deactivating the node. Following are the possible values for it." + }, + "NodeDeactivationStatus": { + "$ref": "#/definitions/NodeDeactivationStatus", + "description": "The status of node deactivation operation. Following are the possible values." + }, + "NodeDeactivationTask": { + "$ref": "#/definitions/NodeDeactivationTaskList", + "description": "List of tasks representing the deactivation operation on the node." + }, + "PendingSafetyChecks": { + "$ref": "#/definitions/SafetyCheckInfoList", + "description": "List of pending safety checks" + } + } + }, + "NodeDeactivationIntent": { + "type": "string", + "description": "The intent or the reason for deactivating the node. Following are the possible values for it.", + "enum": [ + "Invalid", + "Pause", + "Restart", + "RemoveData", + "RemoveNode" + ], + "x-ms-enum": { + "name": "NodeDeactivationIntent", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the node deactivation intent is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used." + }, + { + "value": "Pause", + "description": "Indicates that the node should be paused. The value is 1." + }, + { + "value": "Restart", + "description": "Indicates that the intent is for the node to be restarted after a short period of time. Service Fabric does not restart the node, this action is done outside of Service Fabric. The value is 2." + }, + { + "value": "RemoveData", + "description": "Indicates that the intent is to reimage the node. Service Fabric does not reimage the node, this action is done outside of Service Fabric. The value is 3." + }, + { + "value": "RemoveNode", + "description": "Indicates that the node is being decommissioned and is not expected to return. Service Fabric does not decommission the node, this action is done outside of Service Fabric. The value is 4." + } + ] + } + }, + "NodeDeactivationStatus": { + "type": "string", + "description": "The status of node deactivation operation. Following are the possible values.", + "enum": [ + "None", + "SafetyCheckInProgress", + "SafetyCheckComplete", + "Completed" + ], + "x-ms-enum": { + "name": "NodeDeactivationStatus", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No status is associated with the task. The value is zero." + }, + { + "value": "SafetyCheckInProgress", + "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that one or more safety checks are in progress. The value is 1." + }, + { + "value": "SafetyCheckComplete", + "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that all safety checks have been completed. The value is 2." + }, + { + "value": "Completed", + "description": "The task is completed. The value is 3." + } + ] + } + }, + "NodeDeactivationTask": { + "description": "The task representing the deactivation operation on the node.", + "properties": { + "NodeDeactivationTaskId": { + "$ref": "#/definitions/NodeDeactivationTaskId", + "description": "Identity of the task related to deactivation operation on the node." + }, + "NodeDeactivationIntent": { + "$ref": "#/definitions/NodeDeactivationIntent", + "description": "The intent or the reason for deactivating the node. Following are the possible values for it." + } + } + }, + "NodeDeactivationTaskId": { + "description": "Identity of the task related to deactivation operation on the node.", + "properties": { + "Id": { + "type": "string", + "description": "Value of the task id." + }, + "NodeDeactivationTaskType": { + "$ref": "#/definitions/NodeDeactivationTaskType", + "description": "The type of the task that performed the node deactivation. Following are the possible values." + } + } + }, + "NodeDeactivationTaskList": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeDeactivationTask" + }, + "description": "List of tasks representing the deactivation operation on the node." + }, + "NodeDeactivationTaskType": { + "type": "string", + "description": "The type of the task that performed the node deactivation. Following are the possible values.", + "enum": [ + "Invalid", + "Infrastructure", + "Repair", + "Client" + ], + "x-ms-enum": { + "name": "NodeDeactivationTaskType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the node deactivation task type is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used." + }, + { + "value": "Infrastructure", + "description": "Specifies the task created by Infrastructure hosting the nodes. The value is 1." + }, + { + "value": "Repair", + "description": "Specifies the task that was created by the Repair Manager service. The value is 2." + }, + { + "value": "Client", + "description": "Specifies that the task was created by using the public API. The value is 3." + } + ] + } + }, + "NodeEvent": { + "description": "Represents the base for all Node Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + } + }, + "required": [ + "NodeName" + ], + "x-ms-discriminator-value": "NodeEvent" + }, + "NodeEventList": { + "description": "A list of NodeEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/NodeEvent" + } + }, + "NodeHealth": { + "description": "Information about the health of a Service Fabric node.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node whose health information is described by this object." + } + } + }, + "NodeHealthEvaluation": { + "x-ms-discriminator-value": "Node", + "description": "Represents health evaluation for a node, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the node. The types of the unhealthy evaluations can be EventHealthEvaluation." + } + } + }, + "NodeHealthState": { + "description": "Represents the health state of a node, which contains the node identifier and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "Id": { + "$ref": "#/definitions/NodeId", + "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name." + } + } + }, + "NodeHealthStateChunk": { + "description": "Represents the health state chunk of a node, which contains the node name and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + } + } + }, + "NodeHealthStateChunkList": { + "description": "The list of node health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunkList" + } + ], + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeHealthStateChunk" + }, + "description": "The list of node health state chunks that respect the input filters in the chunk query." + } + } + }, + "NodeHealthStateFilter": { + "description": "Defines matching criteria to determine whether a node should be included in the returned cluster health chunk.\nOne filter can match zero, one or multiple nodes, depending on its properties.\nCan be specified in the cluster health chunk query description.", + "properties": { + "NodeNameFilter": { + "type": "string", + "description": "Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.\nIf the node doesn't exist, no node is returned in the cluster health chunk based on this filter.\nIf the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.\nIf not specified, all nodes that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only nodes that match the filter are returned. All nodes are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching node is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + } + } + }, + "NodeId": { + "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.", + "properties": { + "Id": { + "type": "string", + "description": "Value of the node Id. This is a 128 bit integer." + } + } + }, + "NodeIdList": { + "description": "A list of NodeIds.", + "type": "array", + "items": { + "$ref": "#/definitions/NodeId" + } + }, + "NodeInfo": { + "description": "Information about a node in Service Fabric cluster.", + "properties": { + "Name": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "The IP address or fully qualified domain name of the node." + }, + "Type": { + "type": "string", + "description": "The type of the node." + }, + "CodeVersion": { + "type": "string", + "description": "The version of Service Fabric binaries that the node is running." + }, + "ConfigVersion": { + "type": "string", + "description": "The version of Service Fabric cluster manifest that the node is using." + }, + "NodeStatus": { + "$ref": "#/definitions/NodeStatus", + "description": "The status of the node." + }, + "NodeUpTimeInSeconds": { + "type": "string", + "description": "Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if the node is a seed node or not. Returns true if the node is a seed node, otherwise false. A quorum of seed nodes are required for proper operation of Service Fabric cluster." + }, + "UpgradeDomain": { + "type": "string", + "description": "The upgrade domain of the node." + }, + "FaultDomain": { + "type": "string", + "description": "The fault domain of the node." + }, + "Id": { + "$ref": "#/definitions/NodeId", + "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name." + }, + "InstanceId": { + "type": "string", + "description": "The ID representing the node instance. While the ID of the node is deterministically generated from the node name and remains same across restarts, the InstanceId changes every time node restarts." + }, + "NodeDeactivationInfo": { + "$ref": "#/definitions/NodeDeactivationInfo", + "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated." + }, + "IsStopped": { + "type": "boolean", + "description": "Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false." + }, + "NodeDownTimeInSeconds": { + "type": "string", + "description": "Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down." + }, + "NodeUpAt": { + "type": "string", + "format": "date-time", + "description": "Date time in UTC when the node came up. If the node has never been up then this value will be zero date time." + }, + "NodeDownAt": { + "type": "string", + "format": "date-time", + "description": "Date time in UTC when the node went down. If node has never been down then this value will be zero date time." + }, + "NodeTags": { + "$ref": "#/definitions/NodeTagsList", + "description": "List that contains tags, which will be applied to the nodes." + }, + "IsNodeByNodeUpgradeInProgress": { + "type": "boolean", + "description": "Indicates if a node-by-node upgrade is currently being performed on this node." + }, + "InfrastructurePlacementID": { + "type": "string", + "description": "PlacementID used by the InfrastructureService." + } + } + }, + "NodeLoadInfo": { + "description": "Information about load on a Service Fabric node. It holds a summary of all metrics and their load on a node.", + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "Name of the node for which the load information is provided by this object." + }, + "NodeLoadMetricInformation": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeLoadMetricInformation" + }, + "description": "List that contains metrics and their load information on this node." + } + } + }, + "NodeLoadMetricInformation": { + "description": "Represents data structure that contains load information for a certain metric on a node.", + "properties": { + "Name": { + "type": "string", + "description": "Name of the metric for which this load information is provided." + }, + "NodeCapacity": { + "type": "string", + "description": "Total capacity on the node for this metric." + }, + "NodeLoad": { + "type": "string", + "description": "Current load on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentNodeLoad." + }, + "NodeRemainingCapacity": { + "type": "string", + "description": "The remaining capacity on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of NodeCapacityRemaining." + }, + "IsCapacityViolation": { + "type": "boolean", + "description": "Indicates if there is a capacity violation for this metric on the node." + }, + "NodeBufferedCapacity": { + "type": "string", + "description": "The value that indicates the reserved capacity for this metric on the node." + }, + "NodeRemainingBufferedCapacity": { + "type": "string", + "description": "The remaining reserved capacity for this metric on the node. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedNodeCapacityRemaining." + }, + "CurrentNodeLoad": { + "type": "string", + "format": "double", + "description": "Current load on the node for this metric." + }, + "NodeCapacityRemaining": { + "type": "string", + "format": "double", + "description": "The remaining capacity on the node for the metric." + }, + "BufferedNodeCapacityRemaining": { + "type": "string", + "format": "double", + "description": "The remaining capacity which is not reserved by NodeBufferPercentage for this metric on the node." + }, + "PlannedNodeLoadRemoval": { + "type": "string", + "format": "double", + "description": "This value represents the load of the replicas that are planned to be removed in the future.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node." + } + } + }, + "NodeName": { + "type": "string", + "description": "The name of a Service Fabric node." + }, + "NodeType": { + "type": "string", + "description": "The type name of a Service Fabric node.\nRefer to the article [The relationship between Service Fabric node types and Virtual Machine Scale Sets](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-nodetypes) for more details." + }, + "NodeTypeName": { + "type": "string", + "description": "The node type name as defined in the cluster manifest." + }, + "NodesHealthEvaluation": { + "x-ms-discriminator-value": "Nodes", + "description": "Represents health evaluation for nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes found in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "NodeStatus": { + "type": "string", + "description": "The status of the node.", + "enum": [ + "Invalid", + "Up", + "Down", + "Enabling", + "Disabling", + "Disabled", + "Unknown", + "Removed" + ], + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the node status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Up", + "description": "Indicates the node is up. The value is 1." + }, + { + "value": "Down", + "description": "Indicates the node is down. The value is 2." + }, + { + "value": "Enabling", + "description": "Indicates the node is in process of being enabled. The value is 3." + }, + { + "value": "Disabling", + "description": "Indicates the node is in the process of being disabled. The value is 4." + }, + { + "value": "Disabled", + "description": "Indicates the node is disabled. The value is 5." + }, + { + "value": "Unknown", + "description": "Indicates the node is unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime.The value is 6." + }, + { + "value": "Removed", + "description": "Indicates the node is removed. A node would be in Removed state if NodeStateRemoved API has been called for this node. In other words, Service Fabric has been informed that the persisted state on the node has been permanently lost. The value is 7." + } + ] + } + }, + "NodeUpgradeDurationString": { + "type": "string", + "description": "The estimated time spent processing the node since it was deactivated during a node-by-node upgrade." + }, + "NodeUpgradePhase": { + "type": "string", + "description": "The state of the upgrading node.", + "enum": [ + "Invalid", + "PreUpgradeSafetyCheck", + "Upgrading", + "PostUpgradeSafetyCheck" + ], + "x-ms-enum": { + "name": "NodeUpgradePhase", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "PreUpgradeSafetyCheck", + "description": "The upgrade has not started yet due to pending safety checks. The value is 1" + }, + { + "value": "Upgrading", + "description": "The upgrade is in progress. The value is 2" + }, + { + "value": "PostUpgradeSafetyCheck", + "description": "The upgrade has completed and post upgrade safety checks are being performed. The value is 3" + } + ] + } + }, + "NodeUpgradeProgressInfo": { + "description": "Information about the upgrading node and its status", + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "UpgradePhase": { + "$ref": "#/definitions/NodeUpgradePhase", + "description": "The state of the upgrading node." + }, + "PendingSafetyChecks": { + "$ref": "#/definitions/SafetyCheckInfoList", + "description": "List of pending safety checks" + }, + "UpgradeDuration": { + "$ref": "#/definitions/NodeUpgradeDurationString", + "description": "The estimated time spent processing the node since it was deactivated during a node-by-node upgrade." + } + } + }, + "NodeUpgradeProgressInfoList": { + "type": "array", + "description": "List of upgrading nodes and their statuses", + "items": { + "$ref": "#/definitions/NodeUpgradeProgressInfo" + } + }, + "PagedApplicationInfoList": { + "description": "The list of applications in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of application information.", + "items": { + "$ref": "#/definitions/ApplicationInfo" + } + } + } + }, + "PagedDeployedApplicationInfoList": { + "description": "The list of deployed applications in activating, downloading, or active states on a node.\nThe list is paged when all of the results cannot fit in a single message.\nThe next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of deployed application information.", + "items": { + "$ref": "#/definitions/DeployedApplicationInfo" + } + } + } + }, + "PagedNodeInfoList": { + "description": "The list of nodes in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of node information.", + "items": { + "$ref": "#/definitions/NodeInfo" + } + } + } + }, + "PagedServicePartitionInfoList": { + "description": "The list of partition in the cluster for a service. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of service partition information.", + "items": { + "$ref": "#/definitions/ServicePartitionInfo" + } + } + } + }, + "PagedReplicaInfoList": { + "description": "The list of replicas in the cluster for a given partition. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of replica information.", + "items": { + "$ref": "#/definitions/ReplicaInfo" + } + } + } + }, + "PagedServiceInfoList": { + "description": "The list of services in the cluster for an application. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of service information.", + "items": { + "$ref": "#/definitions/ServiceInfo" + } + } + } + }, + "PartitionAnalysisEvent": { + "description": "Represents the base for all Partition Analysis Events.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "Metadata": { + "$ref": "#/definitions/AnalysisEventMetadata", + "description": "Metadata about an Analysis Event." + } + }, + "required": [ + "Metadata" + ], + "x-ms-discriminator-value": "PartitionAnalysisEvent" + }, + "PartitionEvent": { + "description": "Represents the base for all Partition Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + }, + "required": [ + "PartitionId" + ], + "x-ms-discriminator-value": "PartitionEvent" + }, + "PartitionEventList": { + "description": "A list of PartitionEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/PartitionEvent" + } + }, + "PartitionHealth": { + "description": "Information about the health of a Service Fabric partition.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "ID of the partition whose health information is described by this object." + }, + "ReplicaHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaHealthState" + }, + "description": "The list of replica health states associated with the partition." + } + } + }, + "PartitionHealthEvaluation": { + "x-ms-discriminator-value": "Partition", + "description": "Represents health evaluation for a partition, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition whose health evaluation is described by this object." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the partition. The types of the unhealthy evaluations can be ReplicasHealthEvaluation or EventHealthEvaluation." + } + } + }, + "PartitionHealthState": { + "description": "Represents the health state of a partition, which contains the partition identifier and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition whose health state is described by this object." + } + } + }, + "PartitionHealthStateChunk": { + "description": "Represents the health state chunk of a partition, which contains the partition ID, its aggregated health state and any replicas that respect the filters in the cluster health chunk query description.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The Id of the partition." + }, + "ReplicaHealthStateChunks": { + "$ref": "#/definitions/ReplicaHealthStateChunkList", + "description": "The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description." + } + } + }, + "PartitionHealthStateChunkList": { + "description": "The list of partition health state chunks that respect the input filters in the chunk query description.\nReturned by get cluster health state chunks query as part of the parent application hierarchy.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionHealthStateChunk" + }, + "description": "The list of partition health state chunks that respect the input filters in the chunk query." + } + } + }, + "PartitionHealthStateFilter": { + "description": "Defines matching criteria to determine whether a partition should be included as a child of a service in the cluster health chunk.\nThe partitions are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple partitions, depending on its properties.", + "properties": { + "PartitionIdFilter": { + "type": "string", + "format": "uuid", + "description": "ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.\nIf the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.\nIf the partition exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all partitions that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only partitions that match the filter are returned. All partitions are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the partition ID is specified. If the filter has default value and partition ID is specified, the matching partition is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "ReplicaFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaHealthStateFilter" + }, + "description": "Defines a list of filters that specify which replicas to be included in the returned cluster health chunk as children of the parent partition. The replicas are returned only if the parent partition matches a filter.\nIf the list is empty, no replicas are returned. All the replicas are used to evaluate the parent partition aggregated health state, regardless of the input filters.\nThe partition filter may specify multiple replica filters.\nFor example, it can specify a filter to return all replicas with health state Error and another filter to always include a replica identified by its replica id." + } + } + }, + "PartitionId": { + "type": "string", + "format": "uuid", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "PartitionInformation": { + "discriminator": "ServicePartitionKind", + "description": "Information about the partition identity, partitioning scheme and keys supported by it.", + "required": [ + "ServicePartitionKind" + ], + "properties": { + "ServicePartitionKind": { + "$ref": "#/definitions/ServicePartitionKind", + "description": "The kind of partitioning scheme used to partition the service." + }, + "Id": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + } + }, + "ProvisionFabricDescription": { + "description": "Describes the parameters for provisioning a cluster.", + "properties": { + "CodeFilePath": { + "type": "string", + "description": "The cluster code package file path." + }, + "ClusterManifestFilePath": { + "type": "string", + "description": "The cluster manifest file path." + } + } + }, + "ProvisionApplicationTypeKind": { + "type": "string", + "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision.", + "enum": [ + "Invalid", + "ImageStorePath", + "ExternalStore" + ], + "x-ms-enum": { + "name": "ProvisionApplicationTypeKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the provision kind is invalid. This value is default and should not be used. The value is zero." + }, + { + "value": "ImageStorePath", + "description": "Indicates that the provision is for a package that was previously uploaded to the image store. The value is 1." + }, + { + "value": "ExternalStore", + "description": "Indicates that the provision is for an application package that was previously uploaded to an external store. The application package ends with the extension *.sfpkg. The value is 2." + } + ] + } + }, + "ProvisionApplicationTypeDescriptionBase": { + "discriminator": "Kind", + "description": "Represents the type of registration or provision requested, and if the operation needs to be asynchronous or not. Supported types of provision operations are from either image store or external store.", + "properties": { + "Kind": { + "$ref": "#/definitions/ProvisionApplicationTypeKind", + "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision." + }, + "Async": { + "type": "boolean", + "description": "Indicates whether or not provisioning should occur asynchronously. When set to true, the provision operation returns when the request is accepted by the system, and the provision operation continues without any timeout limit. The default value is false. For large application packages, we recommend setting the value to true." + } + }, + "required": [ + "Kind", + "Async" + ] + }, + "ProvisionApplicationTypeDescription": { + "description": "Describes the operation to register or provision an application type using an application package uploaded to the Service Fabric image store.", + "required": [ + "ApplicationTypeBuildPath" + ], + "allOf": [ + { + "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase" + } + ], + "properties": { + "ApplicationTypeBuildPath": { + "description": "The relative path for the application package in the image store specified during the prior upload operation.", + "type": "string" + }, + "ApplicationPackageCleanupPolicy": { + "$ref": "#/definitions/ApplicationPackageCleanupPolicy", + "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision." + } + }, + "x-ms-discriminator-value": "ImageStorePath" + }, + "ExternalStoreProvisionApplicationTypeDescription": { + "description": "Describes the operation to register or provision an application type using an application package from an external store instead of a package uploaded to the Service Fabric image store.", + "allOf": [ + { + "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase" + } + ], + "properties": { + "ApplicationPackageDownloadUri": { + "description": "The path to the '.sfpkg' application package from where the application package can be downloaded using HTTP or HTTPS protocols. The application package can be stored in an external store that provides GET operation to download the file. Supported protocols are HTTP and HTTPS, and the path must allow READ access.", + "type": "string" + }, + "ApplicationTypeName": { + "description": "The application type name represents the name of the application type found in the application manifest.", + "type": "string" + }, + "ApplicationTypeVersion": { + "description": "The application type version represents the version of the application type found in the application manifest.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExternalStore", + "required": [ + "ApplicationPackageDownloadUri", + "ApplicationTypeName", + "ApplicationTypeVersion" + ] + }, + "UnprovisionFabricDescription": { + "description": "Describes the parameters for unprovisioning a cluster.", + "properties": { + "CodeVersion": { + "type": "string", + "description": "The cluster code package version." + }, + "ConfigVersion": { + "type": "string", + "description": "The cluster manifest version." + } + } + }, + "ResumeClusterUpgradeDescription": { + "description": "Describes the parameters for resuming a cluster upgrade.", + "properties": { + "UpgradeDomain": { + "type": "string", + "description": "The next upgrade domain for this cluster upgrade." + } + }, + "required": [ + "UpgradeDomain" + ] + }, + "StartClusterUpgradeDescription": { + "description": "Describes the parameters for starting a cluster upgrade.", + "properties": { + "CodeVersion": { + "type": "string", + "description": "The cluster code version." + }, + "ConfigVersion": { + "type": "string", + "description": "The cluster configuration version." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + }, + "ForceRestart": { + "$ref": "#/definitions/ForceRestart", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "SortOrder": { + "$ref": "#/definitions/UpgradeSortOrder", + "description": "Defines the order in which an upgrade proceeds through the cluster." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "EnableDeltaHealthEvaluation": { + "type": "boolean", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "ClusterUpgradeHealthPolicy": { + "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject", + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade." + }, + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + }, + "InstanceCloseDelayDurationInSeconds": { + "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description." + } + } + }, + "UpdateClusterUpgradeDescription": { + "description": "Parameters for updating a cluster upgrade.", + "properties": { + "UpgradeKind": { + "$ref": "#/definitions/UpgradeType", + "description": "The type of upgrade out of the following possible values." + }, + "UpdateDescription": { + "$ref": "#/definitions/RollingUpgradeUpdateDescription", + "description": "Describes the parameters for updating a rolling upgrade of application or cluster." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "EnableDeltaHealthEvaluation": { + "$ref": "#/definitions/DeltaHealthEvaluationBool", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "ClusterUpgradeHealthPolicy": { + "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject", + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade." + }, + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + } + } + }, + "SafetyCheckKind": { + "type": "string", + "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks.", + "enum": [ + "Invalid", + "EnsureSeedNodeQuorum", + "EnsurePartitionQuorum", + "WaitForPrimaryPlacement", + "WaitForPrimarySwap", + "WaitForReconfiguration", + "WaitForInbuildReplica", + "EnsureAvailability" + ], + "x-ms-enum": { + "name": "SafetyCheckKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the upgrade safety check kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "EnsureSeedNodeQuorum", + "description": "Indicates that if we bring down the node then this will result in global seed node quorum loss. The value is 1." + }, + { + "value": "EnsurePartitionQuorum", + "description": "Indicates that there is some partition for which if we bring down the replica on the node, it will result in quorum loss for that partition. The value is 2." + }, + { + "value": "WaitForPrimaryPlacement", + "description": "Indicates that there is some replica on the node that was moved out of this node due to upgrade. Service Fabric is now waiting for the primary to be moved back to this node. The value is 3." + }, + { + "value": "WaitForPrimarySwap", + "description": "Indicates that Service Fabric is waiting for a primary replica to be moved out of the node before starting upgrade on that node. The value is 4." + }, + { + "value": "WaitForReconfiguration", + "description": "Indicates that there is some replica on the node that is involved in a reconfiguration. Service Fabric is waiting for the reconfiguration to be complete before staring upgrade on that node. The value is 5." + }, + { + "value": "WaitForInbuildReplica", + "description": "Indicates that there is either a replica on the node that is going through copy, or there is a primary replica on the node that is copying data to some other replica. In both cases, bringing down the replica on the node due to upgrade will abort the copy. The value is 6." + }, + { + "value": "EnsureAvailability", + "description": "Indicates that there is either a stateless service partition on the node having exactly one instance, or there is a primary replica on the node for which the partition is quorum loss. In both cases, bringing down the replicas due to upgrade will result in loss of availability. The value is 7." + } + ] + } + }, + "SafetyCheck": { + "discriminator": "Kind", + "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.", + "properties": { + "Kind": { + "$ref": "#/definitions/SafetyCheckKind", + "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks." + } + }, + "required": [ + "Kind" + ] + }, + "PartitionSafetyCheck": { + "description": "Represents a safety check for the service partition being performed by service fabric before continuing with operations.", + "allOf": [ + { + "$ref": "#/definitions/SafetyCheck" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition which is undergoing the safety check." + } + } + }, + "EnsureAvailabilitySafetyCheck": { + "description": "Safety check that waits to ensure the availability of the partition. It waits until there are replicas available such that bringing down this replica will not cause availability loss for the partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "EnsureAvailability" + }, + "EnsurePartitionQuorumSafetyCheck": { + "description": "Safety check that ensures that a quorum of replicas are not lost for a partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "EnsurePartitionQuorum" + }, + "SeedNodeSafetyCheck": { + "description": "Represents a safety check for the seed nodes being performed by service fabric before continuing with node level operations.", + "allOf": [ + { + "$ref": "#/definitions/SafetyCheck" + } + ], + "x-ms-discriminator-value": "EnsureSeedNodeQuorum" + }, + "PartitionsHealthEvaluation": { + "x-ms-discriminator-value": "Partitions", + "description": "Represents health evaluation for the partitions of a service, containing health evaluations for each unhealthy partition that impacts current aggregated health state. Can be returned when evaluating service health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyPartitionsPerService": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of partitions of the service from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health." + } + } + }, + "ReplicaEvent": { + "description": "Represents the base for all Replica Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "ReplicaId": { + "$ref": "#/definitions/ReplicaId_Integer", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + }, + "required": [ + "PartitionId", + "ReplicaId" + ], + "x-ms-discriminator-value": "ReplicaEvent" + }, + "ReplicaEventList": { + "description": "A list of ReplicaEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaEvent" + } + }, + "ReplicaHealth": { + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "discriminator": "ServiceKind", + "description": "Represents a base class for stateful service replica or stateless service instance health.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.", + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition to which this replica belongs." + } + }, + "required": [ + "ServiceKind" + ] + }, + "ReplicaHealthEvaluation": { + "x-ms-discriminator-value": "Replica", + "description": "Represents health evaluation for a replica, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition to which the replica belongs." + }, + "ReplicaOrInstanceId": { + "$ref": "#/definitions/ReplicaOrInstanceId", + "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the replica. The types of the unhealthy evaluations can be EventHealthEvaluation." + } + } + }, + "ReplicaHealthState": { + "discriminator": "ServiceKind", + "required": [ + "ServiceKind" + ], + "description": "Represents a base class for stateful service replica or stateless service instance health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The ID of the partition to which this replica belongs." + } + } + }, + "ReplicaHealthStateChunk": { + "description": "Represents the health state chunk of a stateful service replica or a stateless service instance.\nThe replica health state contains the replica ID and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ReplicaOrInstanceId": { + "$ref": "#/definitions/ReplicaOrInstanceId", + "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID." + } + } + }, + "ReplicaHealthStateChunkList": { + "description": "The list of replica health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaHealthStateChunk" + }, + "description": "The list of replica health state chunks that respect the input filters in the chunk query." + } + } + }, + "ReplicaHealthStateFilter": { + "description": "Defines matching criteria to determine whether a replica should be included as a child of a partition in the cluster health chunk.\nThe replicas are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent partition, service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple replicas, depending on its properties.", + "properties": { + "ReplicaOrInstanceIdFilter": { + "type": "string", + "description": "Id of the stateful service replica or stateless service instance that matches the filter. The filter is applied only to the specified replica, if it exists.\nIf the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.\nIf the replica exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all replicas that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only replicas that match the filter are returned. All replicas are used to evaluate the parent partition aggregated health state.\nIf not specified, default value is None, unless the replica ID is specified. If the filter has default value and replica ID is specified, the matching replica is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + } + } + }, + "ReplicaId": { + "type": "string", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "ReplicaId_Integer": { + "type": "integer", + "format": "int64", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "ReplicaOrInstanceId": { + "type": "string", + "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID." + }, + "ReplicaInfo": { + "discriminator": "ServiceKind", + "description": "Information about the identity, status, health, node name, uptime, and other details about the replica.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "ReplicaStatus": { + "$ref": "#/definitions/ReplicaStatus", + "description": "The status of a replica of a service." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "Address": { + "type": "string", + "description": "The address the replica is listening on." + }, + "LastInBuildDurationInSeconds": { + "type": "string", + "description": "The last in build duration of the replica in seconds." + } + } + }, + "ReplicaRole": { + "type": "string", + "description": "The role of a replica of a stateful service.", + "enum": [ + "Unknown", + "None", + "Primary", + "IdleSecondary", + "ActiveSecondary", + "IdleAuxiliary", + "ActiveAuxiliary", + "PrimaryAuxiliary" + ], + "x-ms-enum": { + "name": "ReplicaRole", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the initial role that a replica is created in. The value is zero." + }, + { + "value": "None", + "description": "Specifies that the replica has no responsibility in regard to the replica set. The value is 1" + }, + { + "value": "Primary", + "description": "Refers to the replica in the set on which all read and write operations are complete in order to enforce strong consistency semantics. Read operations are handled directly by the Primary replica, while write operations must be acknowledged by a quorum of the replicas in the replica set. There can only be one Primary replica in a replica set at a time. The value is 2." + }, + { + "value": "IdleSecondary", + "description": "Refers to a replica in the set that receives a state transfer from the Primary replica to prepare for becoming an active Secondary replica. There can be multiple Idle Secondary replicas in a replica set at a time. Idle Secondary replicas do not count as a part of a write quorum. The value is 3." + }, + { + "value": "ActiveSecondary", + "description": "Refers to a replica in the set that receives state updates from the Primary replica, applies them, and sends acknowledgements back. Secondary replicas must participate in the write quorum for a replica set. There can be multiple active Secondary replicas in a replica set at a time. The number of active Secondary replicas is configurable that the reliability subsystem should maintain. The value is 4." + }, + { + "value": "IdleAuxiliary", + "description": "Refers to a replica in the set that receives a state transfer from the Primary replica to prepare for becoming an ActiveAuxiliary replica. There can be multiple IdleAuxiliary replicas in a replica set at a time. IdleAuxiliary replicas do not count as a part of a write quorum. The value is 5." + }, + { + "value": "ActiveAuxiliary", + "description": "Refers to a replica in the set that receives state updates from the Primary replica, applies them, and sends acknowledgements back. ActiveAuxiliary replicas must participate in the write quorum for a replica set. There can be multiple active ActiveAuxiliary replicas in a replica set at a time. The number of active ActiveAuxiliary replicas is configurable that the reliability subsystem should maintain. The value is 6." + }, + { + "value": "PrimaryAuxiliary", + "description": "Refers to the replica in the set that is used to rebuild a new Secondary replica to relinquish primary status to. It cannot field read or write requests. The value is 7." + } + ] + } + }, + "ReplicasHealthEvaluation": { + "x-ms-discriminator-value": "Replicas", + "description": "Represents health evaluation for replicas, containing health evaluations for each unhealthy replica that impacted current aggregated health state. Can be returned when evaluating partition health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "MaxPercentUnhealthyReplicasPerPartition": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of replicas in the partition from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health." + } + } + }, + "ReplicaStatus": { + "type": "string", + "description": "The status of a replica of a service.", + "enum": [ + "Invalid", + "InBuild", + "Standby", + "Ready", + "Down", + "Dropped" + ], + "x-ms-enum": { + "name": "ReplicaStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the replica status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "InBuild", + "description": "The replica is being built. This means that a primary replica is seeding this replica. The value is 1." + }, + { + "value": "Standby", + "description": "The replica is in standby. The value is 2." + }, + { + "value": "Ready", + "description": "The replica is ready. The value is 3." + }, + { + "value": "Down", + "description": "The replica is down. The value is 4." + }, + { + "value": "Dropped", + "description": "Replica is dropped. This means that the replica has been removed from the replica set. If it is persisted, its state has been deleted. The value is 5." + } + ] + } + }, + "RestartNodeDescription": { + "description": "Describes the parameters to restart a Service Fabric node.", + "properties": { + "NodeInstanceId": { + "type": "string", + "description": "The instance ID of the target node. If instance ID is specified the node is restarted only if it matches with the current instance of the node. A default value of \"0\" would match any instance ID. The instance ID can be obtained using get node query.", + "default": "0" + }, + "CreateFabricDump": { + "type": "string", + "description": "Specify True to create a dump of the fabric node process. This is case-sensitive.", + "enum": [ + "False", + "True" + ], + "default": "False", + "x-ms-enum": { + "name": "CreateFabricDump", + "modelAsString": true, + "values": [ + { + "value": "False" + }, + { + "value": "True" + } + ] + } + } + }, + "required": [ + "NodeInstanceId" + ] + }, + "SafetyCheckInfoList": { + "type": "array", + "description": "List of pending safety checks", + "items": { + "$ref": "#/definitions/SafetyCheckWrapper" + } + }, + "SafetyCheckWrapper": { + "description": "A wrapper for the safety check object. Safety checks are performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.", + "properties": { + "SafetyCheck": { + "$ref": "#/definitions/SafetyCheck", + "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state." + } + } + }, + "ServiceEvent": { + "description": "Represents the base for all Service Events.", + "allOf": [ + { + "$ref": "#/definitions/FabricEvent" + } + ], + "properties": { + "ServiceId": { + "$ref": "#/definitions/ServiceId", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + } + }, + "required": [ + "ServiceId" + ], + "x-ms-discriminator-value": "ServiceEvent" + }, + "ServiceEventList": { + "description": "A list of ServiceEvent objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEvent" + } + }, + "ServiceFromTemplateDescription": { + "description": "Defines description for creating a Service Fabric service from a template defined in the application manifest.", + "required": [ + "ApplicationName", + "ServiceName", + "ServiceTypeName" + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "InitializationData": { + "$ref": "#/definitions/ByteArray", + "description": "The initialization data for the newly created service instance." + }, + "ServicePackageActivationMode": { + "$ref": "#/definitions/ServicePackageActivationMode", + "description": "The activation mode of service package to be used for a service." + }, + "ServiceDnsName": { + "type": "string", + "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster." + } + } + }, + "ServiceHealthEvaluation": { + "x-ms-discriminator-value": "Service", + "description": "Represents health evaluation for a service, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "Name of the service whose health evaluation is described by this object." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the service. The types of the unhealthy evaluations can be PartitionsHealthEvaluation or EventHealthEvaluation." + } + } + }, + "ServiceHealthState": { + "description": "Represents the health state of a service, which contains the service identifier and its aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthState" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "Name of the service whose health state is represented by this object." + } + } + }, + "ServiceHealthStateChunk": { + "description": "Represents the health state chunk of a service, which contains the service name, its aggregated health state and any partitions that respect the filters in the cluster health chunk query description.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealthStateChunk" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service whose health state chunk is provided in this object." + }, + "PartitionHealthStateChunks": { + "$ref": "#/definitions/PartitionHealthStateChunkList", + "description": "The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description." + } + } + }, + "ServiceHealthStateChunkList": { + "description": "The list of service health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceHealthStateChunk" + }, + "description": "The list of service health state chunks that respect the input filters in the chunk query." + } + } + }, + "ServiceHealthStateFilter": { + "description": "Defines matching criteria to determine whether a service should be included as a child of an application in the cluster health chunk.\nThe services are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple services, depending on its properties.", + "properties": { + "ServiceNameFilter": { + "type": "string", + "description": "The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.\nIf the service doesn't exist, no service is returned in the cluster health chunk based on this filter.\nIf the service exists, it is included as the application's child if the health state matches the other filter properties.\nIf not specified, all services that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter." + }, + "HealthStateFilter": { + "type": "integer", + "default": 0, + "description": "The filter for the health state of the services. It allows selecting services if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only services that match the filter are returned. All services are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the service name is specified. If the filter has default value and service name is specified, the matching service is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535." + }, + "PartitionFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionHealthStateFilter" + }, + "description": "Defines a list of filters that specify which partitions to be included in the returned cluster health chunk as children of the service. The partitions are returned only if the parent service matches a filter.\nIf the list is empty, no partitions are returned. All the partitions are used to evaluate the parent service aggregated health state, regardless of the input filters.\nThe service filter may specify multiple partition filters.\nFor example, it can specify a filter to return all partitions with health state Error and another filter to always include a partition identified by its partition ID." + } + } + }, + "ServiceHealth": { + "description": "Information about the health of a Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/EntityHealth" + } + ], + "properties": { + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service whose health information is described by this object." + }, + "PartitionHealthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionHealthState" + }, + "description": "The list of partition health states associated with the service." + } + } + }, + "ServiceId": { + "type": "string", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "ServiceName": { + "type": "string", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceManifestName": { + "type": "string", + "description": "The name of the service manifest." + }, + "ServiceTypeName": { + "type": "string", + "description": "Name of the service type as specified in the service manifest." + }, + "ServiceInfo": { + "discriminator": "ServiceKind", + "description": "Information about a Service Fabric service.", + "properties": { + "Id": { + "$ref": "#/definitions/ServiceId", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "ManifestVersion": { + "description": "The version of the service manifest.", + "type": "string" + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "ServiceStatus": { + "$ref": "#/definitions/ServiceStatus", + "description": "The status of the application." + }, + "IsServiceGroup": { + "description": "Whether the service is in a service group.", + "type": "boolean" + } + }, + "required": [ + "ServiceKind" + ] + }, + "ServiceKind": { + "type": "string", + "description": "The kind of service (Stateless or Stateful).", + "enum": [ + "Invalid", + "Stateless", + "Stateful" + ], + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the service kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Stateless", + "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1." + }, + { + "value": "Stateful", + "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2." + } + ] + } + }, + "ServiceNameInfo": { + "description": "Information about the service name.", + "properties": { + "Id": { + "$ref": "#/definitions/ServiceId", + "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + } + } + }, + "ServicePackageActivationId": { + "type": "string", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "ServicePartitionInfo": { + "discriminator": "ServiceKind", + "description": "Information about a partition of a Service Fabric service.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "HealthState": { + "$ref": "#/definitions/HealthState", + "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc." + }, + "PartitionStatus": { + "$ref": "#/definitions/ServicePartitionStatus", + "description": "The status of the service fabric service partition." + }, + "PartitionInformation": { + "$ref": "#/definitions/PartitionInformation", + "description": "Information about the partition identity, partitioning scheme and keys supported by it." + } + } + }, + "ServicePartitionKind": { + "type": "string", + "description": "The kind of partitioning scheme used to partition the service.", + "enum": [ + "Invalid", + "Singleton", + "Int64Range", + "Named" + ], + "x-ms-enum": { + "name": "ServicePartitionKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Singleton", + "description": "Indicates that there is only one partition, and SingletonPartitionSchemeDescription was specified while creating the service. The value is 1." + }, + { + "value": "Int64Range", + "description": "Indicates that the partition is based on Int64 key ranges, and UniformInt64RangePartitionSchemeDescription was specified while creating the service. The value is 2." + }, + { + "value": "Named", + "description": "Indicates that the partition is based on string names, and NamedPartitionInformation was specified while creating the service. The value is 3." + } + ] + } + }, + "ServicePartitionStatus": { + "type": "string", + "description": "The status of the service fabric service partition.", + "enum": [ + "Invalid", + "Ready", + "NotReady", + "InQuorumLoss", + "Reconfiguring", + "Deleting" + ], + "x-ms-enum": { + "name": "ServicePartitionStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the partition status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Ready", + "description": "Indicates that the partition is ready. This means that for a stateless service partition there is at least one instance that is up and for a stateful service partition the number of ready replicas is greater than or equal to the MinReplicaSetSize. The value is 1." + }, + { + "value": "NotReady", + "description": "Indicates that the partition is not ready. This status is returned when none of the other states apply. The value is 2." + }, + { + "value": "InQuorumLoss", + "description": "Indicates that the partition is in quorum loss. This means that number of replicas that are up and participating in a replica set is less than MinReplicaSetSize for this partition. The value is 3." + }, + { + "value": "Reconfiguring", + "description": "Indicates that the partition is undergoing reconfiguration of its replica sets. This can happen due to failover, upgrade, load balancing or addition or removal of replicas from the replica set. The value is 4." + }, + { + "value": "Deleting", + "description": "Indicates that the partition is being deleted. The value is 5." + } + ] + } + }, + "ServicePlacementInvalidDomainPolicyDescription": { + "x-ms-discriminator-value": "InvalidDomain", + "description": "Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should not be used for placement." + } + } + }, + "ServicePlacementNonPartiallyPlaceServicePolicyDescription": { + "x-ms-discriminator-value": "NonPartiallyPlaceService", + "description": "Describes the policy to be used for placement of a Service Fabric service where all replicas must be able to be placed in order for any replicas to be created.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ] + }, + "ServicePlacementAllowMultipleStatelessInstancesOnNodePolicyDescription": { + "x-ms-discriminator-value": "AllowMultipleStatelessInstancesOnNode", + "description": "Describes the policy to be used for placement of a Service Fabric service allowing multiple stateless instances of a partition of the service to be placed on a node.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "Holdover from other policy descriptions, not used for this policy, values are ignored by runtime. Keeping it for any backwards-compatibility with clients." + } + } + }, + "ServicePlacementPolicyDescription": { + "discriminator": "Type", + "description": "Describes the policy to be used for placement of a Service Fabric service.", + "required": [ + "Type" + ], + "properties": { + "Type": { + "$ref": "#/definitions/ServicePlacementPolicyType", + "description": "The type of placement policy for a service fabric service. Following are the possible values." + } + } + }, + "ServicePlacementPolicyDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + }, + "description": "List of service placement policy descriptions." + }, + "ServicePlacementPolicyType": { + "type": "string", + "description": "The type of placement policy for a service fabric service. Following are the possible values.", + "enum": [ + "Invalid", + "InvalidDomain", + "RequireDomain", + "PreferPrimaryDomain", + "RequireDomainDistribution", + "NonPartiallyPlaceService", + "AllowMultipleStatelessInstancesOnNode" + ], + "x-ms-enum": { + "name": "ServicePlacementPolicyType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the type of the placement policy is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "InvalidDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade domain cannot be used for placement of this service. The value is 1." + }, + { + "value": "RequireDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service must be placed in a specific domain. The value is 2." + }, + { + "value": "PreferPrimaryDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the Primary replica for the partitions of the service should be located in a particular domain as an optimization. The value is 3." + }, + { + "value": "RequireDomainDistribution", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, indicating that the system will disallow placement of any two replicas from the same partition in the same domain at any time. The value is 4." + }, + { + "value": "NonPartiallyPlaceService", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible all replicas of a particular partition of the service should be placed atomically. The value is 5." + }, + { + "value": "AllowMultipleStatelessInstancesOnNode", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementAllowMultipleStatelessInstancesOnNodePolicyDescription, which indicates that multiple stateless instances of a particular partition of the service can be placed on a node. The value is 6." + } + ] + } + }, + "ServicePlacementPreferPrimaryDomainPolicyDescription": { + "x-ms-discriminator-value": "PreferPrimaryDomain", + "description": "Describes the policy to be used for placement of a Service Fabric service where the service's Primary replicas should optimally be placed in a particular domain.\n\nThis placement policy is usually used with fault domains in scenarios where the Service Fabric cluster is geographically distributed in order to indicate that a service's primary replica should be located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica may not end up located in this domain due to failures, capacity limits, or other constraints.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequiredDomainPolicyDescription": { + "x-ms-discriminator-value": "RequireDomain", + "description": "Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequireDomainDistributionPolicyDescription": { + "x-ms-discriminator-value": "RequireDomainDistribution", + "description": "Describes the policy to be used for placement of a Service Fabric service where two replicas from the same partition should never be placed in the same fault or upgrade domain.\n\nWhile this is not common it can expose the service to an increased risk of concurrent failures due to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider a case where replicas are deployed across different data center, with one replica per location. In the event that one of the datacenters goes offline, normally the replica that was placed in that datacenter will be packed into one of the remaining datacenters. If this is not desirable then this policy should be set.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + } + ], + "properties": { + "DomainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicesHealthEvaluation": { + "x-ms-discriminator-value": "Services", + "description": "Represents health evaluation for services of a certain service type belonging to an application, containing health evaluations for each unhealthy service that impacted current aggregated health state. Can be returned when evaluating application health and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "ServiceTypeName": { + "type": "string", + "description": "Name of the service type of the services." + }, + "MaxPercentUnhealthyServices": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of services of the current service type in the application from the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health." + } + } + }, + "ServiceStatus": { + "type": "string", + "description": "The status of the application.", + "enum": [ + "Unknown", + "Active", + "Upgrading", + "Deleting", + "Creating", + "Failed" + ], + "x-ms-enum": { + "name": "ServiceStatus", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the service status is unknown. The value is zero." + }, + { + "value": "Active", + "description": "Indicates the service status is active. The value is 1." + }, + { + "value": "Upgrading", + "description": "Indicates the service is upgrading. The value is 2." + }, + { + "value": "Deleting", + "description": "Indicates the service is being deleted. The value is 3." + }, + { + "value": "Creating", + "description": "Indicates the service is being created. The value is 4." + }, + { + "value": "Failed", + "description": "Indicates creation or deletion was terminated due to persistent failures. Another create/delete request can be accepted. The value is 5." + } + ] + } + }, + "ServiceTypeDescription": { + "discriminator": "Kind", + "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "IsStateful": { + "type": "boolean", + "description": "Indicates whether the service type is a stateful service type or a stateless service type. This property is true if the service type is a stateful service type, false otherwise." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "PlacementConstraints": { + "type": "string", + "description": "The placement constraint to be used when instantiating this service in a Service Fabric cluster." + }, + "LoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList", + "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + }, + "ServicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPolicyDescriptionList", + "description": "List of service placement policy descriptions." + }, + "Extensions": { + "$ref": "#/definitions/ServiceTypeExtensionDescriptionList", + "description": "List of service type extensions." + } + } + }, + "ServiceTypeExtensionDescription": { + "description": "Describes extension of a service type defined in the service manifest.", + "properties": { + "Key": { + "type": "string", + "description": "The name of the extension." + }, + "Value": { + "type": "string", + "description": "The extension value." + } + } + }, + "ServiceTypeExtensionDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTypeExtensionDescription" + }, + "description": "List of service type extensions." + }, + "ServiceTypeHealthPolicy": { + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.", + "properties": { + "MaxPercentUnhealthyPartitionsPerService": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.", + "default": 0 + }, + "MaxPercentUnhealthyReplicasPerPartition": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.", + "default": 0 + }, + "MaxPercentUnhealthyServices": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.", + "default": 0 + } + } + }, + "ServiceTypeHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTypeHealthPolicyMapItem" + }, + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type. For example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently. With policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation." + }, + "ServiceTypeHealthPolicyMapItem": { + "description": "Defines an item in ServiceTypeHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key of the service type health policy map item. This is the name of the service type." + }, + "Value": { + "$ref": "#/definitions/ServiceTypeHealthPolicy", + "description": "The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type." + } + } + }, + "ServiceTypeInfo": { + "description": "Information about a service type that is defined in a service manifest of a provisioned application type.", + "properties": { + "ServiceTypeDescription": { + "$ref": "#/definitions/ServiceTypeDescription", + "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest in which this service type is defined." + }, + "ServiceManifestVersion": { + "type": "string", + "description": "The version of the service manifest in which this service type is defined." + }, + "IsServiceGroup": { + "type": "boolean", + "description": "Indicates whether the service is a service group. If it is, the property value is true otherwise false." + } + } + }, + "ServiceTypeInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTypeInfo" + }, + "description": "List of service type information." + }, + "ServiceTypeManifest": { + "description": "Contains the manifest describing a service type registered as part of an application in a Service Fabric cluster.", + "properties": { + "Manifest": { + "type": "string", + "description": "The XML manifest as a string." + } + } + }, + "SingletonPartitionInformation": { + "description": "Information about a partition that is singleton. The services with singleton partitioning scheme are effectively non-partitioned. They only have one partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionInformation" + } + ], + "x-ms-discriminator-value": "Singleton" + }, + "StatefulServiceInfo": { + "description": "Information about a stateful Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceInfo" + } + ], + "properties": { + "HasPersistedState": { + "description": "Whether the service has persisted state.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "Stateful" + }, + "StatefulServicePartitionInfo": { + "description": "Information about a partition of a stateful Service Fabric service..", + "allOf": [ + { + "$ref": "#/definitions/ServicePartitionInfo" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "TargetReplicaSetSize": { + "type": "integer", + "format": "int64", + "description": "The target replica set size as a number." + }, + "MinReplicaSetSize": { + "type": "integer", + "format": "int64", + "description": "The minimum replica set size as a number." + }, + "AuxiliaryReplicaCount": { + "type": "integer", + "format": "int64", + "description": "The auxiliary replica count as a number. To use Auxiliary replicas the following must be true, AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3." + }, + "LastQuorumLossDuration": { + "type": "string", + "format": "duration", + "description": "The duration for which this partition was in quorum loss. If the partition is currently in quorum loss, it returns the duration since it has been in that state. This field is using ISO8601 format for specifying the duration." + }, + "PrimaryEpoch": { + "$ref": "#/definitions/Epoch", + "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica." + } + } + }, + "StatefulServiceReplicaHealth": { + "description": "Represents the health of the stateful service replica.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.", + "x-ms-discriminator-value": "Stateful", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealth" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + } + }, + "StatefulServiceReplicaHealthState": { + "x-ms-discriminator-value": "Stateful", + "description": "Represents the health state of the stateful service replica, which contains the replica ID and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealthState" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + } + }, + "StatefulServiceTypeDescription": { + "description": "Describes a stateful service type defined in the service manifest of a provisioned application type.", + "allOf": [ + { + "$ref": "#/definitions/ServiceTypeDescription" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "HasPersistedState": { + "type": "boolean", + "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false." + } + } + }, + "StatelessServiceInfo": { + "description": "Information about a stateless Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceInfo" + } + ], + "x-ms-discriminator-value": "Stateless" + }, + "StatelessServiceInstanceHealth": { + "description": "Represents the health of the stateless service instance.\nContains the instance aggregated health state, the health events and the unhealthy evaluations.", + "x-ms-discriminator-value": "Stateless", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealth" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + } + } + }, + "StatelessServiceInstanceHealthState": { + "x-ms-discriminator-value": "Stateless", + "description": "Represents the health state of the stateless service instance, which contains the instance ID and the aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaHealthState" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of the stateless service instance on the wire this field is called ReplicaId." + } + } + }, + "StatelessServicePartitionInfo": { + "description": "Information about a partition of a stateless Service Fabric service.", + "allOf": [ + { + "$ref": "#/definitions/ServicePartitionInfo" + } + ], + "x-ms-discriminator-value": "Stateless", + "properties": { + "InstanceCount": { + "type": "integer", + "format": "int64", + "description": "Number of instances of this partition." + }, + "MinInstanceCount": { + "$ref": "#/definitions/MinInstanceCount", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "$ref": "#/definitions/MinInstancePercentage", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + } + } + }, + "StatelessServiceTypeDescription": { + "description": "Describes a stateless service type defined in the service manifest of a provisioned application type.", + "allOf": [ + { + "$ref": "#/definitions/ServiceTypeDescription" + } + ], + "x-ms-discriminator-value": "Stateless", + "properties": { + "UseImplicitHost": { + "type": "boolean", + "description": "A flag indicating if this type is not implemented and hosted by a user service process, but is implicitly hosted by a system created process. This value is true for services using the guest executable services, false otherwise." + } + } + }, + "SystemApplicationHealthEvaluation": { + "x-ms-discriminator-value": "SystemApplication", + "description": "Represents health evaluation for the fabric:/System application, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state of the cluster is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the current aggregated health state of the system application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation." + } + } + }, + "TargetApplicationName": { + "type": "string", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "TargetApplicationTypeVersion": { + "type": "string", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "TargetDeploymentName": { + "type": "string", + "description": "The name of the target deployment." + }, + "UnhealthyEvaluations": { + "description": "List of health evaluations that resulted in the current aggregated health state.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthEvaluationWrapper" + } + }, + "UpgradeDomainDeltaNodesCheckHealthEvaluation": { + "x-ms-discriminator-value": "UpgradeDomainDeltaNodesCheck", + "description": "Represents health evaluation for delta unhealthy cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when cluster aggregated health state is Warning or Error.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "Name of the upgrade domain where nodes health is currently evaluated." + }, + "BaselineErrorCount": { + "type": "integer", + "format": "int64", + "description": "Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade." + }, + "BaselineTotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade." + }, + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of upgrade domain nodes in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "UpgradeDomainDeployedApplicationsHealthEvaluation": { + "x-ms-discriminator-value": "UpgradeDomainDeployedApplications", + "description": "Represents health evaluation for deployed applications in an upgrade domain, containing health evaluations for each unhealthy deployed application that impacted current aggregated health state. Can be returned when evaluating cluster health during cluster upgrade and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "Name of the upgrade domain where deployed applications health is currently evaluated." + }, + "MaxPercentUnhealthyDeployedApplications": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy deployed applications from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of deployed applications in the current upgrade domain." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health." + } + } + }, + "UpgradeDomainInfo": { + "description": "Information about an upgrade domain.", + "properties": { + "Name": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "State": { + "$ref": "#/definitions/UpgradeDomainState", + "description": "The state of the upgrade domain." + } + } + }, + "UpgradeDomainInfoList": { + "type": "array", + "description": "List of upgrade domains and their statuses. Not applicable to node-by-node upgrades.", + "items": { + "$ref": "#/definitions/UpgradeDomainInfo" + } + }, + "UpgradeDomainName": { + "type": "string", + "description": "The name of the upgrade domain" + }, + "UpgradeDomainNodesHealthEvaluation": { + "x-ms-discriminator-value": "UpgradeDomainNodes", + "description": "Represents health evaluation for cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health during cluster upgrade and the aggregated health state is either Error or Warning.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "Name of the upgrade domain where nodes health is currently evaluated." + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the current upgrade domain." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health." + } + } + }, + "UpgradeDomainState": { + "type": "string", + "description": "The state of the upgrade domain.", + "enum": [ + "Invalid", + "Pending", + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "UpgradeDomainState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade domain state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Pending", + "description": "The upgrade domain has not started upgrading yet. The value is 1" + }, + { + "value": "InProgress", + "description": "The upgrade domain is being upgraded but not complete yet. The value is 2" + }, + { + "value": "Completed", + "description": "The upgrade domain has completed upgrade. The value is 3" + } + ] + } + }, + "UpgradeDomainTimeout": { + "type": "string", + "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "P10675199DT02H48M05.4775807S" + }, + "UpgradeDuration": { + "type": "string", + "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "PT0H2M0S" + }, + "UpgradeKind": { + "type": "string", + "description": "The kind of upgrade out of the following possible values.", + "default": "Rolling", + "enum": [ + "Invalid", + "Rolling" + ], + "x-ms-enum": { + "name": "UpgradeKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Rolling", + "description": "The upgrade progresses one upgrade domain at a time. The value is 1" + } + ] + } + }, + "UpgradeMode": { + "type": "string", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred.", + "enum": [ + "Invalid", + "UnmonitoredAuto", + "UnmonitoredManual", + "Monitored", + "UnmonitoredDeferred" + ], + "default": "UnmonitoredAuto", + "x-ms-enum": { + "name": "UpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "UnmonitoredAuto", + "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1" + }, + { + "value": "UnmonitoredManual", + "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2" + }, + { + "value": "Monitored", + "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3" + }, + { + "value": "UnmonitoredDeferred", + "description": "Perform a node-by-node upgrade. No action is performed when upgrade starts; upgrade is applied on each node when it is deactivated with intent restart or higher. The value is 4" + } + ] + } + }, + "UpgradeSortOrder": { + "type": "string", + "description": "Defines the order in which an upgrade proceeds through the cluster.", + "enum": [ + "Invalid", + "Default", + "Numeric", + "Lexicographical", + "ReverseNumeric", + "ReverseLexicographical" + ], + "default": "Default", + "x-ms-enum": { + "name": "UpgradeSortOrder", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that this sort order is not valid. All Service Fabric enumerations have the invalid type. The value is 0." + }, + { + "value": "Default", + "description": "Indicates that the default sort order (as specified in cluster manifest) will be used. The value is 1." + }, + { + "value": "Numeric", + "description": "Indicates that forward numeric sort order (UD names sorted as numbers) will be used. The value is 2." + }, + { + "value": "Lexicographical", + "description": "Indicates that forward lexicographical sort order (UD names sorted as strings) will be used. The value is 3." + }, + { + "value": "ReverseNumeric", + "description": "Indicates that reverse numeric sort order (UD names sorted as numbers) will be used. The value is 4." + }, + { + "value": "ReverseLexicographical", + "description": "Indicates that reverse lexicographical sort order (UD names sorted as strings) will be used. The value is 5." + } + ] + } + }, + "UpgradeType": { + "type": "string", + "description": "The type of upgrade out of the following possible values.", + "default": "Rolling", + "enum": [ + "Invalid", + "Rolling", + "Rolling_ForceRestart" + ], + "x-ms-enum": { + "name": "UpgradeType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Rolling", + "description": "The upgrade progresses one upgrade domain at a time. The value is 1." + }, + { + "value": "Rolling_ForceRestart", + "description": "The upgrade gets restarted by force. The value is 2." + } + ] + } + }, + "UpgradeReplicaSetCheckTimeout": { + "type": "integer", + "format": "int64", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).", + "default": 42949672925 + }, + "UpgradeState": { + "type": "string", + "description": "The state of the upgrade domain.", + "enum": [ + "Invalid", + "RollingBackInProgress", + "RollingBackCompleted", + "RollingForwardPending", + "RollingForwardInProgress", + "RollingForwardCompleted", + "Failed" + ], + "x-ms-enum": { + "name": "UpgradeState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "RollingBackInProgress", + "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 1" + }, + { + "value": "RollingBackCompleted", + "description": "The upgrade has finished rolling back. The value is 2" + }, + { + "value": "RollingForwardPending", + "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3" + }, + { + "value": "RollingForwardInProgress", + "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 4" + }, + { + "value": "RollingForwardCompleted", + "description": "The upgrade has finished rolling forward. The value is 5" + }, + { + "value": "Failed", + "description": "The upgrade has failed and is unable to execute FailureAction. The value is 6" + } + ] + } + }, + "UpgradeTimeout": { + "type": "string", + "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "P10675199DT02H48M05.4775807S" + }, + "UpgradeUnitInfo": { + "description": "Information about an upgrade unit.", + "properties": { + "Name": { + "$ref": "#/definitions/UpgradeUnitName", + "description": "The name of the upgrade unit" + }, + "State": { + "$ref": "#/definitions/UpgradeUnitState", + "description": "The state of the upgrade unit." + } + } + }, + "UpgradeUnitInfoList": { + "type": "array", + "description": "List of upgrade units and their statuses.", + "items": { + "$ref": "#/definitions/UpgradeUnitInfo" + } + }, + "UpgradeUnitName": { + "type": "string", + "description": "The name of the upgrade unit" + }, + "UpgradeUnitState": { + "type": "string", + "description": "The state of the upgrade unit.", + "enum": [ + "Invalid", + "Pending", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "UpgradeUnitState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade unit state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Pending", + "description": "The upgrade unit has not started upgrading yet. The value is 1" + }, + { + "value": "InProgress", + "description": "The upgrade unit is being upgraded but not complete yet. The value is 2" + }, + { + "value": "Completed", + "description": "The upgrade unit has completed upgrade. The value is 3" + }, + { + "value": "Failed", + "description": "The upgrade unit has failed to upgrade. The value is 4" + } + ] + } + }, + "WaitForInbuildReplicaSafetyCheck": { + "description": "Safety check that waits for the replica build operation to finish. This indicates that there is a replica that is going through the copy or is providing data for building another replica. Bring the node down will abort this copy operation which are typically expensive involving data movements.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForInbuildReplica" + }, + "WaitForPrimaryPlacementSafetyCheck": { + "description": "Safety check that waits for the primary replica that was moved out of the node due to upgrade to be placed back again on that node.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForPrimaryPlacement" + }, + "WaitForPrimarySwapSafetyCheck": { + "description": "Safety check that waits for the primary replica to be moved out of the node before starting an upgrade to ensure the availability of the primary replica for the partition.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForPrimarySwap" + }, + "WaitForReconfigurationSafetyCheck": { + "description": "Safety check that waits for the current reconfiguration of the partition to be completed before starting an upgrade.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSafetyCheck" + } + ], + "x-ms-discriminator-value": "WaitForReconfiguration" + }, + "LoadMetricReport": { + "description": "Represents the load metric report which contains the time metric was reported, its name and value.", + "properties": { + "LastReportedUtc": { + "type": "string", + "format": "date-time", + "description": "Gets the UTC time when the load was reported." + }, + "Name": { + "type": "string", + "description": "The name of the load metric." + }, + "Value": { + "type": "string", + "format": "int32", + "description": "The value of the load metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue." + }, + "CurrentValue": { + "type": "string", + "format": "double", + "description": "The value of the load metric." + } + } + }, + "PartitionLoadInformation": { + "description": "Represents load information for a partition, which contains the primary, secondary and auxiliary reported load metrics.\nIn case there is no load reported, PartitionLoadInformation will contain the default load for the service of the partition.\nFor default loads, LoadMetricReport's LastReportedUtc is set to 0.", + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "PrimaryLoadMetricReports": { + "type": "array", + "description": "Array of load reports from the primary replica for this partition.", + "items": { + "$ref": "#/definitions/LoadMetricReport" + } + }, + "SecondaryLoadMetricReports": { + "type": "array", + "description": "Array of aggregated load reports from all secondary replicas for this partition.\nArray only contains the latest reported load for each metric.", + "items": { + "$ref": "#/definitions/LoadMetricReport" + } + }, + "AuxiliaryLoadMetricReports": { + "type": "array", + "description": "Array of aggregated load reports from all auxiliary replicas for this partition.\nArray only contains the latest reported load for each metric.", + "items": { + "$ref": "#/definitions/LoadMetricReport" + } + } + } + }, + "StatefulServiceReplicaInfo": { + "x-ms-discriminator-value": "Stateful", + "description": "Represents a stateful service replica. This includes information about the identity, role, status, health, node name, uptime, and other details about the replica.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaInfo" + } + ], + "properties": { + "ReplicaRole": { + "$ref": "#/definitions/ReplicaRole", + "description": "The role of a replica of a stateful service." + }, + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + } + } + }, + "StatelessServiceInstanceInfo": { + "x-ms-discriminator-value": "Stateless", + "description": "Represents a stateless service instance. This includes information about the identity, status, health, node name, uptime, and other details about the instance.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaInfo" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + } + } + }, + "ClusterFabricCodeVersionString": { + "type": "string", + "description": "The ServiceFabric code version of the cluster." + }, + "ClusterFabricConfigVersionString": { + "type": "string", + "description": "The cluster configuration version (specified in the cluster manifest)." + }, + "ClusterUpgradeDescriptionObject": { + "description": "Represents a ServiceFabric cluster upgrade", + "properties": { + "ConfigVersion": { + "$ref": "#/definitions/ClusterFabricConfigVersionString", + "description": "The cluster configuration version (specified in the cluster manifest)." + }, + "CodeVersion": { + "$ref": "#/definitions/ClusterFabricCodeVersionString", + "description": "The ServiceFabric code version of the cluster." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + }, + "ForceRestart": { + "$ref": "#/definitions/ForceRestart", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "SortOrder": { + "$ref": "#/definitions/UpgradeSortOrder", + "description": "Defines the order in which an upgrade proceeds through the cluster." + }, + "EnableDeltaHealthEvaluation": { + "$ref": "#/definitions/DeltaHealthEvaluationBool", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node." + }, + "ClusterUpgradeHealthPolicy": { + "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject", + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade." + }, + "ApplicationHealthPolicyMap": { + "$ref": "#/definitions/ApplicationHealthPolicyMapObject", + "description": "Represents the map of application health policies for a ServiceFabric cluster upgrade" + } + } + }, + "ClusterUpgradeHealthPolicyObject": { + "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.", + "properties": { + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. The default value is 10%.", + "maximum": 100, + "minimum": 0 + }, + "MaxPercentUpgradeDomainDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits. The default value is 15%.", + "maximum": 100, + "minimum": 0 + } + } + }, + "ClusterUpgradeProgressObject": { + "description": "Information about a cluster upgrade.", + "properties": { + "CodeVersion": { + "$ref": "#/definitions/ClusterFabricCodeVersionString", + "description": "The ServiceFabric code version of the cluster." + }, + "ConfigVersion": { + "$ref": "#/definitions/ClusterFabricConfigVersionString", + "description": "The cluster configuration version (specified in the cluster manifest)." + }, + "UpgradeDomains": { + "$ref": "#/definitions/UpgradeDomainInfoList", + "description": "List of upgrade domains and their statuses. Not applicable to node-by-node upgrades." + }, + "UpgradeUnits": { + "$ref": "#/definitions/UpgradeUnitInfoList", + "description": "List of upgrade units and their statuses." + }, + "UpgradeState": { + "$ref": "#/definitions/UpgradeState", + "description": "The state of the upgrade domain." + }, + "NextUpgradeDomain": { + "$ref": "#/definitions/NextUpgradeDomain", + "description": "The name of the next upgrade domain to be processed. Not applicable to node-by-node upgrades." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeDescription": { + "$ref": "#/definitions/ClusterUpgradeDescriptionObject", + "description": "Represents a ServiceFabric cluster upgrade" + }, + "UpgradeDurationInMilliseconds": { + "$ref": "#/definitions/UpgradeDurationString", + "description": "The estimated elapsed time spent processing the current overall upgrade." + }, + "UpgradeDomainDurationInMilliseconds": { + "$ref": "#/definitions/UpgradeDomainDurationString", + "description": "The estimated elapsed time spent processing the current upgrade domain. Not applicable to node-by-node upgrades." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of health evaluations that resulted in the current aggregated health state." + }, + "CurrentUpgradeDomainProgress": { + "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo", + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades." + }, + "CurrentUpgradeUnitsProgress": { + "$ref": "#/definitions/CurrentUpgradeUnitsProgressInfo", + "description": "Information about the current in-progress upgrade units." + }, + "StartTimestampUtc": { + "$ref": "#/definitions/UpgradeStartTimeUTCString", + "description": "The start time of the upgrade in UTC." + }, + "FailureTimestampUtc": { + "$ref": "#/definitions/UpgradeFailureTimeUTCString", + "description": "The failure time of the upgrade in UTC." + }, + "FailureReason": { + "$ref": "#/definitions/FailureReason", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed." + }, + "UpgradeDomainProgressAtFailure": { + "$ref": "#/definitions/FailedUpgradeDomainProgressObject", + "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure. Not applicable to node-by-node upgrades." + }, + "IsNodeByNode": { + "type": "boolean", + "description": "Indicates whether this upgrade is node-by-node.", + "default": false + } + } + }, + "ClusterConfigurationUpgradeDescription": { + "description": "Describes the parameters for a standalone cluster configuration upgrade.", + "properties": { + "ClusterConfig": { + "type": "string", + "description": "The cluster configuration as a JSON string. For example, [this file](https://github.com/Azure-Samples/service-fabric-dotnet-standalone-cluster-configuration/blob/master/Samples/ClusterConfig.Unsecure.DevCluster.json) contains JSON describing the [nodes and other properties of the cluster](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-manifest)." + }, + "HealthCheckRetryTimeout": { + "type": "string", + "format": "duration", + "description": "The length of time between attempts to perform health checks if the application or cluster is not healthy.", + "default": "PT0H0M0S" + }, + "HealthCheckWaitDurationInSeconds": { + "type": "string", + "format": "duration", + "description": "The length of time to wait after completing an upgrade domain before starting the health checks process.", + "default": "PT0H0M0S" + }, + "HealthCheckStableDurationInSeconds": { + "type": "string", + "format": "duration", + "description": "The length of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain.", + "default": "PT0H0M0S" + }, + "UpgradeDomainTimeoutInSeconds": { + "type": "string", + "format": "duration", + "description": "The timeout for the upgrade domain.", + "default": "PT0H0M0S" + }, + "UpgradeTimeoutInSeconds": { + "type": "string", + "format": "duration", + "description": "The upgrade timeout.", + "default": "PT0H0M0S" + }, + "MaxPercentUnhealthyApplications": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "MaxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "MaxPercentUpgradeDomainDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.", + "default": 0 + }, + "ApplicationHealthPolicies": { + "$ref": "#/definitions/ApplicationHealthPolicies", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + } + }, + "required": [ + "ClusterConfig" + ] + }, + "DeltaHealthEvaluationBool": { + "type": "boolean", + "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain." + }, + "FailedUpgradeDomainProgressObject": { + "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure. Not applicable to node-by-node upgrades.", + "properties": { + "DomainName": { + "$ref": "#/definitions/UpgradeDomainName", + "description": "The name of the upgrade domain" + }, + "NodeUpgradeProgressList": { + "$ref": "#/definitions/NodeUpgradeProgressInfoList", + "description": "List of upgrading nodes and their statuses" + } + } + }, + "UpgradeDomainDurationString": { + "type": "string", + "description": "The estimated elapsed time spent processing the current upgrade domain. Not applicable to node-by-node upgrades." + }, + "UpgradeDurationString": { + "type": "string", + "description": "The estimated elapsed time spent processing the current overall upgrade." + }, + "UpgradeFailureTimeUTCString": { + "type": "string", + "description": "The failure time of the upgrade in UTC." + }, + "UpgradeStartTimeUTCString": { + "type": "string", + "description": "The start time of the upgrade in UTC." + }, + "UpgradeOrchestrationServiceState": { + "description": "Service state of Service Fabric Upgrade Orchestration Service.", + "properties": { + "ServiceState": { + "type": "string", + "description": "The state of Service Fabric Upgrade Orchestration Service." + } + } + }, + "UpgradeOrchestrationServiceStateSummary": { + "description": "Service state summary of Service Fabric Upgrade Orchestration Service.", + "properties": { + "CurrentCodeVersion": { + "type": "string", + "description": "The current code version of the cluster." + }, + "CurrentManifestVersion": { + "type": "string", + "description": "The current manifest version of the cluster." + }, + "TargetCodeVersion": { + "type": "string", + "description": "The target code version of the cluster." + }, + "TargetManifestVersion": { + "type": "string", + "description": "The target manifest version of the cluster." + }, + "PendingUpgradeType": { + "type": "string", + "description": "The type of the pending upgrade of the cluster." + } + } + }, + "ApplicationTypeImageStorePath": { + "description": "Path description for the application package in the image store specified during the prior copy operation.", + "required": [ + "ApplicationTypeBuildPath" + ], + "properties": { + "ApplicationTypeBuildPath": { + "type": "string", + "description": "The relative image store path to the application package." + } + } + }, + "UnprovisionApplicationTypeDescriptionInfo": { + "description": "Describes the operation to unregister or unprovision an application type and its version that was registered with the Service Fabric.", + "required": [ + "ApplicationTypeVersion" + ], + "properties": { + "ApplicationTypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "Async": { + "type": "boolean", + "description": "The flag indicating whether or not unprovision should occur asynchronously. When set to true, the unprovision operation returns when the request is accepted by the system, and the unprovision operation continues without any timeout limit. The default value is false. However, we recommend setting it to true for large application packages that were provisioned." + } + } + }, + "CodePackageName": { + "type": "string", + "description": "The name of the code package defined in the service manifest." + }, + "CodePackageEntryPointStatistics": { + "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node.", + "properties": { + "LastExitCode": { + "type": "string", + "description": "The last exit code of the entry point." + }, + "LastActivationTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when Service Fabric attempted to run the entry point." + }, + "LastExitTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when the entry point finished running." + }, + "LastSuccessfulActivationTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when the entry point ran successfully." + }, + "LastSuccessfulExitTime": { + "type": "string", + "format": "date-time", + "description": "The last time (in UTC) when the entry point finished running gracefully." + }, + "ActivationCount": { + "type": "string", + "description": "Number of times the entry point has run." + }, + "ActivationFailureCount": { + "type": "string", + "description": "Number of times the entry point failed to run." + }, + "ContinuousActivationFailureCount": { + "type": "string", + "description": "Number of times the entry point continuously failed to run." + }, + "ExitCount": { + "type": "string", + "description": "Number of times the entry point finished running." + }, + "ExitFailureCount": { + "type": "string", + "description": "Number of times the entry point failed to exit gracefully." + }, + "ContinuousExitFailureCount": { + "type": "string", + "description": "Number of times the entry point continuously failed to exit gracefully." + } + } + }, + "DeployedCodePackageInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedCodePackageInfo" + }, + "description": "List of deployed code package information." + }, + "DeployedCodePackageInfo": { + "description": "Information about code package deployed on a Service Fabric node.", + "properties": { + "Name": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package." + }, + "Version": { + "type": "string", + "description": "The version of the code package specified in service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of service manifest that specified this code package." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "HostType": { + "$ref": "#/definitions/HostType", + "description": "Specifies the type of host for main entry point of a code package as specified in service manifest." + }, + "HostIsolationMode": { + "$ref": "#/definitions/HostIsolationMode", + "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest." + }, + "Status": { + "$ref": "#/definitions/DeploymentStatus", + "description": "Specifies the status of a deployed application or service package on a Service Fabric node." + }, + "RunFrequencyInterval": { + "type": "string", + "description": "The interval at which code package is run. This is used for periodic code package." + }, + "SetupEntryPoint": { + "$ref": "#/definitions/CodePackageEntryPoint", + "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node." + }, + "MainEntryPoint": { + "$ref": "#/definitions/CodePackageEntryPoint", + "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node." + } + } + }, + "DeploymentStatus": { + "type": "string", + "description": "Specifies the status of a deployed application or service package on a Service Fabric node.", + "enum": [ + "Invalid", + "Downloading", + "Activating", + "Active", + "Upgrading", + "Deactivating", + "RanToCompletion", + "Failed" + ], + "x-ms-enum": { + "name": "DeploymentStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates status of the application or service package is not known or invalid. The value is 0." + }, + { + "value": "Downloading", + "description": "Indicates the application or service package is being downloaded to the node from the ImageStore. The value is 1." + }, + { + "value": "Activating", + "description": "Indicates the application or service package is being activated. The value is 2." + }, + { + "value": "Active", + "description": "Indicates the application or service package is active the node. The value is 3." + }, + { + "value": "Upgrading", + "description": "Indicates the application or service package is being upgraded. The value is 4." + }, + { + "value": "Deactivating", + "description": "Indicates the application or service package is being deactivated. The value is 5." + }, + { + "value": "RanToCompletion", + "description": "Indicates the application or service package has ran to completion successfully. The value is 6." + }, + { + "value": "Failed", + "description": "Indicates the application or service package has failed to run to completion. The value is 7." + } + ] + } + }, + "EntryPointStatus": { + "type": "string", + "description": "Specifies the status of the code package entry point deployed on a Service Fabric node.", + "enum": [ + "Invalid", + "Pending", + "Starting", + "Started", + "Stopping", + "Stopped" + ], + "x-ms-enum": { + "name": "EntryPointStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates status of entry point is not known or invalid. The value is 0." + }, + { + "value": "Pending", + "description": "Indicates the entry point is scheduled to be started. The value is 1." + }, + { + "value": "Starting", + "description": "Indicates the entry point is being started. The value is 2." + }, + { + "value": "Started", + "description": "Indicates the entry point was started successfully and is running. The value is 3." + }, + { + "value": "Stopping", + "description": "Indicates the entry point is being stopped. The value is 4." + }, + { + "value": "Stopped", + "description": "Indicates the entry point is not running. The value is 5." + } + ] + } + }, + "CodePackageEntryPoint": { + "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node.", + "properties": { + "EntryPointLocation": { + "type": "string", + "description": "The location of entry point executable on the node." + }, + "ProcessId": { + "type": "string", + "description": "The process ID of the entry point." + }, + "RunAsUserName": { + "type": "string", + "description": "The user name under which entry point executable is run on the node." + }, + "CodePackageEntryPointStatistics": { + "$ref": "#/definitions/CodePackageEntryPointStatistics", + "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node." + }, + "Status": { + "$ref": "#/definitions/EntryPointStatus", + "description": "Specifies the status of the code package entry point deployed on a Service Fabric node." + }, + "NextActivationTime": { + "type": "string", + "format": "date-time", + "description": "The time (in UTC) when the entry point executable will be run next." + }, + "InstanceId": { + "$ref": "#/definitions/CodePackageInstanceId", + "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change." + } + } + }, + "Chaos": { + "description": "Contains a description of Chaos.", + "properties": { + "ChaosParameters": { + "$ref": "#/definitions/ChaosParameters", + "description": "If Chaos is running, these are the parameters Chaos is running with." + }, + "Status": { + "$ref": "#/definitions/ChaosStatus", + "description": "Current status of the Chaos run." + }, + "ScheduleStatus": { + "$ref": "#/definitions/ChaosScheduleStatus", + "description": "Current status of the schedule." + } + } + }, + "ChaosStatus": { + "type": "string", + "description": "Current status of the Chaos run.", + "enum": [ + "Invalid", + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "ChaosStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid Chaos status. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Running", + "description": "Indicates that Chaos is not stopped. The value is one." + }, + { + "value": "Stopped", + "description": "Indicates that Chaos is not scheduling further faults. The value is two." + } + ] + } + }, + "ChaosScheduleStatus": { + "type": "string", + "description": "Current status of the schedule.", + "enum": [ + "Invalid", + "Stopped", + "Active", + "Expired", + "Pending" + ], + "x-ms-enum": { + "name": "ChaosScheduleStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid Chaos Schedule status. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Stopped", + "description": "Indicates that the schedule is stopped and not being used to schedule runs of chaos. The value is one." + }, + { + "value": "Active", + "description": "Indicates that the schedule is active and is being used to schedule runs of Chaos. The value is two." + }, + { + "value": "Expired", + "description": "Indicates that the schedule is expired and will no longer be used to schedule runs of Chaos. The value is three." + }, + { + "value": "Pending", + "description": "Indicates that the schedule is pending and is not yet being used to schedule runs of Chaos but will be used when the start time is passed. The value is four." + } + ] + } + }, + "ChaosContextMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Describes a map that contains a collection of ChaosContextMapItem's." + }, + "ChaosContext": { + "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run.", + "properties": { + "Map": { + "$ref": "#/definitions/ChaosContextMap", + "description": "Describes a map that contains a collection of ChaosContextMapItem's." + } + } + }, + "ChaosParameters": { + "description": "Defines all the parameters to configure a Chaos run.", + "properties": { + "TimeToRunInSeconds": { + "type": "string", + "description": "Total time (in seconds) for which Chaos will run before automatically stopping. The maximum allowed value is 4,294,967,295 (System.UInt32.MaxValue).", + "default": "4294967295" + }, + "MaxClusterStabilizationTimeoutInSeconds": { + "type": "integer", + "format": "int64", + "description": "The maximum amount of time to wait for all cluster entities to become stable and healthy. Chaos executes in iterations and at the start of each iteration it validates the health of cluster entities.\nDuring validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.", + "default": 60, + "minimum": 0, + "maximum": 4294967295 + }, + "MaxConcurrentFaults": { + "type": "integer", + "format": "int64", + "description": "MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.\nChaos executes in iterations and two consecutive iterations are separated by a validation phase.\nThe higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.\nThe recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.", + "default": 1, + "minimum": 0, + "maximum": 4294967295 + }, + "EnableMoveReplicaFaults": { + "type": "boolean", + "description": "Enables or disables the move primary and move secondary faults.", + "default": true + }, + "WaitTimeBetweenFaultsInSeconds": { + "type": "integer", + "format": "int64", + "description": "Wait time (in seconds) between consecutive faults within a single iteration.\nThe larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.\nThe recommendation is to start with a value between 1 and 5 and exercise caution while moving up.", + "default": 20, + "minimum": 0, + "maximum": 4294967295 + }, + "WaitTimeBetweenIterationsInSeconds": { + "type": "integer", + "format": "int64", + "description": "Time-separation (in seconds) between two consecutive iterations of Chaos.\nThe larger the value, the lower the fault injection rate.", + "default": 30, + "minimum": 0, + "maximum": 4294967295 + }, + "ClusterHealthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "Passed-in cluster health policy is used to validate health of the cluster in between Chaos iterations. If the cluster health is in error or if an unexpected exception happens during fault execution--to provide the cluster with some time to recuperate--Chaos will wait for 30 minutes before the next health-check." + }, + "Context": { + "$ref": "#/definitions/ChaosContext", + "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run." + }, + "ChaosTargetFilter": { + "$ref": "#/definitions/ChaosTargetFilter", + "description": "List of cluster entities to target for Chaos faults.\nThis filter can be used to target Chaos faults only to certain node types or only to certain application instances. If ChaosTargetFilter is not used, Chaos faults all cluster entities.\nIf ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification." + } + } + }, + "ChaosParametersDictionaryItem": { + "description": "Defines an item in ChaosParametersDictionary of the Chaos Schedule.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs." + }, + "Value": { + "$ref": "#/definitions/ChaosParameters", + "description": "Defines all the parameters to configure a Chaos run." + } + } + }, + "ChaosEvent": { + "discriminator": "Kind", + "description": "Represents an event generated during a Chaos run.", + "properties": { + "Kind": { + "$ref": "#/definitions/ChaosEventKind", + "description": "The kind of Chaos event." + }, + "TimeStampUtc": { + "type": "string", + "description": "The UTC timestamp when this Chaos event was generated.", + "format": "date-time" + } + }, + "required": [ + "Kind", + "TimeStampUtc" + ] + }, + "ChaosEventWrapper": { + "description": "Wrapper object for Chaos event.", + "properties": { + "ChaosEvent": { + "$ref": "#/definitions/ChaosEvent", + "description": "Represents an event generated during a Chaos run." + } + } + }, + "ChaosEventKind": { + "type": "string", + "description": "The kind of Chaos event.", + "enum": [ + "Invalid", + "Started", + "ExecutingFaults", + "Waiting", + "ValidationFailed", + "TestError", + "Stopped" + ], + "x-ms-enum": { + "name": "ChaosEventKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid Chaos event kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Started", + "description": "Indicates a Chaos event that gets generated when Chaos is started." + }, + { + "value": "ExecutingFaults", + "description": "Indicates a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings." + }, + { + "value": "Waiting", + "description": "Indicates a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish." + }, + { + "value": "ValidationFailed", + "description": "Indicates a Chaos event that gets generated when the cluster entities do not become stable and healthy within ChaosParameters.MaxClusterStabilizationTimeoutInSeconds." + }, + { + "value": "TestError", + "description": "Indicates a Chaos event that gets generated when an unexpected event has occurred in the Chaos engine, for example, due to the cluster snapshot being inconsistent, while faulting a faultable entity Chaos found that the entity was already faulted." + }, + { + "value": "Stopped", + "description": "Indicates a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up." + } + ] + } + }, + "ChaosEventsSegment": { + "description": "Contains the list of Chaos events and the continuation token to get the next segment.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "History": { + "$ref": "#/definitions/ChaosEventHistory", + "description": "List of Chaos events that meet the user-supplied criteria." + } + } + }, + "ChaosScheduleDescription": { + "description": "Defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule. The version value wraps back to 0 after surpassing 2,147,483,647.", + "properties": { + "Version": { + "description": "The version number of the Schedule.", + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "Schedule": { + "$ref": "#/definitions/ChaosSchedule", + "description": "Defines the schedule used by Chaos." + } + } + }, + "ChaosSchedule": { + "description": "Defines the schedule used by Chaos.", + "properties": { + "StartDate": { + "type": "string", + "format": "date-time", + "description": "The date and time Chaos will start using this schedule.", + "default": "1601-01-01T00:00:00Z" + }, + "ExpiryDate": { + "type": "string", + "format": "date-time", + "description": "The date and time Chaos will continue to use this schedule until.", + "default": "9999-12-31T23:59:59.999Z" + }, + "ChaosParametersDictionary": { + "type": "array", + "description": "A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.", + "items": { + "$ref": "#/definitions/ChaosParametersDictionaryItem" + } + }, + "Jobs": { + "description": "A list of all Chaos Schedule Jobs that will be automated by the schedule.", + "type": "array", + "items": { + "$ref": "#/definitions/ChaosScheduleJob" + } + } + } + }, + "ChaosScheduleJob": { + "description": "Defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.", + "properties": { + "ChaosParameters": { + "type": "string", + "description": "A reference to which Chaos Parameters of the Chaos Schedule to use." + }, + "Days": { + "$ref": "#/definitions/ChaosScheduleJobActiveDaysOfWeek", + "description": "Defines the days of the week that a Chaos Schedule Job will run for." + }, + "Times": { + "description": "A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeRange" + } + } + } + }, + "ChaosScheduleJobActiveDaysOfWeek": { + "description": "Defines the days of the week that a Chaos Schedule Job will run for.", + "properties": { + "Sunday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Sunday", + "default": false + }, + "Monday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Monday", + "default": false + }, + "Tuesday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Tuesday", + "default": false + }, + "Wednesday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Wednesday", + "default": false + }, + "Thursday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Thursday", + "default": false + }, + "Friday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Friday", + "default": false + }, + "Saturday": { + "type": "boolean", + "description": "Indicates if the Chaos Schedule Job will run on Saturday", + "default": false + } + } + }, + "TimeRange": { + "description": "Defines a time range in a 24 hour day specified by a start and end time.", + "properties": { + "StartTime": { + "$ref": "#/definitions/TimeOfDay", + "description": "Defines an hour and minute of the day specified in 24 hour time." + }, + "EndTime": { + "$ref": "#/definitions/TimeOfDay", + "description": "Defines an hour and minute of the day specified in 24 hour time." + } + } + }, + "TimeOfDay": { + "description": "Defines an hour and minute of the day specified in 24 hour time.", + "properties": { + "Hour": { + "type": "integer", + "format": "int32", + "description": "Represents the hour of the day. Value must be between 0 and 23 inclusive.", + "minimum": 0, + "maximum": 23 + }, + "Minute": { + "type": "integer", + "format": "int32", + "description": "Represents the minute of the hour. Value must be between 0 to 59 inclusive.", + "minimum": 0, + "maximum": 59 + } + } + }, + "ExecutingFaultsChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings.", + "x-ms-discriminator-value": "ExecutingFaults", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Faults": { + "type": "array", + "description": "List of string description of the faults that Chaos decided to execute in an iteration.", + "items": { + "type": "string" + } + } + } + }, + "StartedChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos is started.", + "x-ms-discriminator-value": "Started", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "ChaosParameters": { + "$ref": "#/definitions/ChaosParameters", + "description": "Defines all the parameters to configure a Chaos run." + } + } + }, + "StoppedChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up.", + "x-ms-discriminator-value": "Stopped", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over." + } + } + }, + "TestErrorChaosEvent": { + "description": "Describes a Chaos event that gets generated when an unexpected event occurs in the Chaos engine.\nFor example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that the entity was already faulted -- which would be an unexpected event.", + "x-ms-discriminator-value": "TestError", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why TestErrorChaosEvent was generated. For example, Chaos tries to fault a partition but finds that the partition is no longer fault tolerant, then a TestErrorEvent gets generated with the reason stating that the partition is not fault tolerant." + } + } + }, + "ValidationFailedChaosEvent": { + "description": "Chaos event corresponding to a failure during validation.", + "x-ms-discriminator-value": "ValidationFailed", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why the ValidationFailedChaosEvent was generated. This may happen because more than MaxPercentUnhealthyNodes are unhealthy for more than MaxClusterStabilizationTimeout. This reason will be in the Reason property of the ValidationFailedChaosEvent as a string." + } + } + }, + "WaitingChaosEvent": { + "description": "Describes a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.", + "x-ms-discriminator-value": "Waiting", + "allOf": [ + { + "$ref": "#/definitions/ChaosEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade." + } + } + }, + "ChaosEventHistory": { + "type": "array", + "description": "An list of Chaos events that were generated during the time range passed into the GetChaosReport API call.", + "items": { + "$ref": "#/definitions/ChaosEventWrapper" + } + }, + "ChaosTargetFilter": { + "description": "Defines all filters for targeted Chaos faults, for example, faulting only certain node types or faulting only certain applications.\nIf ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter\nspecification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is not possible to specify an intersection\nof NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify \"fault this application only when it is on that node type.\"\nOnce an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity cannot be excluded using ChaosTargetFilter. Even if\napplicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be faulted because it happens to be on a node of nodeTypeY that is included\nin NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty, an ArgumentException is thrown.", + "properties": { + "NodeTypeInclusionList": { + "type": "array", + "description": "A list of node types to include in Chaos faults.\nAll types of faults (restart node, restart code package, remove replica, restart replica, move primary, and move secondary) are enabled for the nodes of these node types.\nIf a node type (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of\nNodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.\nhappens to reside on a node of NodeTypeX.\nAt most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.", + "items": { + "$ref": "#/definitions/NodeType" + } + }, + "ApplicationInclusionList": { + "type": "array", + "description": "A list of application URIs to include in Chaos faults.\nAll replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.\nChaos may restart a code package only if the code package hosts replicas of these applications only.\nIf an application does not appear in this list, it can still be faulted in some Chaos iteration if the application ends up on a node of a node type that is included in NodeTypeInclusionList.\nHowever, if applicationX is tied to nodeTypeY through placement constraints and applicationX is absent from ApplicationInclusionList and nodeTypeY is absent from NodeTypeInclusionList, then applicationX will never be faulted.\nAt most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.", + "items": { + "$ref": "#/definitions/ApplicationName" + } + } + } + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "The version of the application type as defined in the application manifest." + }, + "ApplicationCapacityDescription": { + "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application", + "properties": { + "MinimumNodes": { + "type": "integer", + "format": "int64", + "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.", + "minimum": 0 + }, + "MaximumNodes": { + "type": "integer", + "format": "int64", + "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.", + "minimum": 0, + "default": 0 + }, + "ApplicationMetrics": { + "$ref": "#/definitions/ApplicationMetricDescriptionList", + "description": "List of application capacity metric description." + } + } + }, + "ApplicationDescription": { + "description": "Describes a Service Fabric application.", + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "TypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "TypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "ParameterList": { + "$ref": "#/definitions/ApplicationParameterList", + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "ApplicationCapacity": { + "$ref": "#/definitions/ApplicationCapacityDescription", + "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application" + }, + "ManagedApplicationIdentity": { + "$ref": "#/definitions/ManagedApplicationIdentityDescription", + "description": "Managed application identity description." + } + }, + "required": [ + "Name", + "TypeName", + "TypeVersion" + ] + }, + "ApplicationMetricDescription": { + "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric." + }, + "MaximumCapacity": { + "type": "integer", + "format": "int64", + "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity." + }, + "ReservationCapacity": { + "type": "integer", + "format": "int64", + "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric." + }, + "TotalApplicationCapacity": { + "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.", + "type": "integer", + "format": "int64" + } + } + }, + "ApplicationMetricDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationMetricDescription" + }, + "description": "List of application capacity metric description." + }, + "ApplicationLoadMetricInformation": { + "description": "Describes load information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric." + }, + "ReservationCapacity": { + "type": "integer", + "format": "int64", + "description": "This is the capacity reserved in the cluster for the application.\nIt's the product of NodeReservationCapacity and MinimumNodes.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity this value must be smaller than or equal to MaximumCapacity for each metric." + }, + "ApplicationCapacity": { + "type": "integer", + "format": "int64", + "description": "Total capacity for this metric in this application instance." + }, + "ApplicationLoad": { + "type": "integer", + "format": "int64", + "description": "Current load for this metric in this application instance." + } + } + }, + "ApplicationLoadMetricInformationList": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLoadMetricInformation" + }, + "description": "List of application load metric information." + }, + "ComposeDeploymentStatus": { + "type": "string", + "description": "The status of the compose deployment.", + "enum": [ + "Invalid", + "Provisioning", + "Creating", + "Ready", + "Unprovisioning", + "Deleting", + "Failed", + "Upgrading" + ], + "x-ms-enum": { + "name": "ComposeDeploymentStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the compose deployment status is invalid. The value is zero." + }, + { + "value": "Provisioning", + "description": "Indicates that the compose deployment is being provisioned in background. The value is 1." + }, + { + "value": "Creating", + "description": "Indicates that the compose deployment is being created in background. The value is 2." + }, + { + "value": "Ready", + "description": "Indicates that the compose deployment has been successfully created or upgraded. The value is 3." + }, + { + "value": "Unprovisioning", + "description": "Indicates that the compose deployment is being unprovisioned in background. The value is 4." + }, + { + "value": "Deleting", + "description": "Indicates that the compose deployment is being deleted in background. The value is 5." + }, + { + "value": "Failed", + "description": "Indicates that the compose deployment was terminated due to persistent failures. The value is 6." + }, + { + "value": "Upgrading", + "description": "Indicates that the compose deployment is being upgraded in the background. The value is 7." + } + ] + } + }, + "ComposeDeploymentStatusInfo": { + "description": "Information about a Service Fabric compose deployment.", + "properties": { + "Name": { + "$ref": "#/definitions/DeploymentName", + "description": "The name of the deployment." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "Status": { + "$ref": "#/definitions/ComposeDeploymentStatus", + "description": "The status of the compose deployment." + }, + "StatusDetails": { + "description": "The status details of compose deployment including failure message.", + "type": "string" + } + } + }, + "ComposeDeploymentUpgradeDescription": { + "description": "Describes the parameters for a compose deployment upgrade.", + "properties": { + "DeploymentName": { + "$ref": "#/definitions/DeploymentName", + "description": "The name of the deployment." + }, + "ComposeFileContent": { + "type": "string", + "description": "The content of the compose file that describes the deployment to create." + }, + "RegistryCredential": { + "$ref": "#/definitions/RegistryCredential", + "description": "Credential information to connect to container registry." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + }, + "ForceRestart": { + "$ref": "#/definitions/ForceRestart", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + } + }, + "required": [ + "DeploymentName", + "ComposeFileContent", + "UpgradeKind" + ] + }, + "ComposeDeploymentUpgradeProgressInfo": { + "description": "Describes the parameters for a compose deployment upgrade.", + "properties": { + "DeploymentName": { + "$ref": "#/definitions/TargetDeploymentName", + "description": "The name of the target deployment." + }, + "ApplicationName": { + "$ref": "#/definitions/TargetApplicationName", + "description": "The name of the target application, including the 'fabric:' URI scheme." + }, + "UpgradeState": { + "$ref": "#/definitions/ComposeDeploymentUpgradeState", + "description": "The state of the compose deployment upgrade." + }, + "UpgradeStatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the pending upgrade." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "ForceRestart": { + "$ref": "#/definitions/ForceRestart", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + }, + "MonitoringPolicy": { + "$ref": "#/definitions/MonitoringPolicyDescription", + "description": "Describes the parameters for monitoring an upgrade in Monitored mode." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + }, + "TargetApplicationTypeVersion": { + "$ref": "#/definitions/TargetApplicationTypeVersion", + "description": "The target application type version (found in the application manifest) for the application upgrade." + }, + "UpgradeDuration": { + "$ref": "#/definitions/UpgradeDuration", + "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "CurrentUpgradeDomainDuration": { + "$ref": "#/definitions/CurrentUpgradeDomainDuration", + "description": "The estimated amount of time spent processing current Upgrade Domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "ApplicationUnhealthyEvaluations": { + "$ref": "#/definitions/ApplicationUnhealthyEvaluations", + "description": "List of health evaluations that resulted in the current aggregated health state." + }, + "CurrentUpgradeDomainProgress": { + "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo", + "description": "Information about the current in-progress upgrade domain. Not applicable to node-by-node upgrades." + }, + "StartTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade started." + }, + "FailureTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed." + }, + "FailureReason": { + "$ref": "#/definitions/FailureReason", + "description": "The cause of an upgrade failure that resulted in FailureAction being executed." + }, + "UpgradeDomainProgressAtFailure": { + "$ref": "#/definitions/FailureUpgradeDomainProgressInfo", + "description": "Information about the upgrade domain progress at the time of upgrade failure." + }, + "ApplicationUpgradeStatusDetails": { + "type": "string", + "description": "Additional details of application upgrade including failure message." + } + } + }, + "ComposeDeploymentUpgradeState": { + "type": "string", + "description": "The state of the compose deployment upgrade.", + "enum": [ + "Invalid", + "ProvisioningTarget", + "RollingForwardInProgress", + "RollingForwardPending", + "UnprovisioningCurrent", + "RollingForwardCompleted", + "RollingBackInProgress", + "UnprovisioningTarget", + "RollingBackCompleted", + "Failed" + ], + "x-ms-enum": { + "name": "ComposeDeploymentUpgradeState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "ProvisioningTarget", + "description": "The upgrade is in the progress of provisioning target application type version. The value is 1." + }, + { + "value": "RollingForwardInProgress", + "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2." + }, + { + "value": "RollingForwardPending", + "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3" + }, + { + "value": "UnprovisioningCurrent", + "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 4." + }, + { + "value": "RollingForwardCompleted", + "description": "The upgrade has finished rolling forward. The value is 5." + }, + { + "value": "RollingBackInProgress", + "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 6." + }, + { + "value": "UnprovisioningTarget", + "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 7." + }, + { + "value": "RollingBackCompleted", + "description": "The upgrade has finished rolling back. The value is 8." + }, + { + "value": "Failed", + "description": "The upgrade has failed and is unable to execute FailureAction. The value is 9." + } + ] + } + }, + "PagedComposeDeploymentStatusInfoList": { + "description": "The list of compose deployments in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of compose deployment status information.", + "items": { + "$ref": "#/definitions/ComposeDeploymentStatusInfo" + } + } + } + }, + "CreateComposeDeploymentDescription": { + "description": "Defines description for creating a Service Fabric compose deployment.", + "properties": { + "DeploymentName": { + "$ref": "#/definitions/DeploymentName", + "description": "The name of the deployment." + }, + "ComposeFileContent": { + "type": "string", + "description": "The content of the compose file that describes the deployment to create." + }, + "RegistryCredential": { + "$ref": "#/definitions/RegistryCredential", + "description": "Credential information to connect to container registry." + } + }, + "required": [ + "DeploymentName", + "ComposeFileContent" + ] + }, + "RegistryCredential": { + "description": "Credential information to connect to container registry.", + "properties": { + "RegistryUserName": { + "type": "string", + "description": "The user name to connect to container registry." + }, + "RegistryPassword": { + "type": "string", + "description": "The password for supplied username to connect to container registry." + }, + "PasswordEncrypted": { + "type": "boolean", + "description": "Indicates that supplied container registry password is encrypted." + } + } + }, + "DeployedServicePackageInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServicePackageInfo" + }, + "description": "List of deployed service package information." + }, + "DeployedServicePackageInfo": { + "description": "Information about service package deployed on a Service Fabric node.", + "properties": { + "Name": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service package as specified in the service manifest." + }, + "Version": { + "type": "string", + "description": "The version of the service package specified in service manifest." + }, + "Status": { + "$ref": "#/definitions/DeploymentStatus", + "description": "Specifies the status of a deployed application or service package on a Service Fabric node." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeploymentName": { + "type": "string", + "description": "The name of the deployment." + }, + "CorrelationSchemeList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelationDescription" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "MoveCost": { + "type": "string", + "description": "Specifies the move cost for the service.", + "enum": [ + "Zero", + "Low", + "Medium", + "High", + "VeryHigh" + ], + "x-ms-enum": { + "name": "MoveCost", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Zero move cost. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the move cost of the service as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the move cost of the service as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the move cost of the service as High. The value is 3." + }, + { + "value": "VeryHigh", + "description": "Specifies the move cost of the service as VeryHigh. The value is 4." + } + ] + } + }, + "PartitionScheme": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "Invalid", + "Singleton", + "UniformInt64Range", + "Named" + ], + "x-ms-enum": { + "name": "PartitionScheme", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Singleton", + "description": "Indicates that the partition is based on string names, and is a SingletonPartitionSchemeDescription object, The value is 1." + }, + { + "value": "UniformInt64Range", + "description": "Indicates that the partition is based on Int64 key ranges, and is a UniformInt64RangePartitionSchemeDescription object. The value is 2." + }, + { + "value": "Named", + "description": "Indicates that the partition is based on string names, and is a NamedPartitionSchemeDescription object. The value is 3" + } + ] + } + }, + "ServiceCorrelationDescription": { + "description": "Creates a particular correlation between services.", + "required": [ + "Scheme", + "ServiceName" + ], + "properties": { + "Scheme": { + "$ref": "#/definitions/ServiceCorrelationScheme", + "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service that the correlation relationship is established with." + } + } + }, + "ServiceCorrelationScheme": { + "type": "string", + "description": "The service correlation scheme.", + "enum": [ + "Invalid", + "Affinity", + "AlignedAffinity", + "NonAlignedAffinity" + ], + "x-ms-enum": { + "name": "ServiceCorrelationScheme", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "An invalid correlation scheme. Cannot be used. The value is zero." + }, + { + "value": "Affinity", + "description": "Indicates that this service has an affinity relationship with another service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity options. The value is 1." + }, + { + "value": "AlignedAffinity", + "description": "Aligned affinity ensures that the primaries of the partitions of the affinitized services are collocated on the same nodes. This is the default and is the same as selecting the Affinity scheme. The value is 2." + }, + { + "value": "NonAlignedAffinity", + "description": "Non-Aligned affinity guarantees that all replicas of each service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas of particular role will be collocated. The value is 3." + } + ] + } + }, + "ServiceLoadMetricsList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLoadMetricDescription" + }, + "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + }, + "ServiceLoadMetricDescription": { + "description": "Specifies a metric to load balance a service during runtime.", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case-sensitive." + }, + "Weight": { + "$ref": "#/definitions/ServiceLoadMetricWeight", + "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." + }, + "PrimaryDefaultLoad": { + "type": "integer", + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica." + }, + "SecondaryDefaultLoad": { + "type": "integer", + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica." + }, + "AuxiliaryDefaultLoad": { + "type": "integer", + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is an Auxiliary replica." + }, + "DefaultLoad": { + "type": "integer", + "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." + } + } + }, + "ServiceLoadMetricWeight": { + "type": "string", + "description": "Determines the metric weight relative to the other metrics that are configured for this service. During runtime, if two metrics end up in conflict, the Cluster Resource Manager prefers the metric with the higher weight.", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "ServiceLoadMetricWeight", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Disables resource balancing for this metric. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the metric weight of the service load as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the metric weight of the service load as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the metric weight of the service load as High. The value is 3." + } + ] + } + }, + "ServicePackageActivationMode": { + "type": "string", + "description": "The activation mode of service package to be used for a Service Fabric service. This is specified at the time of creating the Service.", + "enum": [ + "SharedProcess", + "ExclusiveProcess" + ], + "x-ms-enum": { + "name": "ServicePackageActivationMode", + "modelAsString": true, + "values": [ + { + "value": "SharedProcess", + "description": "This is the default activation mode. With this activation mode, replicas or instances from different partition(s) of service, on a given node, will share same activation of service package on a node. The value is zero." + }, + { + "value": "ExclusiveProcess", + "description": "With this activation mode, each replica or instance of service, on a given node, will have its own dedicated activation of service package on a node. The value is 1." + } + ] + } + }, + "ServicePlacementPoliciesList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServicePlacementPolicyDescription" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "PartitionSchemeDescription": { + "discriminator": "PartitionScheme", + "description": "Describes how the service is partitioned.", + "required": [ + "PartitionScheme" + ], + "properties": { + "PartitionScheme": { + "$ref": "#/definitions/PartitionScheme", + "description": "Specifies how the service is partitioned." + } + } + }, + "NamedPartitionSchemeDescription": { + "description": "Describes the named partition scheme of the service.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSchemeDescription" + } + ], + "x-ms-discriminator-value": "Named", + "required": [ + "Count", + "Names" + ], + "properties": { + "Count": { + "type": "integer", + "description": "The number of partitions." + }, + "Names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of size specified by the ‘Count’ parameter, for the names of the partitions." + } + } + }, + "SingletonPartitionSchemeDescription": { + "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSchemeDescription" + } + ], + "x-ms-discriminator-value": "Singleton" + }, + "UniformInt64RangePartitionSchemeDescription": { + "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", + "allOf": [ + { + "$ref": "#/definitions/PartitionSchemeDescription" + } + ], + "x-ms-discriminator-value": "UniformInt64Range", + "required": [ + "Count", + "LowKey", + "HighKey" + ], + "properties": { + "Count": { + "type": "integer", + "description": "The number of partitions." + }, + "LowKey": { + "type": "string", + "description": "String indicating the lower bound of the partition key range that\nshould be split between the partitions." + }, + "HighKey": { + "type": "string", + "description": "String indicating the upper bound of the partition key range that\nshould be split between the partitions." + } + } + }, + "ServiceDescription": { + "discriminator": "ServiceKind", + "description": "A ServiceDescription contains all of the information necessary to create a service.", + "required": [ + "ServiceKind", + "ServiceName", + "ServiceTypeName", + "PartitionDescription" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The service kind." + }, + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "InitializationData": { + "$ref": "#/definitions/ByteArray", + "description": "The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created." + }, + "PartitionDescription": { + "$ref": "#/definitions/PartitionSchemeDescription", + "description": "The partition description as an object." + }, + "PlacementConstraints": { + "type": "string", + "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"." + }, + "CorrelationScheme": { + "$ref": "#/definitions/CorrelationSchemeList", + "description": "The correlation scheme." + }, + "ServiceLoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList", + "description": "The service load metrics." + }, + "ServicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPoliciesList", + "description": "The service placement policies." + }, + "DefaultMoveCost": { + "$ref": "#/definitions/MoveCost", + "description": "The move cost for the service." + }, + "IsDefaultMoveCostSpecified": { + "type": "boolean", + "description": "Indicates if the DefaultMoveCost property is specified." + }, + "ServicePackageActivationMode": { + "$ref": "#/definitions/ServicePackageActivationMode", + "description": "The activation mode of service package to be used for a service." + }, + "ServiceDnsName": { + "type": "string", + "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster." + }, + "ScalingPolicies": { + "$ref": "#/definitions/ScalingPolicyDescriptionList", + "description": "Scaling policies for this service." + }, + "TagsRequiredToPlace": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for placement of this service." + }, + "TagsRequiredToRun": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for running of this service." + } + } + }, + "StatefulServiceDescription": { + "description": "Describes a stateful service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceDescription" + } + ], + "x-ms-discriminator-value": "Stateful", + "required": [ + "TargetReplicaSetSize", + "MinReplicaSetSize", + "HasPersistedState" + ], + "properties": { + "TargetReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The target replica set size as a number." + }, + "MinReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The minimum replica set size as a number." + }, + "HasPersistedState": { + "type": "boolean", + "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false." + }, + "Flags": { + "type": "integer", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 8.\n- DropSourceReplicaOnMove - Indicates the DropSourceReplicaOnMove property is set. The value is 16." + }, + "ReplicaRestartWaitDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The duration, in seconds, between when a replica goes down and when a new replica is created." + }, + "QuorumLossWaitDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss." + }, + "StandByReplicaKeepDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The definition on how long StandBy replicas should be maintained before being removed." + }, + "ServicePlacementTimeLimitSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck." + }, + "DropSourceReplicaOnMove": { + "type": "boolean", + "description": "Indicates whether to drop source Secondary replica even if the target replica has not finished build. If desired behavior is to drop it as soon as possible the value of this property is true, if not it is false." + }, + "ReplicaLifecycleDescription": { + "$ref": "#/definitions/ReplicaLifecycleDescription", + "description": "Defines how replicas of this service will behave during their lifecycle." + }, + "AuxiliaryReplicaCount": { + "type": "integer", + "minimum": 0, + "description": "The auxiliary replica count as a number. To use Auxiliary replicas, the following must be true: AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3." + } + } + }, + "StatelessServiceDescription": { + "description": "Describes a stateless service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceDescription" + } + ], + "x-ms-discriminator-value": "Stateless", + "required": [ + "InstanceCount" + ], + "properties": { + "InstanceCount": { + "type": "integer", + "minimum": -1, + "description": "The instance count." + }, + "MinInstanceCount": { + "$ref": "#/definitions/MinInstanceCount", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "$ref": "#/definitions/MinInstancePercentage", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "Flags": { + "type": "integer", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 1 then the flags for InstanceCloseDelayDuration is set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 1.\n- InstanceRestartWaitDuration - Indicates the InstanceRestartWaitDurationSeconds property is set. The value is 2." + }, + "InstanceCloseDelayDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests.\nNote, the default value of InstanceCloseDelayDuration is 0, which indicates that there won't be any delay or removal of the endpoint prior to closing the instance." + }, + "InstanceLifecycleDescription": { + "$ref": "#/definitions/InstanceLifecycleDescription", + "description": "Defines how instances of this service will behave during their lifecycle." + }, + "InstanceRestartWaitDurationSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "When a stateless instance goes down, this timer starts. When it expires Service Fabric will create a new instance on any node in the cluster. \nThis configuration is to reduce unnecessary creation of a new instance in situations where the instance going down is likely to recover in a short time. For example, during an upgrade.\nThe default value is 0, which indicates that when stateless instance goes down, Service Fabric will immediately start building its replacement." + } + } + }, + "ReplicatorQueueStatus": { + "description": "Provides various statistics of the queue used in the service fabric replicator.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.\nDepending on the role of the replicator, the properties in this type imply different meanings.", + "properties": { + "QueueUtilizationPercentage": { + "type": "integer", + "format": "int32", + "description": "Represents the utilization of the queue. A value of 0 indicates that the queue is empty and a value of 100 indicates the queue is full." + }, + "QueueMemorySize": { + "type": "string", + "description": "Represents the virtual memory consumed by the queue in bytes." + }, + "FirstSequenceNumber": { + "type": "string", + "description": "On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is the smallest sequence number of the operation that is present in the queue." + }, + "CompletedSequenceNumber": { + "type": "string", + "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state." + }, + "CommittedSequenceNumber": { + "type": "string", + "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which a write quorum of the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary." + }, + "LastSequenceNumber": { + "type": "string", + "description": "Represents the latest sequence number of the operation that is available in the queue." + } + } + }, + "ReplicatorStatus": { + "discriminator": "Kind", + "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ReplicaRole", + "description": "The role of a replica of a stateful service." + } + } + }, + "PrimaryReplicatorStatus": { + "x-ms-discriminator-value": "Primary", + "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a Primary role.", + "allOf": [ + { + "$ref": "#/definitions/ReplicatorStatus" + } + ], + "properties": { + "ReplicationQueueStatus": { + "$ref": "#/definitions/ReplicatorQueueStatus", + "description": "Details about the replication queue on the primary replicator." + }, + "RemoteReplicators": { + "$ref": "#/definitions/RemoteReplicatorStatusList", + "description": "The status of all the active and idle secondary replicators that the primary is aware of." + } + } + }, + "SecondaryReplicatorStatus": { + "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a ActiveSecondary role.", + "allOf": [ + { + "$ref": "#/definitions/ReplicatorStatus" + } + ], + "properties": { + "ReplicationQueueStatus": { + "$ref": "#/definitions/ReplicatorQueueStatus", + "description": "Details about the replication queue on the secondary replicator." + }, + "LastReplicationOperationReceivedTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last time-stamp (UTC) at which a replication operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a replication operation message was never received." + }, + "IsInBuild": { + "type": "boolean", + "description": "Value that indicates whether the replica is currently being built." + }, + "CopyQueueStatus": { + "$ref": "#/definitions/ReplicatorQueueStatus", + "description": "Details about the copy queue on the secondary replicator." + }, + "LastCopyOperationReceivedTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last time-stamp (UTC) at which a copy operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a copy operation message was never received." + }, + "LastAcknowledgementSentTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.\nUTC 0 represents an invalid value, indicating that an acknowledgment message was never sent." + } + } + }, + "SecondaryActiveReplicatorStatus": { + "x-ms-discriminator-value": "ActiveSecondary", + "description": "Status of the secondary replicator when it is in active mode and is part of the replica set.", + "allOf": [ + { + "$ref": "#/definitions/SecondaryReplicatorStatus" + } + ] + }, + "SecondaryIdleReplicatorStatus": { + "x-ms-discriminator-value": "IdleSecondary", + "description": "Status of the secondary replicator when it is in idle mode and is being built by the primary.", + "allOf": [ + { + "$ref": "#/definitions/SecondaryReplicatorStatus" + } + ] + }, + "RemoteReplicatorStatus": { + "description": "Represents the state of the secondary replicator from the primary replicator’s point of view.", + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Represents the replica ID of the remote secondary replicator." + }, + "LastAcknowledgementProcessedTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.\nUTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed." + }, + "LastReceivedReplicationSequenceNumber": { + "type": "string", + "description": "The highest replication operation sequence number that the secondary has received from the primary." + }, + "LastAppliedReplicationSequenceNumber": { + "type": "string", + "description": "The highest replication operation sequence number that the secondary has applied to its state." + }, + "IsInBuild": { + "type": "boolean", + "description": "A value that indicates whether the secondary replica is in the process of being built." + }, + "LastReceivedCopySequenceNumber": { + "type": "string", + "description": "The highest copy operation sequence number that the secondary has received from the primary.\nA value of -1 implies that the secondary has received all copy operations." + }, + "LastAppliedCopySequenceNumber": { + "type": "string", + "description": "The highest copy operation sequence number that the secondary has applied to its state.\nA value of -1 implies that the secondary has applied all copy operations and the copy process is complete." + }, + "RemoteReplicatorAcknowledgementStatus": { + "$ref": "#/definitions/RemoteReplicatorAcknowledgementStatus", + "description": "Represents the acknowledgment status for the remote secondary replicator." + } + } + }, + "RemoteReplicatorStatusList": { + "type": "array", + "items": { + "$ref": "#/definitions/RemoteReplicatorStatus" + }, + "description": "List of remote replicator status" + }, + "RemoteReplicatorAcknowledgementStatus": { + "description": "Provides details about the remote replicators from the primary replicator's point of view.", + "properties": { + "ReplicationStreamAcknowledgementDetail": { + "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail", + "description": "Details about the acknowledgements for operations that are part of the replication stream data." + }, + "CopyStreamAcknowledgementDetail": { + "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail", + "description": "Details about the acknowledgements for operations that are part of the copy stream data." + } + } + }, + "RemoteReplicatorAcknowledgementDetail": { + "description": "Provides various statistics of the acknowledgements that are being received from the remote replicator.", + "properties": { + "AverageReceiveDuration": { + "type": "string", + "description": "Represents the average duration it takes for the remote replicator to receive an operation." + }, + "AverageApplyDuration": { + "type": "string", + "description": "Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk." + }, + "NotReceivedCount": { + "type": "string", + "description": "Represents the number of operations not yet received by a remote replicator." + }, + "ReceivedAndNotAppliedCount": { + "type": "string", + "description": "Represents the number of operations received and not yet applied by a remote replicator." + } + } + }, + "DeployedServiceReplicaDetailInfo": { + "discriminator": "ServiceKind", + "description": "Information about a Service Fabric service replica deployed on a node.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of service (Stateless or Stateful)." + }, + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "Full hierarchical name of the service in URI format starting with `fabric:`." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + }, + "CurrentServiceOperation": { + "$ref": "#/definitions/ServiceOperationName", + "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance." + }, + "CurrentServiceOperationStartTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The start time of the current service operation in UTC format." + }, + "ReportedLoad": { + "$ref": "#/definitions/LoadMetricReportInfoList", + "description": "List of load reported by replica." + } + } + }, + "DeployedStatefulServiceReplicaDetailInfo": { + "description": "Information about a stateful replica running in a code package. Note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and replicaId.", + "x-ms-discriminator-value": "Stateful", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + ], + "properties": { + "ReplicaId": { + "$ref": "#/definitions/ReplicaId", + "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id." + }, + "CurrentReplicatorOperation": { + "$ref": "#/definitions/ReplicatorOperationName", + "description": "Specifies the operation currently being executed by the Replicator." + }, + "ReadStatus": { + "$ref": "#/definitions/PartitionAccessStatus", + "description": "Specifies the access status of the partition." + }, + "WriteStatus": { + "$ref": "#/definitions/PartitionAccessStatus", + "description": "Specifies the access status of the partition." + }, + "ReplicatorStatus": { + "$ref": "#/definitions/ReplicatorStatus", + "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc." + }, + "ReplicaStatus": { + "$ref": "#/definitions/KeyValueStoreReplicaStatus", + "description": "Key value store related information for the replica." + }, + "DeployedServiceReplicaQueryResult": { + "$ref": "#/definitions/DeployedStatefulServiceReplicaInfo", + "description": "Information about a stateful service replica deployed on a node." + } + } + }, + "DeployedStatelessServiceInstanceDetailInfo": { + "description": "Information about a stateless instance running in a code package. Note that DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and InstanceId.", + "x-ms-discriminator-value": "Stateless", + "allOf": [ + { + "$ref": "#/definitions/DeployedServiceReplicaDetailInfo" + } + ], + "properties": { + "InstanceId": { + "$ref": "#/definitions/InstanceId", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + }, + "DeployedServiceReplicaQueryResult": { + "$ref": "#/definitions/DeployedStatelessServiceInstanceInfo", + "description": "Information about a stateless service instance deployed on a node." + } + } + }, + "FabricReplicaStatus": { + "type": "string", + "description": "Specifies the status of the replica.", + "enum": [ + "Invalid", + "Down", + "Up" + ], + "x-ms-enum": { + "name": "FabricReplicaStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller." + }, + { + "value": "Down", + "description": "Indicates that the replica is down." + }, + { + "value": "Up", + "description": "Indicates that the replica is up." + } + ] + } + }, + "LoadMetricReportInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadMetricReportInfo" + }, + "description": "List of load reported by replica." + }, + "LoadMetricReportInfo": { + "description": "Information about load reported by replica.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the metric." + }, + "Value": { + "type": "integer", + "format": "int32", + "description": "The value of the load for the metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue." + }, + "CurrentValue": { + "type": "string", + "format": "double", + "description": "The double value of the load for the metric." + }, + "LastReportedUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC time when the load is reported." + } + } + }, + "PartitionAccessStatus": { + "type": "string", + "description": "Specifies the access status of the partition.", + "enum": [ + "Invalid", + "Granted", + "ReconfigurationPending", + "NotPrimary", + "NoWriteQuorum" + ], + "x-ms-enum": { + "name": "PartitionAccessStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller." + }, + { + "value": "Granted", + "description": "Indicates that the read or write operation access is granted and the operation is allowed." + }, + { + "value": "ReconfigurationPending", + "description": "Indicates that the client should try again later, because a reconfiguration is in progress." + }, + { + "value": "NotPrimary", + "description": "Indicates that this client request was received by a replica that is not a Primary replica." + }, + { + "value": "NoWriteQuorum", + "description": "Indicates that no write quorum is available and, therefore, no write operation can be accepted." + } + ] + } + }, + "ReplicatorOperationName": { + "type": "string", + "description": "Specifies the operation currently being executed by the Replicator.", + "enum": [ + "Invalid", + "None", + "Open", + "ChangeRole", + "UpdateEpoch", + "Close", + "Abort", + "OnDataLoss", + "WaitForCatchup", + "Build" + ], + "x-ms-enum": { + "name": "ReplicatorOperationName", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Default value if the replicator is not yet ready." + }, + { + "value": "None", + "description": "Replicator is not running any operation from Service Fabric perspective." + }, + { + "value": "Open", + "description": "Replicator is opening." + }, + { + "value": "ChangeRole", + "description": "Replicator is in the process of changing its role." + }, + { + "value": "UpdateEpoch", + "description": "Due to a change in the replica set, replicator is being updated with its Epoch." + }, + { + "value": "Close", + "description": "Replicator is closing." + }, + { + "value": "Abort", + "description": "Replicator is being aborted." + }, + { + "value": "OnDataLoss", + "description": "Replicator is handling the data loss condition, where the user service may potentially be recovering state from an external source." + }, + { + "value": "WaitForCatchup", + "description": "Replicator is waiting for a quorum of replicas to be caught up to the latest state." + }, + { + "value": "Build", + "description": "Replicator is in the process of building one or more replicas." + } + ] + } + }, + "ServiceOperationName": { + "type": "string", + "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance.", + "enum": [ + "Unknown", + "None", + "Open", + "ChangeRole", + "Close", + "Abort" + ], + "x-ms-enum": { + "name": "ServiceOperationName", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Reserved for future use." + }, + { + "value": "None", + "description": "The service replica or instance is not going through any life-cycle changes." + }, + { + "value": "Open", + "description": "The service replica or instance is being opened." + }, + { + "value": "ChangeRole", + "description": "The service replica is changing roles." + }, + { + "value": "Close", + "description": "The service replica or instance is being closed." + }, + { + "value": "Abort", + "description": "The service replica or instance is being aborted." + } + ] + } + }, + "ReplicaKind": { + "type": "string", + "description": "The role of a replica of a stateful service.", + "enum": [ + "Invalid", + "KeyValueStore" + ], + "x-ms-enum": { + "name": "ReplicaKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Represents an invalid replica kind. The value is zero." + }, + { + "value": "KeyValueStore", + "description": "Represents a key value store replica. The value is 1" + } + ] + } + }, + "ReplicaStatusBase": { + "discriminator": "Kind", + "description": "Information about the replica.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ReplicaKind", + "description": "The role of a replica of a stateful service." + } + } + }, + "KeyValueStoreReplicaStatus": { + "description": "Key value store related information for the replica.", + "x-ms-discriminator-value": "KeyValueStore", + "allOf": [ + { + "$ref": "#/definitions/ReplicaStatusBase" + } + ], + "properties": { + "DatabaseRowCountEstimate": { + "type": "string", + "description": "Value indicating the estimated number of rows in the underlying database." + }, + "DatabaseLogicalSizeEstimate": { + "type": "string", + "description": "Value indicating the estimated size of the underlying database." + }, + "CopyNotificationCurrentKeyFilter": { + "type": "string", + "description": "Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback." + }, + "CopyNotificationCurrentProgress": { + "type": "string", + "description": "Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback." + }, + "StatusDetails": { + "type": "string", + "description": "Value indicating the current status details of the replica." + } + } + }, + "ServiceUpdateDescription": { + "discriminator": "ServiceKind", + "description": "A ServiceUpdateDescription contains all of the information necessary to update a service.", + "required": [ + "ServiceKind" + ], + "properties": { + "ServiceKind": { + "$ref": "#/definitions/ServiceKind", + "description": "The service kind." + }, + "Flags": { + "type": "string", + "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 2.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.\n- MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.\n- PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.\n- PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.\n- Correlation - Indicates the CorrelationScheme property is set. The value is 128.\n- Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.\n- DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.\n- ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 2048.\n- MinInstanceCount - Indicates the MinInstanceCount property is set. The value is 4096.\n- MinInstancePercentage - Indicates the MinInstancePercentage property is set. The value is 8192.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 16384.\n- InstanceRestartWaitDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 32768.\n- DropSourceReplicaOnMove - Indicates the DropSourceReplicaOnMove property is set. The value is 65536.\n- ServiceDnsName - Indicates the ServiceDnsName property is set. The value is 131072.\n- TagsForPlacement - Indicates the TagsForPlacement property is set. The value is 1048576.\n- TagsForRunning - Indicates the TagsForRunning property is set. The value is 2097152." + }, + "PlacementConstraints": { + "type": "string", + "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"." + }, + "CorrelationScheme": { + "$ref": "#/definitions/CorrelationSchemeList", + "description": "The correlation scheme." + }, + "LoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList", + "description": "The service load metrics." + }, + "ServicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPoliciesList", + "description": "The service placement policies." + }, + "DefaultMoveCost": { + "$ref": "#/definitions/MoveCost", + "description": "The move cost for the service." + }, + "ScalingPolicies": { + "$ref": "#/definitions/ScalingPolicyDescriptionList", + "description": "Scaling policies for this service." + }, + "ServiceDnsName": { + "type": "string", + "description": "The DNS name of the service." + }, + "TagsForPlacement": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for placement of this service." + }, + "TagsForRunning": { + "$ref": "#/definitions/NodeTagsDescription", + "description": "Tags for running of this service." + } + } + }, + "StatefulServiceUpdateDescription": { + "description": "Describes an update for a stateful service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceUpdateDescription" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "TargetReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The target replica set size as a number." + }, + "MinReplicaSetSize": { + "type": "integer", + "minimum": 1, + "description": "The minimum replica set size as a number." + }, + "ReplicaRestartWaitDurationSeconds": { + "type": "string", + "description": "The duration, in seconds, between when a replica goes down and when a new replica is created." + }, + "QuorumLossWaitDurationSeconds": { + "type": "string", + "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss." + }, + "StandByReplicaKeepDurationSeconds": { + "type": "string", + "description": "The definition on how long StandBy replicas should be maintained before being removed." + }, + "ServicePlacementTimeLimitSeconds": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck." + }, + "DropSourceReplicaOnMove": { + "type": "boolean", + "description": "Indicates whether to drop source Secondary replica even if the target replica has not finished build. If desired behavior is to drop it as soon as possible the value of this property is true, if not it is false." + }, + "ReplicaLifecycleDescription": { + "$ref": "#/definitions/ReplicaLifecycleDescription", + "description": "Defines how replicas of this service will behave during their lifecycle." + }, + "AuxiliaryReplicaCount": { + "type": "integer", + "minimum": 0, + "description": "The auxiliary replica count as a number. To use Auxiliary replicas, the following must be true: AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3." + } + } + }, + "StatelessServiceUpdateDescription": { + "description": "Describes an update for a stateless service.", + "allOf": [ + { + "$ref": "#/definitions/ServiceUpdateDescription" + } + ], + "x-ms-discriminator-value": "Stateless", + "properties": { + "InstanceCount": { + "type": "integer", + "minimum": -1, + "description": "The instance count." + }, + "MinInstanceCount": { + "$ref": "#/definitions/MinInstanceCount", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "MinInstancePercentage": { + "$ref": "#/definitions/MinInstancePercentage", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "InstanceCloseDelayDurationSeconds": { + "type": "string", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests." + }, + "InstanceLifecycleDescription": { + "$ref": "#/definitions/InstanceLifecycleDescription", + "description": "Defines how instances of this service will behave during their lifecycle." + }, + "InstanceRestartWaitDurationSeconds": { + "type": "string", + "description": "When a stateless instance goes down, this timer starts. When it expires Service Fabric will create a new instance on any node in the cluster. \nThis configuration is to reduce unnecessary creation of a new instance in situations where the instance going down is likely to recover in a short time. For example, during an upgrade.\nThe default value is 0, which indicates that when stateless instance goes down, Service Fabric will immediately start building its replacement." + } + } + }, + "ImageStoreRelativePath": { + "type": "string", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "FileVersion": { + "description": "Information about the version of image store file.", + "properties": { + "VersionNumber": { + "type": "string", + "description": "The current image store version number for the file is used in image store for checking whether it need to be updated." + }, + "EpochDataLossNumber": { + "type": "string", + "description": "The epoch data loss number of image store replica when this file entry was updated or created." + }, + "EpochConfigurationNumber": { + "type": "string", + "description": "The epoch configuration version number of the image store replica when this file entry was created or updated." + } + } + }, + "DiskInfo": { + "description": "Information about the disk", + "properties": { + "Capacity": { + "type": "string", + "description": "the disk size in bytes" + }, + "AvailableSpace": { + "type": "string", + "description": "the available disk space in bytes" + } + } + }, + "FileInfo": { + "description": "Information about a image store file.", + "properties": { + "FileSize": { + "type": "string", + "description": "The size of file in bytes." + }, + "FileVersion": { + "$ref": "#/definitions/FileVersion", + "description": "Information about the version of image store file." + }, + "ModifiedDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the image store file was last modified." + }, + "StoreRelativePath": { + "type": "string", + "description": "The file path relative to the image store root path." + } + } + }, + "FolderInfo": { + "description": "Information about a image store folder. It includes how many files this folder contains and its image store relative path.", + "properties": { + "StoreRelativePath": { + "$ref": "#/definitions/ImageStoreRelativePath", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "FileCount": { + "type": "string", + "description": "The number of files from within the image store folder." + } + } + }, + "FolderSizeInfo": { + "description": "Information of a image store folder size", + "properties": { + "StoreRelativePath": { + "$ref": "#/definitions/ImageStoreRelativePath", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "FolderSize": { + "type": "string", + "description": "The size of folder in bytes." + } + } + }, + "UsageInfo": { + "description": "Information about how much space and how many files in the file system the ImageStore is using in this category", + "properties": { + "UsedSpace": { + "type": "string", + "description": "the size of all files in this category" + }, + "FileCount": { + "type": "string", + "description": "the number of all files in this category" + } + } + }, + "ImageStoreContent": { + "description": "Information about the image store content.", + "properties": { + "StoreFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/FileInfo" + }, + "description": "The list of image store file info objects represents files found under the given image store relative path." + }, + "StoreFolders": { + "type": "array", + "items": { + "$ref": "#/definitions/FolderInfo" + }, + "description": "The list of image store folder info objects represents subfolders found under the given image store relative path." + } + } + }, + "ImageStoreCopyDescription": { + "description": "Information about how to copy image store content from one image store relative path to another image store relative path.", + "required": [ + "RemoteSource", + "RemoteDestination" + ], + "properties": { + "RemoteSource": { + "type": "string", + "description": "The relative path of source image store content to be copied from." + }, + "RemoteDestination": { + "type": "string", + "description": "The relative path of destination image store content to be copied to." + }, + "SkipFiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of the file names to be skipped for copying." + }, + "CheckMarkFile": { + "type": "boolean", + "description": "Indicates whether to check mark file during copying. The property is true if checking mark file is required, false otherwise. The mark file is used to check whether the folder is well constructed. If the property is true and mark file does not exist, the copy is skipped." + } + } + }, + "ImageStoreInfo": { + "description": "Information about the ImageStore's resource usage", + "properties": { + "DiskInfo": { + "$ref": "#/definitions/DiskInfo", + "description": "disk capacity and available disk space on the node where the ImageStore primary is placed." + }, + "UsedByMetadata": { + "$ref": "#/definitions/UsageInfo", + "description": "the ImageStore's file system usage for metadata." + }, + "UsedByStaging": { + "$ref": "#/definitions/UsageInfo", + "description": "The ImageStore's file system usage for staging files that are being uploaded." + }, + "UsedByCopy": { + "$ref": "#/definitions/UsageInfo", + "description": "the ImageStore's file system usage for copied application and cluster packages. [Removing application and cluster packages](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-deleteimagestorecontent) will free up this space." + }, + "UsedByRegister": { + "$ref": "#/definitions/UsageInfo", + "description": "the ImageStore's file system usage for registered and cluster packages. [Unregistering application](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) and [cluster packages](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) will free up this space." + } + } + }, + "InstanceId": { + "type": "string", + "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId." + }, + "CodePackageInstanceId": { + "type": "string", + "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change." + }, + "HostIsolationMode": { + "type": "string", + "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest.", + "enum": [ + "None", + "Process", + "HyperV" + ], + "x-ms-enum": { + "name": "HostIsolationMode", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Indicates the isolation mode is not applicable for given HostType. The value is 0." + }, + { + "value": "Process", + "description": "This is the default isolation mode for a ContainerHost. The value is 1." + }, + { + "value": "HyperV", + "description": "Indicates the ContainerHost is a Hyper-V container. This applies to only Windows containers. The value is 2." + } + ] + } + }, + "HostType": { + "type": "string", + "description": "Specifies the type of host for main entry point of a code package as specified in service manifest.", + "enum": [ + "Invalid", + "ExeHost", + "ContainerHost" + ], + "x-ms-enum": { + "name": "HostType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the type of host is not known or invalid. The value is 0." + }, + { + "value": "ExeHost", + "description": "Indicates the host is an executable. The value is 1." + }, + { + "value": "ContainerHost", + "description": "Indicates the host is a container. The value is 2." + } + ] + } + }, + "RestartDeployedCodePackageDescription": { + "description": "Defines description for restarting a deployed code package on Service Fabric node.", + "required": [ + "ServiceManifestName", + "CodePackageName", + "CodePackageInstanceId" + ], + "properties": { + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of service manifest that specified this code package." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + }, + "CodePackageName": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package defined in the service manifest." + }, + "CodePackageInstanceId": { + "$ref": "#/definitions/CodePackageInstanceId", + "description": "The instance ID for currently running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started.\nEach time entry point executable is run, its instance ID will change. If 0 is passed in as the code package instance ID, the API will restart the code package with whatever instance ID it is currently running.\nIf an instance ID other than 0 is passed in, the API will restart the code package only if the current Instance ID matches the passed in instance ID.\nNote, passing in the exact instance ID (not 0) in the API is safer, because if ensures at most one restart of the code package." + } + } + }, + "DeployedServiceTypeInfo": { + "description": "Information about service type deployed on a node, information such as the status of the service type registration on a node.", + "properties": { + "ServiceTypeName": { + "$ref": "#/definitions/ServiceTypeName", + "description": "Name of the service type as specified in the service manifest." + }, + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of the service manifest in which this service type is defined." + }, + "CodePackageName": { + "$ref": "#/definitions/CodePackageName", + "description": "The name of the code package that registered the service type." + }, + "Status": { + "$ref": "#/definitions/ServiceTypeRegistrationStatus", + "description": "The status of the service type registration on the node." + }, + "ServicePackageActivationId": { + "$ref": "#/definitions/ServicePackageActivationId", + "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string." + } + } + }, + "DeployedServiceTypeInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployedServiceTypeInfo" + }, + "description": "List of information about service type deployed on a node." + }, + "ServiceTypeRegistrationStatus": { + "type": "string", + "description": "The status of the service type registration on the node.", + "enum": [ + "Invalid", + "Disabled", + "Enabled", + "Registered" + ], + "x-ms-enum": { + "name": "ServiceTypeRegistrationStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the registration status is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Disabled", + "description": "Indicates that the service type is disabled on this node. A type gets disabled when there are too many failures of the code package hosting the service type. If the service type is disabled, new replicas of that service type will not be placed on the node until it is enabled again. The service type is enabled again after the process hosting it comes up and re-registers the type or a preconfigured time interval has passed. The value is 1." + }, + { + "value": "Enabled", + "description": "Indicates that the service type is enabled on this node. Replicas of this service type can be placed on this node when the code package registers the service type. The value is 2." + }, + { + "value": "Registered", + "description": "Indicates that the service type is enabled and registered on the node by a code package. Replicas of this service type can now be placed on this node. The value is 3." + } + ] + } + }, + "ServiceEndpointRole": { + "type": "string", + "description": "The role of the replica where the endpoint is reported.", + "enum": [ + "Invalid", + "Stateless", + "StatefulPrimary", + "StatefulSecondary" + ], + "x-ms-enum": { + "name": "ServiceEndpointRole", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the service endpoint role is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Stateless", + "description": "Indicates that the service endpoint is of a stateless service. The value is 1." + }, + { + "value": "StatefulPrimary", + "description": "Indicates that the service endpoint is of a primary replica of a stateful service. The value is 2." + }, + { + "value": "StatefulSecondary", + "description": "Indicates that the service endpoint is of a secondary replica of a stateful service. The value is 3." + } + ] + } + }, + "ResolvedServiceEndpoint": { + "description": "Endpoint of a resolved service partition.", + "properties": { + "Kind": { + "$ref": "#/definitions/ServiceEndpointRole", + "description": "The role of the replica where the endpoint is reported." + }, + "Address": { + "type": "string", + "description": "The address of the endpoint. If the endpoint has multiple listeners the address is a JSON object with one property per listener with the value as the address of that listener." + } + } + }, + "ResolvedServicePartition": { + "description": "Information about a service partition and its associated endpoints.", + "required": [ + "Name", + "PartitionInformation", + "Endpoints", + "Version" + ], + "properties": { + "Name": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "PartitionInformation": { + "$ref": "#/definitions/PartitionInformation", + "description": "A representation of the resolved partition." + }, + "Endpoints": { + "$ref": "#/definitions/ResolvedServiceEndpointList", + "description": "List of resolved service endpoints of a service partition." + }, + "Version": { + "type": "string", + "description": "The version of this resolved service partition result. This version should be passed in the next time the ResolveService call is made via the PreviousRspVersion query parameter." + } + } + }, + "ResolvedServiceEndpointList": { + "type": "array", + "items": { + "$ref": "#/definitions/ResolvedServiceEndpoint" + }, + "description": "List of resolved service endpoints of a service partition." + }, + "InvokeDataLossResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "SelectedPartition": { + "$ref": "#/definitions/SelectedPartition", + "description": "This class returns information about the partition that the user-induced operation acted upon." + } + } + }, + "InvokeQuorumLossResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "SelectedPartition": { + "$ref": "#/definitions/SelectedPartition", + "description": "This class returns information about the partition that the user-induced operation acted upon." + } + } + }, + "NodeResult": { + "description": "Contains information about a node that was targeted by a user-induced operation.", + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "NodeInstanceId": { + "type": "string", + "description": "The node instance id." + } + } + }, + "NodeTransitionProgress": { + "description": "Information about an NodeTransition operation. This class contains an OperationState and a NodeTransitionResult. The NodeTransitionResult is not valid until OperationState\nis Completed or Faulted.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "NodeTransitionResult": { + "$ref": "#/definitions/NodeTransitionResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "NodeTransitionResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "NodeResult": { + "$ref": "#/definitions/NodeResult", + "description": "Contains information about a node that was targeted by a user-induced operation." + } + } + }, + "Ordering": { + "type": "string", + "description": "Defines the order.", + "enum": [ + "Desc", + "Asc" + ], + "default": "Desc", + "x-ms-enum": { + "name": "Ordering", + "modelAsString": true, + "values": [ + { + "value": "Desc", + "description": "Descending sort order." + }, + { + "value": "Asc", + "description": "Ascending sort order." + } + ] + } + }, + "NodeTagsDescription": { + "description": "Describes the tags required for placement or running of the service.", + "required": [ + "Count", + "Tags" + ], + "properties": { + "Count": { + "type": "integer", + "description": "The number of tags." + }, + "Tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of size specified by the ‘Count’ parameter, for the placement tags of the service." + } + } + }, + "OperationId": { + "type": "string", + "format": "uuid", + "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API." + }, + "OperationState": { + "type": "string", + "description": "The state of the operation.", + "enum": [ + "Invalid", + "Running", + "RollingBack", + "Completed", + "Faulted", + "Cancelled", + "ForceCancelled" + ], + "x-ms-enum": { + "name": "OperationState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The operation state is invalid." + }, + { + "value": "Running", + "description": "The operation is in progress." + }, + { + "value": "RollingBack", + "description": "The operation is rolling back internal system state because it encountered a fatal error or was cancelled by the user. \"RollingBack\" does not refer to user state. For example, if CancelOperation is called on a command of type PartitionDataLoss, state of \"RollingBack\" does not mean service data is being restored (assuming the command has progressed far enough to cause data loss). It means the system is rolling back/cleaning up internal system state associated with the command." + }, + { + "value": "Completed", + "description": "The operation has completed successfully and is no longer running." + }, + { + "value": "Faulted", + "description": "The operation has failed and is no longer running." + }, + { + "value": "Cancelled", + "description": "The operation was cancelled by the user using CancelOperation, and is no longer running." + }, + { + "value": "ForceCancelled", + "description": "The operation was cancelled by the user using CancelOperation, with the force parameter set to true. It is no longer running. Refer to CancelOperation for more details." + } + ] + } + }, + "OperationStatus": { + "description": "Contains the OperationId, OperationState, and OperationType for user-induced operations.", + "properties": { + "OperationId": { + "$ref": "#/definitions/OperationId", + "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API." + }, + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "Type": { + "$ref": "#/definitions/OperationType", + "description": "The type of the operation." + } + } + }, + "OperationStatusList": { + "type": "array", + "description": "A list of OperationStatus objects.", + "items": { + "$ref": "#/definitions/OperationStatus" + } + }, + "OperationType": { + "type": "string", + "description": "The type of the operation.", + "enum": [ + "Invalid", + "PartitionDataLoss", + "PartitionQuorumLoss", + "PartitionRestart", + "NodeTransition" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The operation state is invalid." + }, + { + "value": "PartitionDataLoss", + "description": "An operation started using the StartDataLoss API." + }, + { + "value": "PartitionQuorumLoss", + "description": "An operation started using the StartQuorumLoss API." + }, + { + "value": "PartitionRestart", + "description": "An operation started using the StartPartitionRestart API." + }, + { + "value": "NodeTransition", + "description": "An operation started using the StartNodeTransition API." + } + ] + } + }, + "PartitionDataLossProgress": { + "description": "Information about a partition data loss user-induced operation.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "InvokeDataLossResult": { + "$ref": "#/definitions/InvokeDataLossResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "PartitionQuorumLossProgress": { + "description": "Information about a partition quorum loss user-induced operation.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "InvokeQuorumLossResult": { + "$ref": "#/definitions/InvokeQuorumLossResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "PartitionRestartProgress": { + "description": "Information about a partition restart user-induced operation.", + "properties": { + "State": { + "$ref": "#/definitions/OperationState", + "description": "The state of the operation." + }, + "RestartPartitionResult": { + "$ref": "#/definitions/RestartPartitionResult", + "description": "Represents information about an operation in a terminal state (Completed or Faulted)." + } + } + }, + "RestartPartitionResult": { + "description": "Represents information about an operation in a terminal state (Completed or Faulted).", + "properties": { + "ErrorCode": { + "type": "integer", + "format": "int32", + "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason." + }, + "SelectedPartition": { + "$ref": "#/definitions/SelectedPartition", + "description": "This class returns information about the partition that the user-induced operation acted upon." + } + } + }, + "SelectedPartition": { + "description": "This class returns information about the partition that the user-induced operation acted upon.", + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service the partition belongs to." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + } + }, + "DeployServicePackageToNodeDescription": { + "description": "Defines description for downloading packages associated with a service manifest to image cache on a Service Fabric node.", + "properties": { + "ServiceManifestName": { + "$ref": "#/definitions/ServiceManifestName", + "description": "The name of service manifest whose packages need to be downloaded." + }, + "ApplicationTypeName": { + "$ref": "#/definitions/ApplicationTypeName", + "description": "The application type name as defined in the application manifest." + }, + "ApplicationTypeVersion": { + "$ref": "#/definitions/ApplicationTypeVersion", + "description": "The version of the application type as defined in the application manifest." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "PackageSharingPolicy": { + "$ref": "#/definitions/PackageSharingPolicyInfoList", + "description": "List of package sharing policy information." + } + }, + "required": [ + "ServiceManifestName", + "ApplicationTypeName", + "ApplicationTypeVersion", + "NodeName" + ] + }, + "PackageSharingPolicyInfo": { + "description": "Represents a policy for the package sharing.", + "properties": { + "SharedPackageName": { + "type": "string", + "description": "The name of code, configuration or data package that should be shared." + }, + "PackageSharingScope": { + "$ref": "#/definitions/PackageSharingPolicyScope", + "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation." + } + } + }, + "PackageSharingPolicyInfoList": { + "type": "array", + "items": { + "$ref": "#/definitions/PackageSharingPolicyInfo" + }, + "description": "List of package sharing policy information." + }, + "PackageSharingPolicyScope": { + "type": "string", + "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation.", + "enum": [ + "None", + "All", + "Code", + "Config", + "Data" + ], + "x-ms-enum": { + "name": "PackageSharingPolicyScope", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No package sharing policy scope. The value is 0." + }, + { + "value": "All", + "description": "Share all code, config and data packages from corresponding service manifest. The value is 1." + }, + { + "value": "Code", + "description": "Share all code packages from corresponding service manifest. The value is 2." + }, + { + "value": "Config", + "description": "Share all config packages from corresponding service manifest. The value is 3." + }, + { + "value": "Data", + "description": "Share all data packages from corresponding service manifest. The value is 4." + } + ] + } + }, + "ResumeApplicationUpgradeDescription": { + "description": "Describes the parameters for resuming an unmonitored manual Service Fabric application upgrade", + "properties": { + "UpgradeDomainName": { + "type": "string", + "description": "The name of the upgrade domain in which to resume the upgrade." + } + }, + "required": [ + "UpgradeDomainName" + ] + }, + "ApplicationUpgradeUpdateDescription": { + "description": "Describes the parameters for updating an ongoing application upgrade.", + "properties": { + "Name": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + }, + "UpgradeKind": { + "$ref": "#/definitions/UpgradeKind", + "description": "The kind of upgrade out of the following possible values." + }, + "ApplicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities." + }, + "UpdateDescription": { + "$ref": "#/definitions/RollingUpgradeUpdateDescription", + "description": "Describes the parameters for updating a rolling upgrade of application or cluster." + } + }, + "required": [ + "Name", + "UpgradeKind" + ] + }, + "RollingUpgradeUpdateDescription": { + "description": "Describes the parameters for updating a rolling upgrade of application or cluster.", + "properties": { + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred." + }, + "ForceRestart": { + "$ref": "#/definitions/ForceRestart", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "ReplicaSetCheckTimeoutInMilliseconds": { + "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + }, + "FailureAction": { + "$ref": "#/definitions/FailureAction", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode." + }, + "HealthCheckWaitDurationInMilliseconds": { + "$ref": "#/definitions/HealthCheckWaitDuration", + "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "HealthCheckStableDurationInMilliseconds": { + "$ref": "#/definitions/HealthCheckStableDuration", + "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "HealthCheckRetryTimeoutInMilliseconds": { + "$ref": "#/definitions/HealthCheckRetryTimeout", + "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "UpgradeTimeoutInMilliseconds": { + "$ref": "#/definitions/UpgradeTimeout", + "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "UpgradeDomainTimeoutInMilliseconds": { + "$ref": "#/definitions/UpgradeDomainTimeout", + "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + }, + "InstanceCloseDelayDurationInSeconds": { + "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description." + } + }, + "required": [ + "RollingUpgradeMode" + ] + }, + "NameDescription": { + "description": "Describes a Service Fabric name.", + "properties": { + "Name": { + "$ref": "#/definitions/FabricName", + "description": "The Service Fabric name, including the 'fabric:' URI scheme." + } + }, + "required": [ + "Name" + ] + }, + "FabricName": { + "type": "string", + "description": "The Service Fabric name, including the 'fabric:' URI scheme." + }, + "PagedSubNameInfoList": { + "description": "A paged list of Service Fabric names. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "IsConsistent": { + "type": "boolean", + "description": "Indicates whether any name under the given name has been modified during the enumeration. If there was a modification, this property value is false." + }, + "SubNames": { + "type": "array", + "description": "List of the child names.", + "items": { + "$ref": "#/definitions/FabricName" + } + } + } + }, + "PropertyValueKind": { + "type": "string", + "description": "The kind of property, determined by the type of data. Following are the possible values.", + "enum": [ + "Invalid", + "Binary", + "Int64", + "Double", + "String", + "Guid" + ], + "x-ms-enum": { + "name": "PropertyValueKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the property is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Binary", + "description": "The data inside the property is a binary blob. The value is 1." + }, + { + "value": "Int64", + "description": "The data inside the property is an int64. The value is 2." + }, + { + "value": "Double", + "description": "The data inside the property is a double. The value is 3." + }, + { + "value": "String", + "description": "The data inside the property is a string. The value is 4." + }, + { + "value": "Guid", + "description": "The data inside the property is a guid. The value is 5." + } + ] + } + }, + "PropertyValue": { + "discriminator": "Kind", + "description": "Describes a Service Fabric property value.", + "properties": { + "Kind": { + "$ref": "#/definitions/PropertyValueKind", + "description": "The kind of property, determined by the type of data. Following are the possible values." + } + }, + "required": [ + "Kind" + ] + }, + "BinaryPropertyValue": { + "description": "Describes a Service Fabric property value of type Binary.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Binary", + "required": [ + "Data" + ], + "properties": { + "Data": { + "$ref": "#/definitions/ByteArray", + "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255." + } + } + }, + "Int64PropertyValue": { + "description": "Describes a Service Fabric property value of type Int64.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Int64", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "string", + "description": "The data of the property value." + } + } + }, + "DoublePropertyValue": { + "description": "Describes a Service Fabric property value of type Double.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Double", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "number", + "format": "double", + "description": "The data of the property value." + } + } + }, + "StringPropertyValue": { + "description": "Describes a Service Fabric property value of type String.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "String", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "string", + "description": "The data of the property value." + } + } + }, + "GuidPropertyValue": { + "description": "Describes a Service Fabric property value of type Guid.", + "allOf": [ + { + "$ref": "#/definitions/PropertyValue" + } + ], + "x-ms-discriminator-value": "Guid", + "required": [ + "Data" + ], + "properties": { + "Data": { + "type": "string", + "format": "uuid", + "description": "The data of the property value." + } + } + }, + "PropertyInfo": { + "description": "Information about a Service Fabric property.", + "properties": { + "Name": { + "$ref": "#/definitions/PropertyName", + "description": "The name of the Service Fabric property." + }, + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "Describes a Service Fabric property value." + }, + "Metadata": { + "$ref": "#/definitions/PropertyMetadata", + "description": "The metadata associated with a property, including the property's name." + } + }, + "required": [ + "Name", + "Metadata" + ] + }, + "PagedPropertyInfoList": { + "description": "The paged list of Service Fabric properties under a given name. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "IsConsistent": { + "type": "boolean", + "description": "Indicates whether any property under the given name has been modified during the enumeration. If there was a modification, this property value is false." + }, + "Properties": { + "type": "array", + "description": "List of property information.", + "items": { + "$ref": "#/definitions/PropertyInfo" + } + } + } + }, + "PropertyDescription": { + "description": "Description of a Service Fabric property.", + "properties": { + "PropertyName": { + "$ref": "#/definitions/PropertyName", + "description": "The name of the Service Fabric property." + }, + "CustomTypeId": { + "$ref": "#/definitions/PropertyCustomTypeId", + "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property." + }, + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "Describes a Service Fabric property value." + } + }, + "required": [ + "PropertyName", + "Value" + ] + }, + "PropertyName": { + "type": "string", + "description": "The name of the Service Fabric property." + }, + "PropertyMetadata": { + "description": "The metadata associated with a property, including the property's name.", + "properties": { + "TypeId": { + "$ref": "#/definitions/PropertyValueKind", + "description": "The kind of property, determined by the type of data. Following are the possible values." + }, + "CustomTypeId": { + "$ref": "#/definitions/PropertyCustomTypeId", + "description": "The property's custom type ID." + }, + "Parent": { + "$ref": "#/definitions/FabricName", + "description": "The name of the parent Service Fabric Name for the property. It could be thought of as the name-space/table under which the property exists." + }, + "SizeInBytes": { + "type": "integer", + "description": "The length of the serialized property value." + }, + "LastModifiedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Represents when the Property was last modified. Only write operations will cause this field to be updated." + }, + "SequenceNumber": { + "type": "string", + "description": "The version of the property. Every time a property is modified, its sequence number is increased." + } + } + }, + "PropertyCustomTypeId": { + "type": "string", + "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property." + }, + "PropertyBatchDescriptionList": { + "description": "Describes a list of property batch operations to be executed. Either all or none of the operations will be committed.", + "properties": { + "Operations": { + "type": "array", + "items": { + "$ref": "#/definitions/PropertyBatchOperation" + }, + "description": "A list of the property batch operations to be executed." + } + } + }, + "PropertyBatchOperationKind": { + "type": "string", + "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values.", + "enum": [ + "Invalid", + "Put", + "Get", + "CheckExists", + "CheckSequence", + "Delete", + "CheckValue" + ], + "x-ms-enum": { + "name": "PropertyBatchOperationKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the property operation is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Put", + "description": "The operation will create or edit a property. The value is 1." + }, + { + "value": "Get", + "description": "The operation will get a property. The value is 2." + }, + { + "value": "CheckExists", + "description": "The operation will check that a property exists or doesn't exists, depending on the provided value. The value is 3." + }, + { + "value": "CheckSequence", + "description": "The operation will ensure that the sequence number is equal to the provided value. The value is 4." + }, + { + "value": "Delete", + "description": "The operation will delete a property. The value is 5." + }, + { + "value": "CheckValue", + "description": "The operation will ensure that the value of a property is equal to the provided value. The value is 7." + } + ] + } + }, + "PropertyBatchOperation": { + "discriminator": "Kind", + "description": "Represents the base type for property operations that can be put into a batch and submitted.", + "properties": { + "Kind": { + "$ref": "#/definitions/PropertyBatchOperationKind", + "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values." + }, + "PropertyName": { + "$ref": "#/definitions/PropertyName", + "description": "The name of the Service Fabric property." + } + }, + "required": [ + "Kind", + "PropertyName" + ] + }, + "CheckExistsPropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that compares the Boolean existence of a property with the Exists argument.\nThe PropertyBatchOperation operation fails if the property's existence is not equal to the Exists argument.\nThe CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "CheckExists", + "properties": { + "Exists": { + "type": "boolean", + "description": "Whether or not the property should exist for the operation to pass." + } + }, + "required": [ + "Exists" + ] + }, + "CheckSequencePropertyBatchOperation": { + "description": "Compares the Sequence Number of a property with the SequenceNumber argument.\nA property's sequence number can be thought of as that property's version.\nEvery time the property is modified, its sequence number is increased.\nThe sequence number can be found in a property's metadata.\nThe comparison fails if the sequence numbers are not equal.\nCheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "CheckSequence", + "properties": { + "SequenceNumber": { + "type": "string", + "description": "The expected sequence number." + } + }, + "required": [ + "SequenceNumber" + ] + }, + "CheckValuePropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that compares the value of the property with the expected value.\nThe CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "CheckValue", + "properties": { + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "The expected property value." + } + }, + "required": [ + "Value" + ] + }, + "DeletePropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that deletes a specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "Delete" + }, + "GetPropertyBatchOperation": { + "description": "Represents a PropertyBatchOperation that gets the specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "Get", + "properties": { + "IncludeValue": { + "type": "boolean", + "default": false, + "description": "Whether or not to return the property value with the metadata.\nTrue if values should be returned with the metadata; False to return only property metadata." + } + } + }, + "PutPropertyBatchOperation": { + "description": "Puts the specified property under the specified name.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchOperation" + } + ], + "x-ms-discriminator-value": "Put", + "properties": { + "Value": { + "$ref": "#/definitions/PropertyValue", + "description": "Describes a Service Fabric property value." + }, + "CustomTypeId": { + "$ref": "#/definitions/PropertyCustomTypeId", + "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property." + } + }, + "required": [ + "Value" + ] + }, + "PropertyBatchInfoKind": { + "type": "string", + "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values.", + "enum": [ + "Invalid", + "Successful", + "Failed" + ], + "x-ms-enum": { + "name": "PropertyBatchInfoKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the property batch info is invalid. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Successful", + "description": "The property batch succeeded." + }, + { + "value": "Failed", + "description": "The property batch failed." + } + ] + } + }, + "PropertyBatchInfo": { + "discriminator": "Kind", + "description": "Information about the results of a property batch.", + "properties": { + "Kind": { + "$ref": "#/definitions/PropertyBatchInfoKind", + "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values." + } + }, + "required": [ + "Kind" + ] + }, + "SuccessfulPropertyBatchInfo": { + "description": "Derived from PropertyBatchInfo. Represents the property batch succeeding. Contains the results of any \"Get\" operations in the batch.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchInfo" + } + ], + "x-ms-discriminator-value": "Successful", + "properties": { + "Properties": { + "additionalProperties": { + "$ref": "#/definitions/PropertyInfo" + }, + "description": "A map containing the properties that were requested through any \"Get\" property batch operations. The key represents the index of the \"Get\" operation in the original request, in string form. The value is the property. If a property is not found, it will not be in the map." + } + } + }, + "FailedPropertyBatchInfo": { + "description": "Derived from PropertyBatchInfo. Represents the property batch failing. Contains information about the specific batch failure.", + "allOf": [ + { + "$ref": "#/definitions/PropertyBatchInfo" + } + ], + "x-ms-discriminator-value": "Failed", + "properties": { + "ErrorMessage": { + "type": "string", + "description": "The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch." + }, + "OperationIndex": { + "type": "integer", + "description": "The index of the unsuccessful operation in the property batch." + } + } + }, + "EntityKind": { + "type": "string", + "description": "The entity type of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.", + "enum": [ + "Invalid", + "Node", + "Partition", + "Service", + "Application", + "Replica", + "DeployedApplication", + "DeployedServicePackage", + "Cluster" + ], + "x-ms-enum": { + "name": "EntityKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "Node", + "description": "Indicates the entity is a Service Fabric node. The value is 1." + }, + { + "value": "Partition", + "description": "Indicates the entity is a Service Fabric partition. The value is 2." + }, + { + "value": "Service", + "description": "Indicates the entity is a Service Fabric service. The value is 3." + }, + { + "value": "Application", + "description": "Indicates the entity is a Service Fabric application. The value is 4." + }, + { + "value": "Replica", + "description": "Indicates the entity is a Service Fabric replica. The value is 5." + }, + { + "value": "DeployedApplication", + "description": "Indicates the entity is a Service Fabric deployed application. The value is 6." + }, + { + "value": "DeployedServicePackage", + "description": "Indicates the entity is a Service Fabric deployed service package. The value is 7." + }, + { + "value": "Cluster", + "description": "Indicates the entity is a Service Fabric cluster. The value is 8." + } + ] + } + }, + "HealthStateCount": { + "description": "Represents information about how many health entities are in Ok, Warning and Error health state.", + "properties": { + "OkCount": { + "type": "integer", + "format": "int64", + "description": "The number of health entities with aggregated health state Ok.", + "minimum": 0 + }, + "WarningCount": { + "type": "integer", + "format": "int64", + "description": "The number of health entities with aggregated health state Warning.", + "minimum": 0 + }, + "ErrorCount": { + "type": "integer", + "format": "int64", + "description": "The number of health entities with aggregated health state Error.", + "minimum": 0 + } + } + }, + "EntityKindHealthStateCount": { + "description": "Represents health state count for entities of the specified entity kind.", + "properties": { + "EntityKind": { + "$ref": "#/definitions/EntityKind", + "description": "The entity kind for which health states are evaluated." + }, + "HealthStateCount": { + "$ref": "#/definitions/HealthStateCount", + "description": "The health state count for the entities of the specified kind." + } + } + }, + "HealthStatistics": { + "description": "The health statistics of an entity, returned as part of the health query result when the query description is configured to include statistics.\nThe statistics include health state counts for all children types of the current entity.\nFor example, for cluster, the health statistics include health state counts for nodes, applications, services, partitions, replicas, deployed applications and deployed service packages.\nFor partition, the health statistics include health counts for replicas.", + "properties": { + "HealthStateCountList": { + "type": "array", + "items": { + "$ref": "#/definitions/EntityKindHealthStateCount" + }, + "description": "List of health state counts per entity kind, which keeps track of how many children of the queried entity are in Ok, Warning and Error state." + } + } + }, + "BackupPolicyDescription": { + "description": "Describes a backup policy for configuring periodic backup.", + "required": [ + "Name", + "AutoRestoreOnDataLoss", + "Schedule", + "MaxIncrementalBackups", + "Storage" + ], + "properties": { + "Name": { + "type": "string", + "description": "The unique name identifying this backup policy." + }, + "AutoRestoreOnDataLoss": { + "type": "boolean", + "description": "Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event." + }, + "MaxIncrementalBackups": { + "type": "integer", + "minimum": 0, + "maximum": 255, + "description": "Defines the maximum number of incremental backups to be taken between two full backups. This is just the upper limit. A full backup may be taken before specified number of incremental backups are completed in one of the following conditions\n- The replica has never taken a full backup since it has become primary,\n- Some of the log records since the last backup has been truncated, or\n- Replica passed the MaxAccumulatedBackupLogSizeInMB limit." + }, + "Schedule": { + "$ref": "#/definitions/BackupScheduleDescription", + "description": "Describes the backup schedule parameters." + }, + "Storage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Describes the details of backup storage where to store the periodic backups." + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicyDescription", + "description": "Describes the policy to retain backups in storage." + } + } + }, + "PagedBackupPolicyDescriptionList": { + "description": "The list of backup policies configured in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "The list of backup policies information.", + "items": { + "$ref": "#/definitions/BackupPolicyDescription" + } + } + } + }, + "BasicRetentionPolicyDescription": { + "description": "Describes basic retention policy.", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicyDescription" + } + ], + "x-ms-discriminator-value": "Basic", + "required": [ + "RetentionDuration" + ], + "properties": { + "RetentionDuration": { + "type": "string", + "format": "duration", + "description": "It is the minimum duration for which a backup created, will remain stored in the storage and might get deleted after that span of time. It should be specified in ISO8601 format." + }, + "MinimumNumberOfBackups": { + "type": "integer", + "minimum": 0, + "description": "It is the minimum number of backups to be retained at any point of time. If specified with a non zero value, backups will not be deleted even if the backups have gone past retention duration and have number of backups less than or equal to it." + } + } + }, + "RetentionPolicyType": { + "type": "string", + "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported.", + "enum": [ + "Basic", + "Invalid" + ], + "x-ms-enum": { + "name": "RetentionPolicyType", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "Indicates a basic retention policy type." + }, + { + "value": "Invalid", + "description": "Indicates an invalid retention policy type." + } + ] + } + }, + "DisableBackupDescription": { + "description": "It describes the body parameters while disabling backup of a backup entity(Application/Service/Partition).", + "required": [ + "CleanBackup" + ], + "properties": { + "CleanBackup": { + "type": "boolean", + "description": "Boolean flag to delete backups. It can be set to true for deleting all the backups which were created for the backup entity that is getting disabled for backup." + } + } + }, + "RetentionPolicyDescription": { + "description": "Describes the retention policy configured.", + "required": [ + "RetentionPolicyType" + ], + "discriminator": "RetentionPolicyType", + "properties": { + "RetentionPolicyType": { + "$ref": "#/definitions/RetentionPolicyType", + "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported." + } + } + }, + "BackupStorageDescription": { + "required": [ + "StorageKind" + ], + "discriminator": "StorageKind", + "properties": { + "StorageKind": { + "$ref": "#/definitions/BackupStorageKind", + "description": "The kind of backup storage, where backups are saved." + }, + "FriendlyName": { + "type": "string", + "description": "Friendly name for this backup storage." + } + }, + "description": "Describes the parameters for the backup storage." + }, + "BackupStorageKind": { + "type": "string", + "description": "The kind of backup storage, where backups are saved.", + "enum": [ + "Invalid", + "FileShare", + "AzureBlobStore", + "DsmsAzureBlobStore", + "ManagedIdentityAzureBlobStore" + ], + "x-ms-enum": { + "name": "BackupStorageKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup storage kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "FileShare", + "description": "Indicates file/ SMB share to be used as backup storage." + }, + { + "value": "AzureBlobStore", + "description": "Indicates Azure blob store to be used as backup storage." + }, + { + "value": "DsmsAzureBlobStore", + "description": "Indicates Dsms Azure blob store to be used as backup storage." + }, + { + "value": "ManagedIdentityAzureBlobStore", + "description": "Indicates Azure blob store to be used as backup storage using managed identity." + } + ] + } + }, + "BackupScheduleDescription": { + "description": "Describes the backup schedule parameters.", + "required": [ + "ScheduleKind" + ], + "discriminator": "ScheduleKind", + "properties": { + "ScheduleKind": { + "$ref": "#/definitions/BackupScheduleKind", + "description": "The kind of backup schedule, time based or frequency based." + } + } + }, + "BackupScheduleKind": { + "type": "string", + "description": "The kind of backup schedule, time based or frequency based.", + "enum": [ + "Invalid", + "TimeBased", + "FrequencyBased" + ], + "x-ms-enum": { + "name": "BackupScheduleKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup schedule kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "TimeBased", + "description": "Indicates a time-based backup schedule." + }, + { + "value": "FrequencyBased", + "description": "Indicates a frequency-based backup schedule." + } + ] + } + }, + "ApplicationBackupConfigurationInfo": { + "description": "Backup configuration information for a specific Service Fabric application specifying what backup policy is being applied and suspend description, if any.", + "allOf": [ + { + "$ref": "#/definitions/BackupConfigurationInfo" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Application" + }, + "ServiceBackupConfigurationInfo": { + "description": "Backup configuration information for a specific Service Fabric service specifying what backup policy is being applied and suspend description, if any.", + "allOf": [ + { + "$ref": "#/definitions/BackupConfigurationInfo" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Service" + }, + "PagedBackupConfigurationInfoList": { + "description": "The list of backup configuration information. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of backup configuration information.", + "items": { + "$ref": "#/definitions/BackupConfigurationInfo" + } + } + } + }, + "BackupPolicyScope": { + "type": "string", + "description": "Specifies the scope at which the backup policy is applied.", + "enum": [ + "Invalid", + "Partition", + "Service", + "Application" + ], + "x-ms-enum": { + "name": "BackupPolicyScope", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup policy scope type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Partition", + "description": "Indicates the backup policy is applied at partition level. Hence overriding any policy which may have applied at partition's service or application level." + }, + { + "value": "Service", + "description": "Indicates the backup policy is applied at service level. All partitions of the service inherit this policy unless explicitly overridden at partition level." + }, + { + "value": "Application", + "description": "Indicates the backup policy is applied at application level. All services and partitions of the application inherit this policy unless explicitly overridden at service or partition level." + } + ] + } + }, + "BackupSuspensionScope": { + "type": "string", + "description": "Specifies the scope at which the backup suspension was applied.", + "enum": [ + "Invalid", + "Partition", + "Service", + "Application" + ], + "x-ms-enum": { + "name": "BackupSuspensionScope", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup suspension scope type also indicating entity is not suspended. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Partition", + "description": "Indicates the backup suspension is applied at partition level." + }, + { + "value": "Service", + "description": "Indicates the backup suspension is applied at service level. All partitions of the service are hence suspended for backup." + }, + { + "value": "Application", + "description": "Indicates the backup suspension is applied at application level. All services and partitions of the application are hence suspended for backup." + } + ] + } + }, + "RestorePartitionDescription": { + "description": "Specifies the parameters needed to trigger a restore of a specific partition.", + "required": [ + "BackupId", + "BackupLocation" + ], + "properties": { + "BackupId": { + "type": "string", + "format": "uuid", + "description": "Unique backup ID." + }, + "BackupLocation": { + "type": "string", + "description": "Location of the backup relative to the backup storage specified/ configured." + }, + "BackupStorage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Location of the backup from where the partition will be restored." + } + } + }, + "RestoreProgressInfo": { + "description": "Describes the progress of a restore operation on a partition.", + "properties": { + "RestoreState": { + "$ref": "#/definitions/RestoreState", + "description": "Represents the current state of the partition restore operation." + }, + "TimeStampUtc": { + "type": "string", + "format": "date-time", + "description": "Timestamp when operation succeeded or failed." + }, + "RestoredEpoch": { + "$ref": "#/definitions/Epoch", + "description": "Describes the epoch at which the partition is restored." + }, + "RestoredLsn": { + "type": "string", + "description": "Restored LSN." + }, + "FailureError": { + "$ref": "#/definitions/FabricErrorError", + "description": "Denotes the failure encountered in performing restore operation." + } + } + }, + "RestoreState": { + "type": "string", + "description": "Represents the current state of the partition restore operation.", + "enum": [ + "Invalid", + "Accepted", + "RestoreInProgress", + "Success", + "Failure", + "Timeout" + ], + "x-ms-enum": { + "name": "RestoreState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid restore state. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Accepted", + "description": "Operation has been validated and accepted. Restore is yet to be triggered." + }, + { + "value": "RestoreInProgress", + "description": "Restore operation has been triggered and is under process." + }, + { + "value": "Success", + "description": "Operation completed with success." + }, + { + "value": "Failure", + "description": "Operation completed with failure." + }, + { + "value": "Timeout", + "description": "Operation timed out." + } + ] + } + }, + "BackupPartitionDescription": { + "description": "Describes the parameters for triggering partition's backup.", + "properties": { + "BackupStorage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Specifies the details of the backup storage where to save the backup." + } + } + }, + "BackupInfo": { + "description": "Represents a backup point which can be used to trigger a restore.", + "properties": { + "BackupId": { + "type": "string", + "format": "uuid", + "description": "Unique backup ID ." + }, + "BackupChainId": { + "type": "string", + "format": "uuid", + "description": "Unique backup chain ID. All backups part of the same chain has the same backup chain id. A backup chain is comprised of 1 full backup and multiple incremental backups." + }, + "ApplicationName": { + "type": "string", + "description": "Name of the Service Fabric application this partition backup belongs to." + }, + "ServiceName": { + "type": "string", + "description": "Name of the Service Fabric service this partition backup belongs to." + }, + "PartitionInformation": { + "$ref": "#/definitions/PartitionInformation", + "description": "Information about the partition to which this backup belongs to" + }, + "BackupLocation": { + "type": "string", + "description": "Location of the backup, relative to the backup store." + }, + "BackupType": { + "$ref": "#/definitions/BackupType", + "description": "Describes the type of backup, whether its full or incremental." + }, + "EpochOfLastBackupRecord": { + "$ref": "#/definitions/Epoch", + "description": "Epoch of the last record in this backup." + }, + "LsnOfLastBackupRecord": { + "type": "string", + "description": "LSN of the last record in this backup." + }, + "CreationTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The date time when this backup was taken." + }, + "ServiceManifestVersion": { + "type": "string", + "description": "Manifest Version of the service this partition backup belongs to." + }, + "FailureError": { + "$ref": "#/definitions/FabricErrorError", + "description": "Denotes the failure encountered in getting backup point information." + } + } + }, + "PagedBackupInfoList": { + "description": "The list of backups. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of backup information.", + "items": { + "$ref": "#/definitions/BackupInfo" + } + } + } + }, + "BackupType": { + "type": "string", + "description": "Describes the type of backup, whether its full or incremental.", + "enum": [ + "Invalid", + "Full", + "Incremental" + ], + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Full", + "description": "Indicates a full backup." + }, + { + "value": "Incremental", + "description": "Indicates an incremental backup. A backup chain is comprised of a full backup followed by 0 or more incremental backups." + } + ] + } + }, + "AzureBlobBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "AzureBlobStore", + "required": [ + "ConnectionString", + "ContainerName" + ], + "properties": { + "ConnectionString": { + "type": "string", + "description": "The connection string to connect to the Azure blob store." + }, + "ContainerName": { + "type": "string", + "description": "The name of the container in the blob store to store and enumerate backups from." + } + }, + "description": "Describes the parameters for Azure blob store used for storing and enumerating backups." + }, + "FileShareBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "FileShare", + "required": [ + "Path" + ], + "description": "Describes the parameters for file share storage used for storing or enumerating backups.", + "properties": { + "Path": { + "type": "string", + "description": "UNC path of the file share where to store or enumerate backups from." + }, + "PrimaryUserName": { + "type": "string", + "description": "Primary user name to access the file share." + }, + "PrimaryPassword": { + "type": "string", + "description": "Primary password to access the share location." + }, + "SecondaryUserName": { + "type": "string", + "description": "Secondary user name to access the file share." + }, + "SecondaryPassword": { + "type": "string", + "description": "Secondary password to access the share location" + } + } + }, + "DsmsAzureBlobBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "DsmsAzureBlobStore", + "required": [ + "StorageCredentialsSourceLocation", + "ContainerName" + ], + "properties": { + "StorageCredentialsSourceLocation": { + "type": "string", + "description": "The source location of the storage credentials to connect to the Dsms Azure blob store." + }, + "ContainerName": { + "type": "string", + "description": "The name of the container in the blob store to store and enumerate backups from." + } + }, + "description": "Describes the parameters for Dsms Azure blob store used for storing and enumerating backups." + }, + "ManagedIdentityAzureBlobBackupStorageDescription": { + "allOf": [ + { + "$ref": "#/definitions/BackupStorageDescription" + } + ], + "x-ms-discriminator-value": "ManagedIdentityAzureBlobStore", + "required": [ + "BlobServiceUri", + "ContainerName", + "ManagedIdentityType" + ], + "properties": { + "ManagedIdentityType": { + "$ref": "#/definitions/ManagedIdentityType", + "description": "The type of managed identity to be used to connect to Azure Blob Store via Managed Identity." + }, + "BlobServiceUri": { + "type": "string", + "description": "The Blob Service Uri to connect to the Azure blob store.." + }, + "ContainerName": { + "type": "string", + "description": "The name of the container in the blob store to store and enumerate backups from." + } + }, + "description": "Describes the parameters for Azure blob store (connected using managed identity) used for storing and enumerating backups." + }, + "ManagedIdentityType": { + "type": "string", + "description": "The type of managed identity to be used to connect to Azure Blob Store via Managed Identity.", + "enum": [ + "Invalid", + "VMSS", + "Cluster" + ], + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid managed identity type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "VMSS", + "description": "Indicates VMSS managed identity should be used to connect to Azure blob store." + }, + { + "value": "Cluster", + "description": "Indicates cluster managed identity should be used to connect to Azure blob store." + } + ] + } + }, + "FrequencyBasedBackupScheduleDescription": { + "description": "Describes the frequency based backup schedule.", + "allOf": [ + { + "$ref": "#/definitions/BackupScheduleDescription" + } + ], + "x-ms-discriminator-value": "FrequencyBased", + "required": [ + "Interval" + ], + "properties": { + "Interval": { + "type": "string", + "format": "duration", + "description": "Defines the interval with which backups are periodically taken. It should be specified in ISO8601 format. Timespan in seconds is not supported and will be ignored while creating the policy." + } + } + }, + "TimeBasedBackupScheduleDescription": { + "description": "Describes the time based backup schedule.", + "allOf": [ + { + "$ref": "#/definitions/BackupScheduleDescription" + } + ], + "x-ms-discriminator-value": "TimeBased", + "required": [ + "ScheduleFrequencyType", + "RunTimes" + ], + "properties": { + "ScheduleFrequencyType": { + "$ref": "#/definitions/BackupScheduleFrequencyType", + "description": "Describes the frequency with which to run the time based backup schedule." + }, + "RunDays": { + "$ref": "#/definitions/DayOfWeekList", + "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly." + }, + "RunTimes": { + "$ref": "#/definitions/TimeList", + "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored." + } + } + }, + "BackupScheduleFrequencyType": { + "type": "string", + "description": "Describes the frequency with which to run the time based backup schedule.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "x-ms-enum": { + "name": "BackupScheduleFrequencyType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup schedule frequency type. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Daily", + "description": "Indicates that the time based backup schedule is repeated at a daily frequency." + }, + { + "value": "Weekly", + "description": "Indicates that the time based backup schedule is repeated at a weekly frequency." + } + ] + } + }, + "TimeList": { + "type": "array", + "items": { + "type": "string", + "format": "date-time" + }, + "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored." + }, + "DayOfWeekList": { + "type": "array", + "items": { + "$ref": "#/definitions/DayOfWeek" + }, + "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly." + }, + "DayOfWeek": { + "type": "string", + "description": "Describes the days in a week.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true, + "values": [ + { + "value": "Sunday", + "description": "Indicates the Day referred is Sunday." + }, + { + "value": "Monday", + "description": "Indicates the Day referred is Monday." + }, + { + "value": "Tuesday", + "description": "Indicates the Day referred is Tuesday." + }, + { + "value": "Wednesday", + "description": "Indicates the Day referred is Wednesday." + }, + { + "value": "Thursday", + "description": "Indicates the Day referred is Thursday." + }, + { + "value": "Friday", + "description": "Indicates the Day referred is Friday." + }, + { + "value": "Saturday", + "description": "Indicates the Day referred is Saturday." + } + ] + } + }, + "BackupProgressInfo": { + "description": "Describes the progress of a partition's backup.", + "properties": { + "BackupState": { + "$ref": "#/definitions/BackupState", + "description": "Represents the current state of the partition backup operation." + }, + "TimeStampUtc": { + "type": "string", + "format": "date-time", + "description": "TimeStamp in UTC when operation succeeded or failed." + }, + "BackupId": { + "type": "string", + "format": "uuid", + "description": "Unique ID of the newly created backup." + }, + "BackupLocation": { + "type": "string", + "description": "Location, relative to the backup store, of the newly created backup." + }, + "EpochOfLastBackupRecord": { + "$ref": "#/definitions/Epoch", + "description": "Specifies the epoch of the last record included in backup." + }, + "LsnOfLastBackupRecord": { + "type": "string", + "description": "The LSN of last record included in backup." + }, + "FailureError": { + "$ref": "#/definitions/FabricErrorError", + "description": "Denotes the failure encountered in performing backup operation." + } + } + }, + "BackupConfigurationInfo": { + "discriminator": "Kind", + "description": "Describes the backup configuration information.", + "properties": { + "Kind": { + "$ref": "#/definitions/BackupEntityKind", + "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled." + }, + "PolicyName": { + "description": "The name of the backup policy which is applicable to this Service Fabric application or service or partition.", + "type": "string" + }, + "PolicyInheritedFrom": { + "$ref": "#/definitions/BackupPolicyScope", + "description": "Specifies the scope at which the backup policy is applied." + }, + "SuspensionInfo": { + "$ref": "#/definitions/BackupSuspensionInfo", + "description": "Describes the backup suspension details." + } + }, + "required": [ + "Kind" + ] + }, + "PartitionBackupConfigurationInfo": { + "description": "Backup configuration information, for a specific partition, specifying what backup policy is being applied and suspend description, if any.", + "allOf": [ + { + "$ref": "#/definitions/BackupConfigurationInfo" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The partition ID identifying the partition." + } + }, + "x-ms-discriminator-value": "Partition" + }, + "BackupState": { + "type": "string", + "description": "Represents the current state of the partition backup operation.", + "enum": [ + "Invalid", + "Accepted", + "BackupInProgress", + "Success", + "Failure", + "Timeout" + ], + "x-ms-enum": { + "name": "BackupState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid backup state. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Accepted", + "description": "Operation has been validated and accepted. Backup is yet to be triggered." + }, + { + "value": "BackupInProgress", + "description": "Backup operation has been triggered and is under process." + }, + { + "value": "Success", + "description": "Operation completed with success." + }, + { + "value": "Failure", + "description": "Operation completed with failure." + }, + { + "value": "Timeout", + "description": "Operation timed out." + } + ] + } + }, + "BackupEntity": { + "discriminator": "EntityKind", + "description": "Describes the Service Fabric entity that is configured for backup.", + "properties": { + "EntityKind": { + "$ref": "#/definitions/BackupEntityKind", + "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled." + } + }, + "required": [ + "EntityKind" + ] + }, + "ApplicationBackupEntity": { + "description": "Identifies the Service Fabric application which is being backed up.", + "allOf": [ + { + "$ref": "#/definitions/BackupEntity" + } + ], + "properties": { + "ApplicationName": { + "$ref": "#/definitions/ApplicationName", + "description": "The name of the application, including the 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Application" + }, + "ServiceBackupEntity": { + "description": "Identifies the Service Fabric stateful service which is being backed up.", + "allOf": [ + { + "$ref": "#/definitions/BackupEntity" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + } + }, + "x-ms-discriminator-value": "Service" + }, + "PartitionBackupEntity": { + "description": "Identifies the Service Fabric stateful partition which is being backed up.", + "allOf": [ + { + "$ref": "#/definitions/BackupEntity" + } + ], + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The full name of the service with 'fabric:' URI scheme." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The partition ID identifying the partition." + } + }, + "x-ms-discriminator-value": "Partition" + }, + "EnableBackupDescription": { + "description": "Specifies the parameters needed to enable periodic backup.", + "required": [ + "BackupPolicyName" + ], + "properties": { + "BackupPolicyName": { + "type": "string", + "description": "Name of the backup policy to be used for enabling periodic backups." + } + } + }, + "PagedBackupEntityList": { + "description": "The list of backup entities that are being periodically backed. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of backup entity information.", + "items": { + "$ref": "#/definitions/BackupEntity" + } + } + } + }, + "BackupSuspensionInfo": { + "description": "Describes the backup suspension details.", + "properties": { + "IsSuspended": { + "type": "boolean", + "description": "Indicates whether periodic backup is suspended at this level or not." + }, + "SuspensionInheritedFrom": { + "$ref": "#/definitions/BackupSuspensionScope", + "description": "Specifies the scope at which the backup suspension was applied." + } + } + }, + "BackupEntityKind": { + "type": "string", + "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled.", + "enum": [ + "Invalid", + "Partition", + "Service", + "Application" + ], + "x-ms-enum": { + "name": "BackupEntityKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "Partition", + "description": "Indicates the entity is a Service Fabric partition." + }, + { + "value": "Service", + "description": "Indicates the entity is a Service Fabric service." + }, + { + "value": "Application", + "description": "Indicates the entity is a Service Fabric application." + } + ] + } + }, + "GetBackupByStorageQueryDescription": { + "description": "Describes additional filters to be applied, while listing backups, and backup storage details from where to fetch the backups.", + "required": [ + "Storage", + "BackupEntity" + ], + "properties": { + "StartDateTimeFilter": { + "type": "string", + "format": "date-time", + "description": "Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning." + }, + "EndDateTimeFilter": { + "type": "string", + "format": "date-time", + "description": "Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end." + }, + "Latest": { + "type": "boolean", + "default": false, + "description": "If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity." + }, + "Storage": { + "$ref": "#/definitions/BackupStorageDescription", + "description": "Describes the parameters for the backup storage from where to enumerate backups. This is optional and by default backups are enumerated from the backup storage where this backup entity is currently being backed up (as specified in backup policy). This parameter is useful to be able to enumerate backups from another cluster where you may intend to restore." + }, + "BackupEntity": { + "$ref": "#/definitions/BackupEntity", + "description": "Indicates the entity for which to enumerate backups." + } + } + }, + "NodeImpact": { + "description": "Describes the expected impact of a repair to a particular node.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "NodeName": { + "type": "string", + "description": "The name of the impacted node." + }, + "ImpactLevel": { + "type": "string", + "enum": [ + "Invalid", + "None", + "Restart", + "RemoveData", + "RemoveNode" + ], + "description": "The level of impact expected.", + "x-ms-enum": { + "name": "ImpactLevel", + "modelAsString": true, + "values": [ + { + "value": "Invalid" + }, + { + "value": "None" + }, + { + "value": "Restart" + }, + { + "value": "RemoveData" + }, + { + "value": "RemoveNode" + } + ] + } + } + }, + "required": [ + "NodeName" + ] + }, + "NodeRepairImpactDescription": { + "description": "Describes the expected impact of a repair on a set of nodes.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "x-ms-discriminator-value": "Node", + "allOf": [ + { + "$ref": "#/definitions/RepairImpactDescriptionBase" + } + ], + "properties": { + "NodeImpactList": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeImpact" + }, + "description": "The list of nodes impacted by a repair action and their respective expected impact." + } + } + }, + "NodeRepairTargetDescription": { + "description": "Describes the list of nodes targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "x-ms-discriminator-value": "Node", + "allOf": [ + { + "$ref": "#/definitions/RepairTargetDescriptionBase" + } + ], + "properties": { + "NodeNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of nodes targeted by a repair action." + } + } + }, + "RepairImpactDescriptionBase": { + "discriminator": "Kind", + "description": "Describes the expected impact of executing a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "Kind": { + "$ref": "#/definitions/RepairImpactKind", + "description": "The kind of repair impact represented by the current object." + } + }, + "required": [ + "Kind" + ] + }, + "RepairImpactKind": { + "description": "Specifies the kind of the impact. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'", + "type": "string", + "enum": [ + "Invalid", + "Node" + ], + "x-ms-enum": { + "name": "RepairImpactKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The repair impact is not valid or is of an unknown type." + }, + { + "value": "Node", + "description": "The repair impact affects a set of Service Fabric nodes." + } + ] + } + }, + "RepairTargetDescriptionBase": { + "discriminator": "Kind", + "description": "Describes the entities targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "Kind": { + "$ref": "#/definitions/RepairTargetKind", + "description": "The kind of repair target described by the current object." + } + }, + "required": [ + "Kind" + ] + }, + "RepairTargetKind": { + "description": "Specifies the kind of the repair target. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'", + "type": "string", + "enum": [ + "Invalid", + "Node" + ], + "x-ms-enum": { + "name": "RepairTargetKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "The repair target is not valid or is of an unknown type." + }, + { + "value": "Node", + "description": "The repair target is a set of Service Fabric nodes." + } + ] + } + }, + "RepairTask": { + "description": "Represents a repair task, which includes information about what kind of repair was requested, what its progress is, and what its final result was.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task." + }, + "Version": { + "type": "string", + "description": "The version of the repair task.\nWhen creating a new repair task, the version must be set to zero. When updating a repair task,\nthe version is used for optimistic concurrency checks. If the version is\nset to zero, the update will not check for write conflicts. If the version is set to a non-zero value, then the\nupdate will only succeed if the actual current version of the repair task matches this value." + }, + "Description": { + "type": "string", + "description": "A description of the purpose of the repair task, or other informational details.\nMay be set when the repair task is created, and is immutable once set." + }, + "State": { + "type": "string", + "enum": [ + "Invalid", + "Created", + "Claimed", + "Preparing", + "Approved", + "Executing", + "Restoring", + "Completed" + ], + "description": "The workflow state of the repair task. Valid initial states are Created, Claimed, and Preparing.", + "x-ms-enum": { + "name": "State", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the repair task state is invalid. All Service Fabric enumerations have the invalid value." + }, + { + "value": "Created", + "description": "Indicates that the repair task has been created." + }, + { + "value": "Claimed", + "description": "Indicates that the repair task has been claimed by a repair executor." + }, + { + "value": "Preparing", + "description": "Indicates that the Repair Manager is preparing the system to handle the impact of the repair task, usually by taking resources offline gracefully." + }, + { + "value": "Approved", + "description": "Indicates that the repair task has been approved by the Repair Manager and is safe to execute." + }, + { + "value": "Executing", + "description": "Indicates that execution of the repair task is in progress." + }, + { + "value": "Restoring", + "description": "Indicates that the Repair Manager is restoring the system to its pre-repair state, usually by bringing resources back online." + }, + { + "value": "Completed", + "description": "Indicates that the repair task has completed, and no further state changes will occur." + } + ] + } + }, + "Flags": { + "type": "integer", + "description": "A bitwise-OR of the following values, which gives additional details about the status of the repair task.\n- 1 - Cancellation of the repair has been requested\n- 2 - Abort of the repair has been requested\n- 4 - Approval of the repair was forced via client request" + }, + "Action": { + "type": "string", + "description": "The requested repair action. Must be specified when the repair task is created, and is immutable once set." + }, + "Target": { + "$ref": "#/definitions/RepairTargetDescriptionBase", + "description": "The target object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nMay be set when the repair task is created, and is immutable once set." + }, + "Executor": { + "type": "string", + "description": "The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set." + }, + "ExecutorData": { + "type": "string", + "description": "A data string that the repair executor can use to store its internal state." + }, + "Impact": { + "$ref": "#/definitions/RepairImpactDescriptionBase", + "description": "The impact object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nImpact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set." + }, + "ResultStatus": { + "type": "string", + "enum": [ + "Invalid", + "Succeeded", + "Cancelled", + "Interrupted", + "Failed", + "Pending" + ], + "description": "A value describing the overall result of the repair task execution. Must be specified in the Restoring and later states, and is immutable once set.", + "x-ms-enum": { + "name": "ResultStatus", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates that the repair task result is invalid. All Service Fabric enumerations have the invalid value." + }, + { + "value": "Succeeded", + "description": "Indicates that the repair task completed execution successfully." + }, + { + "value": "Cancelled", + "description": "Indicates that the repair task was cancelled prior to execution." + }, + { + "value": "Interrupted", + "description": "Indicates that execution of the repair task was interrupted by a cancellation request after some work had already been performed." + }, + { + "value": "Failed", + "description": "Indicates that there was a failure during execution of the repair task. Some work may have been performed." + }, + { + "value": "Pending", + "description": "Indicates that the repair task result is not yet available, because the repair task has not finished executing." + } + ] + } + }, + "ResultCode": { + "type": "integer", + "description": "A numeric value providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set." + }, + "ResultDetails": { + "type": "string", + "description": "A string providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set." + }, + "History": { + "$ref": "#/definitions/RepairTaskHistory", + "description": "An object that contains timestamps of the repair task's state transitions.\nThese timestamps are updated by the system, and cannot be directly modified." + }, + "PreparingHealthCheckState": { + "$ref": "#/definitions/RepairTaskHealthCheckState", + "description": "The workflow state of the health check when the repair task is in the Preparing state." + }, + "RestoringHealthCheckState": { + "$ref": "#/definitions/RepairTaskHealthCheckState", + "description": "The workflow state of the health check when the repair task is in the Restoring state." + }, + "PerformPreparingHealthCheck": { + "type": "boolean", + "description": "A value to determine if health checks will be performed when the repair task enters the Preparing state." + }, + "PerformRestoringHealthCheck": { + "type": "boolean", + "description": "A value to determine if health checks will be performed when the repair task enters the Restoring state." + } + }, + "required": [ + "TaskId", + "Action", + "State" + ] + }, + "RepairTaskApproveDescription": { + "description": "Describes a request for forced approval of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskCancelDescription": { + "description": "Describes a request to cancel a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed." + }, + "RequestAbort": { + "type": "boolean", + "description": "_True_ if the repair should be stopped as soon as possible even if it has already started executing. _False_ if the repair should be cancelled only if execution has not yet started." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskDeleteDescription": { + "description": "Describes a request to delete a completed repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the completed repair task to be deleted." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskHealthCheckState": { + "description": "Specifies the workflow state of a repair task's health check. This type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "type": "string", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Skipped", + "TimedOut" + ], + "x-ms-enum": { + "name": "RepairTaskHealthCheckState", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "description": "Indicates that the health check has not started." + }, + { + "value": "InProgress", + "description": "Indicates that the health check is in progress." + }, + { + "value": "Succeeded", + "description": "Indicates that the health check succeeded." + }, + { + "value": "Skipped", + "description": "Indicates that the health check was skipped." + }, + { + "value": "TimedOut", + "description": "Indicates that the health check timed out." + } + ] + } + }, + "RepairTaskHistory": { + "description": "A record of the times when the repair task entered each state.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "CreatedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Created state." + }, + "ClaimedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Claimed state." + }, + "PreparingUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Preparing state." + }, + "ApprovedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Approved state" + }, + "ExecutingUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Executing state" + }, + "RestoringUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Restoring state" + }, + "CompletedUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task entered the Completed state" + }, + "PreparingHealthCheckStartUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task started the health check in the Preparing state." + }, + "PreparingHealthCheckEndUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task completed the health check in the Preparing state." + }, + "RestoringHealthCheckStartUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task started the health check in the Restoring state." + }, + "RestoringHealthCheckEndUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "The time when the repair task completed the health check in the Restoring state." + } + } + }, + "RepairTaskList": { + "type": "array", + "description": "A list of repair tasks.", + "items": { + "$ref": "#/definitions/RepairTask" + } + }, + "RepairTaskUpdateHealthPolicyDescription": { + "description": "Describes a request to update the health policy of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "TaskId": { + "type": "string", + "description": "The ID of the repair task to be updated." + }, + "Version": { + "type": "string", + "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current value of the repair task. If zero, then no version check is performed." + }, + "PerformPreparingHealthCheck": { + "type": "boolean", + "description": "A boolean indicating if health check is to be performed in the Preparing stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value." + }, + "PerformRestoringHealthCheck": { + "type": "boolean", + "description": "A boolean indicating if health check is to be performed in the Restoring stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value." + } + }, + "required": [ + "TaskId" + ] + }, + "RepairTaskUpdateInfo": { + "description": "Describes the result of an operation that created or updated a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.", + "properties": { + "Version": { + "type": "string", + "description": "The new version of the repair task." + } + }, + "required": [ + "Version" + ] + }, + "ReconfigurationInformation": { + "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.", + "properties": { + "PreviousConfigurationRole": { + "$ref": "#/definitions/ReplicaRole", + "description": "Replica role before reconfiguration started." + }, + "ReconfigurationPhase": { + "$ref": "#/definitions/ReconfigurationPhase", + "description": "Current phase of ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"." + }, + "ReconfigurationType": { + "$ref": "#/definitions/ReconfigurationType", + "description": "Type of current ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"." + }, + "ReconfigurationStartTimeUtc": { + "type": "string", + "format": "date-time", + "description": "Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time." + } + } + }, + "ReconfigurationPhase": { + "type": "string", + "description": "The reconfiguration phase of a replica of a stateful service.", + "enum": [ + "Unknown", + "None", + "Phase0", + "Phase1", + "Phase2", + "Phase3", + "Phase4", + "AbortPhaseZero" + ], + "x-ms-enum": { + "name": "ReconfigurationPhase", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the invalid reconfiguration phase." + }, + { + "value": "None", + "description": "Specifies that there is no reconfiguration in progress." + }, + { + "value": "Phase0", + "description": "Refers to the phase where the reconfiguration is transferring data from the previous primary to the new primary." + }, + { + "value": "Phase1", + "description": "Refers to the phase where the reconfiguration is querying the replica set for the progress." + }, + { + "value": "Phase2", + "description": "Refers to the phase where the reconfiguration is ensuring that data from the current primary is present in a majority of the replica set." + }, + { + "value": "Phase3", + "description": "This phase is for internal use only." + }, + { + "value": "Phase4", + "description": "This phase is for internal use only." + }, + { + "value": "AbortPhaseZero", + "description": "This phase is for internal use only." + } + ] + } + }, + "ReconfigurationType": { + "type": "string", + "description": "The type of reconfiguration for replica of a stateful service.", + "enum": [ + "Unknown", + "SwapPrimary", + "Failover", + "Other" + ], + "x-ms-enum": { + "name": "ReconfigurationType", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the invalid reconfiguration type." + }, + { + "value": "SwapPrimary", + "description": "Specifies that the primary replica is being swapped with a different replica." + }, + { + "value": "Failover", + "description": "Reconfiguration triggered in response to a primary going down. This could be due to many reasons such as primary replica crashing etc." + }, + { + "value": "Other", + "description": "Reconfigurations where the primary replica is not changing." + } + ] + } + }, + "InfrastructureServiceResponse": { + "type": "string", + "description": "This is a weakly-typed response stream to the client. It contains the JSON response from the infrastructure service without deserialization.\nThe content of the response depends on which command was issued to the infrastructure service." + }, + "UploadChunkRange": { + "description": "Information about which portion of the file to upload.", + "properties": { + "StartPosition": { + "type": "string", + "description": "The start position of the portion of the file. It's represented by the number of bytes." + }, + "EndPosition": { + "type": "string", + "description": "The end position of the portion of the file. It's represented by the number of bytes." + } + } + }, + "UploadSessionInfo": { + "description": "Information about an image store upload session. A session is associated with a relative path in the image store.", + "properties": { + "StoreRelativePath": { + "type": "string", + "description": "The remote location within image store. This path is relative to the image store root." + }, + "SessionId": { + "type": "string", + "format": "uuid", + "description": "A unique ID of the upload session. A session ID can be reused only if the session was committed or removed." + }, + "ModifiedDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the upload session was last modified." + }, + "FileSize": { + "type": "string", + "description": "The size in bytes of the uploading file." + }, + "ExpectedRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadChunkRange" + }, + "description": "List of chunk ranges that image store has not received yet." + } + } + }, + "UploadSession": { + "description": "Information about a image store upload session", + "properties": { + "UploadSessions": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadSessionInfo" + }, + "description": "When querying upload session by upload session ID, the result contains only one upload session. When querying upload session by image store relative path, the result might contain multiple upload sessions." + } + } + }, + "ScalingPolicyDescription": { + "description": "Describes how the scaling should be performed", + "required": [ + "ScalingTrigger", + "ScalingMechanism" + ], + "properties": { + "ScalingTrigger": { + "$ref": "#/definitions/ScalingTriggerDescription", + "description": "Specifies the trigger associated with this scaling policy" + }, + "ScalingMechanism": { + "$ref": "#/definitions/ScalingMechanismDescription", + "description": "Specifies the mechanism associated with this scaling policy" + } + } + }, + "ScalingPolicyDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicyDescription" + }, + "description": "A list that describes the scaling policies." + }, + "ScalingTriggerDescription": { + "discriminator": "Kind", + "description": "Describes the trigger for performing a scaling operation.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ScalingTriggerKind", + "description": "Specifies the kind of scaling trigger" + } + } + }, + "ScalingMechanismDescription": { + "discriminator": "Kind", + "description": "Describes the mechanism for performing a scaling operation.", + "required": [ + "Kind" + ], + "properties": { + "Kind": { + "$ref": "#/definitions/ScalingMechanismKind", + "description": "Specifies the kind of scaling mechanism" + } + } + }, + "ScalingTriggerKind": { + "type": "string", + "description": "Enumerates the ways that a service can be scaled.", + "enum": [ + "Invalid", + "AveragePartitionLoad", + "AverageServiceLoad" + ], + "x-ms-enum": { + "name": "ScalingTriggerKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the scaling trigger is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "AveragePartitionLoad", + "description": "Indicates a trigger where scaling decisions are made based on average load of a partition. The value is 1." + }, + { + "value": "AverageServiceLoad", + "description": "Indicates a trigger where scaling decisions are made based on average load of a service. The value is 2." + } + ] + } + }, + "ScalingMechanismKind": { + "type": "string", + "description": "Enumerates the ways that a service can be scaled.", + "enum": [ + "Invalid", + "PartitionInstanceCount", + "AddRemoveIncrementalNamedPartition" + ], + "x-ms-enum": { + "name": "ScalingMechanismKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the scaling mechanism is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "PartitionInstanceCount", + "description": "Indicates a mechanism for scaling where new instances are added or removed from a partition. The value is 1." + }, + { + "value": "AddRemoveIncrementalNamedPartition", + "description": "Indicates a mechanism for scaling where new named partitions are added or removed from a service. The value is 2." + } + ] + } + }, + "AveragePartitionLoadScalingTrigger": { + "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTriggerDescription" + } + ], + "x-ms-discriminator-value": "AveragePartitionLoad", + "required": [ + "MetricName", + "LowerLoadThreshold", + "UpperLoadThreshold", + "ScaleIntervalInSeconds" + ], + "properties": { + "MetricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "LowerLoadThreshold": { + "type": "string", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "UpperLoadThreshold": { + "type": "string", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "ScaleIntervalInSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The period in seconds on which a decision is made whether to scale or not." + } + } + }, + "AverageServiceLoadScalingTrigger": { + "description": "Represents a scaling policy related to an average load of a metric/resource of a service.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTriggerDescription" + } + ], + "x-ms-discriminator-value": "AverageServiceLoad", + "required": [ + "MetricName", + "LowerLoadThreshold", + "UpperLoadThreshold", + "ScaleIntervalInSeconds", + "UseOnlyPrimaryLoad" + ], + "properties": { + "MetricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "LowerLoadThreshold": { + "type": "string", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "UpperLoadThreshold": { + "type": "string", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "ScaleIntervalInSeconds": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The period in seconds on which a decision is made whether to scale or not." + }, + "UseOnlyPrimaryLoad": { + "type": "boolean", + "description": "Flag determines whether only the load of primary replica should be considered for scaling.\nIf set to true, then trigger will only consider the load of primary replicas of stateful service. \nIf set to false, trigger will consider load of all replicas. \nThis parameter cannot be set to true for stateless service." + } + } + }, + "PartitionInstanceCountScaleMechanism": { + "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanismDescription" + } + ], + "x-ms-discriminator-value": "PartitionInstanceCount", + "required": [ + "MinInstanceCount", + "MaxInstanceCount", + "ScaleIncrement" + ], + "properties": { + "MinInstanceCount": { + "type": "integer", + "description": "Minimum number of instances of the partition." + }, + "MaxInstanceCount": { + "type": "integer", + "description": "Maximum number of instances of the partition." + }, + "ScaleIncrement": { + "type": "integer", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "AddRemoveIncrementalNamedPartitionScalingMechanism": { + "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1''N-1'", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanismDescription" + } + ], + "x-ms-discriminator-value": "AddRemoveIncrementalNamedPartition", + "required": [ + "MinPartitionCount", + "MaxPartitionCount", + "ScaleIncrement" + ], + "properties": { + "MinPartitionCount": { + "type": "integer", + "description": "Minimum number of named partitions of the service." + }, + "MaxPartitionCount": { + "type": "integer", + "description": "Maximum number of named partitions of the service." + }, + "ScaleIncrement": { + "type": "integer", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "UnplacedReplicaInformation": { + "description": "Contains information for an unplaced replica.", + "properties": { + "ServiceName": { + "$ref": "#/definitions/ServiceName", + "description": "The name of the service." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "The ID of the partition." + }, + "UnplacedReplicaDetails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of reasons due to which a replica cannot be placed." + } + } + }, + "ApplicationCreatedEvent": { + "description": "Application Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + }, + "ApplicationDefinitionKind": { + "type": "string", + "description": "Application definition kind." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion", + "ApplicationDefinitionKind" + ], + "x-ms-discriminator-value": "ApplicationCreated" + }, + "ApplicationDeletedEvent": { + "description": "Application Deleted event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion" + ], + "x-ms-discriminator-value": "ApplicationDeleted" + }, + "ApplicationNewHealthReportEvent": { + "description": "Application Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ApplicationNewHealthReport" + }, + "ApplicationHealthReportExpiredEvent": { + "description": "Application Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ApplicationHealthReportExpired" + }, + "ApplicationUpgradeCompletedEvent": { + "description": "Application Upgrade Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall upgrade time in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeCompleted" + }, + "ApplicationUpgradeDomainCompletedEvent": { + "description": "Application Upgrade Domain Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "CurrentApplicationTypeVersion": { + "type": "string", + "description": "Current Application type version." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Target Application type version." + }, + "UpgradeState": { + "type": "string", + "description": "State of upgrade." + }, + "UpgradeDomains": { + "type": "string", + "description": "Upgrade domains." + }, + "UpgradeDomainElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Upgrade time of domain in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "CurrentApplicationTypeVersion", + "ApplicationTypeVersion", + "UpgradeState", + "UpgradeDomains", + "UpgradeDomainElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeDomainCompleted" + }, + "ApplicationUpgradeRollbackCompletedEvent": { + "description": "Application Upgrade Rollback Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Application type version." + }, + "FailureReason": { + "type": "string", + "description": "Describes reason of failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall upgrade time in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "ApplicationTypeVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeRollbackCompleted" + }, + "ApplicationUpgradeRollbackStartedEvent": { + "description": "Application Upgrade Rollback Started event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "CurrentApplicationTypeVersion": { + "type": "string", + "description": "Current Application type version." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Target Application type version." + }, + "FailureReason": { + "type": "string", + "description": "Describes reason of failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall upgrade time in milli-seconds." + } + }, + "required": [ + "ApplicationTypeName", + "CurrentApplicationTypeVersion", + "ApplicationTypeVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ApplicationUpgradeRollbackStarted" + }, + "ApplicationUpgradeStartedEvent": { + "description": "Application Upgrade Started event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "CurrentApplicationTypeVersion": { + "type": "string", + "description": "Current Application type version." + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "Target Application type version." + }, + "UpgradeType": { + "type": "string", + "description": "Type of upgrade." + }, + "RollingUpgradeMode": { + "type": "string", + "description": "Mode of upgrade." + }, + "FailureAction": { + "type": "string", + "description": "Action if failed." + } + }, + "required": [ + "ApplicationTypeName", + "CurrentApplicationTypeVersion", + "ApplicationTypeVersion", + "UpgradeType", + "RollingUpgradeMode", + "FailureAction" + ], + "x-ms-discriminator-value": "ApplicationUpgradeStarted" + }, + "DeployedApplicationNewHealthReportEvent": { + "description": "Deployed Application Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedApplicationNewHealthReport" + }, + "DeployedApplicationHealthReportExpiredEvent": { + "description": "Deployed Application Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ApplicationInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Application instance." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ApplicationInstanceId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedApplicationHealthReportExpired" + }, + "ApplicationProcessExitedEvent": { + "description": "Process Exited event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of Service." + }, + "ServicePackageName": { + "type": "string", + "description": "Name of Service package." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Activation Id of Service package." + }, + "IsExclusive": { + "type": "boolean", + "description": "Indicates IsExclusive flag." + }, + "CodePackageName": { + "type": "string", + "description": "Name of Code package." + }, + "EntryPointType": { + "type": "string", + "description": "Type of EntryPoint." + }, + "ExeName": { + "type": "string", + "description": "Name of executable." + }, + "ProcessId": { + "type": "integer", + "format": "int64", + "description": "Process Id." + }, + "HostId": { + "type": "string", + "description": "Host Id." + }, + "ExitCode": { + "type": "integer", + "format": "int64", + "description": "Exit code of process." + }, + "UnexpectedTermination": { + "type": "boolean", + "description": "Indicates if termination is unexpected." + }, + "StartTime": { + "type": "string", + "format": "date-time", + "description": "Start time of process." + } + }, + "required": [ + "ServiceName", + "ServicePackageName", + "ServicePackageActivationId", + "IsExclusive", + "CodePackageName", + "EntryPointType", + "ExeName", + "ProcessId", + "HostId", + "ExitCode", + "UnexpectedTermination", + "StartTime" + ], + "x-ms-discriminator-value": "ApplicationProcessExited" + }, + "ApplicationContainerInstanceExitedEvent": { + "description": "Container Exited event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of Service." + }, + "ServicePackageName": { + "type": "string", + "description": "Name of Service package." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Activation Id of Service package." + }, + "IsExclusive": { + "type": "boolean", + "description": "Indicates IsExclusive flag." + }, + "CodePackageName": { + "type": "string", + "description": "Name of Code package." + }, + "EntryPointType": { + "type": "string", + "description": "Type of EntryPoint." + }, + "ImageName": { + "type": "string", + "description": "Name of Container image." + }, + "ContainerName": { + "type": "string", + "description": "Name of Container." + }, + "HostId": { + "type": "string", + "description": "Host Id." + }, + "ExitCode": { + "type": "integer", + "format": "int64", + "description": "Exit code of process." + }, + "UnexpectedTermination": { + "type": "boolean", + "description": "Indicates if termination is unexpected." + }, + "StartTime": { + "type": "string", + "format": "date-time", + "description": "Start time of process." + } + }, + "required": [ + "ServiceName", + "ServicePackageName", + "ServicePackageActivationId", + "IsExclusive", + "CodePackageName", + "EntryPointType", + "ImageName", + "ContainerName", + "HostId", + "ExitCode", + "UnexpectedTermination", + "StartTime" + ], + "x-ms-discriminator-value": "ApplicationContainerInstanceExited" + }, + "NodeAbortedEvent": { + "description": "Node Aborted event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "UpgradeDomain": { + "type": "string", + "description": "Upgrade domain of Node." + }, + "FaultDomain": { + "type": "string", + "description": "Fault domain of Node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "Hostname": { + "type": "string", + "description": "Name of Host." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if it is seed node." + }, + "NodeVersion": { + "type": "string", + "description": "Version of Node." + } + }, + "required": [ + "NodeInstance", + "NodeId", + "UpgradeDomain", + "FaultDomain", + "IpAddressOrFQDN", + "Hostname", + "IsSeedNode", + "NodeVersion" + ], + "x-ms-discriminator-value": "NodeAborted" + }, + "NodeAddedToClusterEvent": { + "description": "Node Added event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeType": { + "type": "string", + "description": "Type of Node." + }, + "FabricVersion": { + "type": "string", + "description": "Fabric version." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "NodeCapacities": { + "type": "string", + "description": "Capacities." + } + }, + "required": [ + "NodeId", + "NodeInstance", + "NodeType", + "FabricVersion", + "IpAddressOrFQDN", + "NodeCapacities" + ], + "x-ms-discriminator-value": "NodeAddedToCluster" + }, + "NodeClosedEvent": { + "description": "Node Closed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "Error": { + "type": "string", + "description": "Describes error." + } + }, + "required": [ + "NodeId", + "NodeInstance", + "Error" + ], + "x-ms-discriminator-value": "NodeClosed" + }, + "NodeDeactivateCompletedEvent": { + "description": "Node Deactivate Completed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "EffectiveDeactivateIntent": { + "type": "string", + "description": "Describes deactivate intent." + }, + "BatchIdsWithDeactivateIntent": { + "type": "string", + "description": "Batch Ids." + }, + "StartTime": { + "type": "string", + "format": "date-time", + "description": "Start time." + } + }, + "required": [ + "NodeInstance", + "EffectiveDeactivateIntent", + "BatchIdsWithDeactivateIntent", + "StartTime" + ], + "x-ms-discriminator-value": "NodeDeactivateCompleted" + }, + "NodeDeactivateStartedEvent": { + "description": "Node Deactivate Started event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "BatchId": { + "type": "string", + "description": "Batch Id." + }, + "DeactivateIntent": { + "type": "string", + "description": "Describes deactivate intent." + } + }, + "required": [ + "NodeInstance", + "BatchId", + "DeactivateIntent" + ], + "x-ms-discriminator-value": "NodeDeactivateStarted" + }, + "NodeDownEvent": { + "description": "Node Down event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "LastNodeUpAt": { + "type": "string", + "format": "date-time", + "description": "Time when Node was last up." + } + }, + "required": [ + "NodeInstance", + "LastNodeUpAt" + ], + "x-ms-discriminator-value": "NodeDown" + }, + "NodeNewHealthReportEvent": { + "description": "Node Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "NodeInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "NodeNewHealthReport" + }, + "NodeHealthReportExpiredEvent": { + "description": "Node Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "NodeInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "NodeHealthReportExpired" + }, + "NodeOpenSucceededEvent": { + "description": "Node Opened Succeeded event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "UpgradeDomain": { + "type": "string", + "description": "Upgrade domain of Node." + }, + "FaultDomain": { + "type": "string", + "description": "Fault domain of Node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "Hostname": { + "type": "string", + "description": "Name of Host." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if it is seed node." + }, + "NodeVersion": { + "type": "string", + "description": "Version of Node." + } + }, + "required": [ + "NodeInstance", + "NodeId", + "UpgradeDomain", + "FaultDomain", + "IpAddressOrFQDN", + "Hostname", + "IsSeedNode", + "NodeVersion" + ], + "x-ms-discriminator-value": "NodeOpenSucceeded" + }, + "NodeOpenFailedEvent": { + "description": "Node Open Failed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "UpgradeDomain": { + "type": "string", + "description": "Upgrade domain of Node." + }, + "FaultDomain": { + "type": "string", + "description": "Fault domain of Node." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "Hostname": { + "type": "string", + "description": "Name of Host." + }, + "IsSeedNode": { + "type": "boolean", + "description": "Indicates if it is seed node." + }, + "NodeVersion": { + "type": "string", + "description": "Version of Node." + }, + "Error": { + "type": "string", + "description": "Describes the error." + } + }, + "required": [ + "NodeInstance", + "NodeId", + "UpgradeDomain", + "FaultDomain", + "IpAddressOrFQDN", + "Hostname", + "IsSeedNode", + "NodeVersion", + "Error" + ], + "x-ms-discriminator-value": "NodeOpenFailed" + }, + "NodeRemovedFromClusterEvent": { + "description": "Node Removed event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeId": { + "type": "string", + "description": "Id of Node." + }, + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "NodeType": { + "type": "string", + "description": "Type of Node." + }, + "FabricVersion": { + "type": "string", + "description": "Fabric version." + }, + "IpAddressOrFQDN": { + "type": "string", + "description": "IP address or FQDN." + }, + "NodeCapacities": { + "type": "string", + "description": "Capacities." + } + }, + "required": [ + "NodeId", + "NodeInstance", + "NodeType", + "FabricVersion", + "IpAddressOrFQDN", + "NodeCapacities" + ], + "x-ms-discriminator-value": "NodeRemovedFromCluster" + }, + "NodeUpEvent": { + "description": "Node Up event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "LastNodeDownAt": { + "type": "string", + "format": "date-time", + "description": "Time when Node was last down." + } + }, + "required": [ + "NodeInstance", + "LastNodeDownAt" + ], + "x-ms-discriminator-value": "NodeUp" + }, + "PartitionNewHealthReportEvent": { + "description": "Partition Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "PartitionNewHealthReport" + }, + "PartitionHealthReportExpiredEvent": { + "description": "Partition Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "PartitionHealthReportExpired" + }, + "PartitionReconfiguredEvent": { + "description": "Partition Reconfiguration event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "NodeInstanceId": { + "type": "string", + "description": "Id of Node instance." + }, + "ServiceType": { + "type": "string", + "description": "Type of Service." + }, + "CcEpochDataLossVersion": { + "type": "integer", + "format": "int64", + "description": "CcEpochDataLoss version." + }, + "CcEpochConfigVersion": { + "type": "integer", + "format": "int64", + "description": "CcEpochConfig version." + }, + "ReconfigType": { + "type": "string", + "description": "Type of reconfiguration." + }, + "Result": { + "type": "string", + "description": "Describes reconfiguration result." + }, + "Phase0DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase0 in milli-seconds." + }, + "Phase1DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase1 in milli-seconds." + }, + "Phase2DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase2 in milli-seconds." + }, + "Phase3DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase3 in milli-seconds." + }, + "Phase4DurationMs": { + "type": "number", + "format": "double", + "description": "Duration of Phase4 in milli-seconds." + }, + "TotalDurationMs": { + "type": "number", + "format": "double", + "description": "Total duration in milli-seconds." + } + }, + "required": [ + "NodeName", + "NodeInstanceId", + "ServiceType", + "CcEpochDataLossVersion", + "CcEpochConfigVersion", + "ReconfigType", + "Result", + "Phase0DurationMs", + "Phase1DurationMs", + "Phase2DurationMs", + "Phase3DurationMs", + "Phase4DurationMs", + "TotalDurationMs" + ], + "x-ms-discriminator-value": "PartitionReconfigured" + }, + "PartitionPrimaryMoveAnalysisEvent": { + "description": "Partition Primary Move Analysis event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionAnalysisEvent" + } + ], + "properties": { + "WhenMoveCompleted": { + "type": "string", + "format": "date-time", + "description": "Time when the move was completed." + }, + "PreviousNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "CurrentNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "MoveReason": { + "type": "string", + "description": "Move reason." + }, + "RelevantTraces": { + "type": "string", + "description": "Relevant traces." + } + }, + "required": [ + "WhenMoveCompleted", + "PreviousNode", + "CurrentNode", + "MoveReason", + "RelevantTraces" + ], + "x-ms-discriminator-value": "PartitionPrimaryMoveAnalysis" + }, + "ServiceCreatedEvent": { + "description": "Service Created event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "ServiceTypeName": { + "type": "string", + "description": "Service type name." + }, + "ApplicationName": { + "type": "string", + "description": "Application name." + }, + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ServiceInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "IsStateful": { + "type": "boolean", + "description": "Indicates if Service is stateful." + }, + "PartitionCount": { + "type": "integer", + "format": "int32", + "description": "Number of partitions." + }, + "TargetReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Size of target replicas set." + }, + "MinReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Minimum size of replicas set." + }, + "ServicePackageVersion": { + "type": "string", + "description": "Version of Service package." + }, + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different." + } + }, + "required": [ + "ServiceTypeName", + "ApplicationName", + "ApplicationTypeName", + "ServiceInstance", + "IsStateful", + "PartitionCount", + "TargetReplicaSetSize", + "MinReplicaSetSize", + "ServicePackageVersion", + "PartitionId" + ], + "x-ms-discriminator-value": "ServiceCreated" + }, + "ServiceDeletedEvent": { + "description": "Service Deleted event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "ServiceTypeName": { + "type": "string", + "description": "Service type name." + }, + "ApplicationName": { + "type": "string", + "description": "Application name." + }, + "ApplicationTypeName": { + "type": "string", + "description": "Application type name." + }, + "ServiceInstance": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "IsStateful": { + "type": "boolean", + "description": "Indicates if Service is stateful." + }, + "PartitionCount": { + "type": "integer", + "format": "int32", + "description": "Number of partitions." + }, + "TargetReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Size of target replicas set." + }, + "MinReplicaSetSize": { + "type": "integer", + "format": "int32", + "description": "Minimum size of replicas set." + }, + "ServicePackageVersion": { + "type": "string", + "description": "Version of Service package." + } + }, + "required": [ + "ServiceTypeName", + "ApplicationName", + "ApplicationTypeName", + "ServiceInstance", + "IsStateful", + "PartitionCount", + "TargetReplicaSetSize", + "MinReplicaSetSize", + "ServicePackageVersion" + ], + "x-ms-discriminator-value": "ServiceDeleted" + }, + "ServiceNewHealthReportEvent": { + "description": "Service Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "InstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "InstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ServiceNewHealthReport" + }, + "ServiceHealthReportExpiredEvent": { + "description": "Service Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ServiceEvent" + } + ], + "properties": { + "InstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "InstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ServiceHealthReportExpired" + }, + "DeployedServicePackageNewHealthReportEvent": { + "description": "Deployed Service Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceManifestName": { + "type": "string", + "description": "Service manifest name." + }, + "ServicePackageInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service package instance." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Id of Service package activation." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ServiceManifestName", + "ServicePackageInstanceId", + "ServicePackageActivationId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedServicePackageNewHealthReport" + }, + "DeployedServicePackageHealthReportExpiredEvent": { + "description": "Deployed Service Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "ServiceManifest": { + "type": "string", + "description": "Service manifest name." + }, + "ServicePackageInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Service package instance." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Id of Service package activation." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ServiceManifest", + "ServicePackageInstanceId", + "ServicePackageActivationId", + "NodeName", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "DeployedServicePackageHealthReportExpired" + }, + "StatefulReplicaNewHealthReportEvent": { + "description": "Stateful Replica Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "ReplicaInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Replica instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ReplicaInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatefulReplicaNewHealthReport" + }, + "StatefulReplicaHealthReportExpiredEvent": { + "description": "Stateful Replica Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "ReplicaInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Replica instance." + }, + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "ReplicaInstanceId", + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatefulReplicaHealthReportExpired" + }, + "StatelessReplicaNewHealthReportEvent": { + "description": "Stateless Replica Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatelessReplicaNewHealthReport" + }, + "StatelessReplicaHealthReportExpiredEvent": { + "description": "Stateless Replica Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "StatelessReplicaHealthReportExpired" + }, + "ClusterNewHealthReportEvent": { + "description": "Cluster Health Report Created event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ClusterNewHealthReport" + }, + "ClusterHealthReportExpiredEvent": { + "description": "Cluster Health Report Expired event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "SourceId": { + "type": "string", + "description": "Id of report source." + }, + "Property": { + "type": "string", + "description": "Describes the property." + }, + "HealthState": { + "type": "string", + "description": "Describes the property health state." + }, + "TimeToLiveMs": { + "type": "integer", + "format": "int64", + "description": "Time to live in milli-seconds." + }, + "SequenceNumber": { + "type": "integer", + "format": "int64", + "description": "Sequence number of report." + }, + "Description": { + "type": "string", + "description": "Description of report." + }, + "RemoveWhenExpired": { + "type": "boolean", + "description": "Indicates the removal when it expires." + }, + "SourceUtcTimestamp": { + "type": "string", + "format": "date-time", + "description": "Source time." + } + }, + "required": [ + "SourceId", + "Property", + "HealthState", + "TimeToLiveMs", + "SequenceNumber", + "Description", + "RemoveWhenExpired", + "SourceUtcTimestamp" + ], + "x-ms-discriminator-value": "ClusterHealthReportExpired" + }, + "ClusterUpgradeCompletedEvent": { + "description": "Cluster Upgrade Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall duration of upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeCompleted" + }, + "ClusterUpgradeDomainCompletedEvent": { + "description": "Cluster Upgrade Domain Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "UpgradeState": { + "type": "string", + "description": "State of upgrade." + }, + "UpgradeDomains": { + "type": "string", + "description": "Upgrade domains." + }, + "UpgradeDomainElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Duration of domain upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "UpgradeState", + "UpgradeDomains", + "UpgradeDomainElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeDomainCompleted" + }, + "ClusterUpgradeRollbackCompletedEvent": { + "description": "Cluster Upgrade Rollback Completed event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "FailureReason": { + "type": "string", + "description": "Describes failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall duration of upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeRollbackCompleted" + }, + "ClusterUpgradeRollbackStartedEvent": { + "description": "Cluster Upgrade Rollback Started event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "FailureReason": { + "type": "string", + "description": "Describes failure." + }, + "OverallUpgradeElapsedTimeInMs": { + "type": "number", + "format": "double", + "description": "Overall duration of upgrade in milli-seconds." + } + }, + "required": [ + "TargetClusterVersion", + "FailureReason", + "OverallUpgradeElapsedTimeInMs" + ], + "x-ms-discriminator-value": "ClusterUpgradeRollbackStarted" + }, + "ClusterUpgradeStartedEvent": { + "description": "Cluster Upgrade Started event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "CurrentClusterVersion": { + "type": "string", + "description": "Current Cluster version." + }, + "TargetClusterVersion": { + "type": "string", + "description": "Target Cluster version." + }, + "UpgradeType": { + "type": "string", + "description": "Type of upgrade." + }, + "RollingUpgradeMode": { + "type": "string", + "description": "Mode of upgrade." + }, + "FailureAction": { + "type": "string", + "description": "Action if failed." + } + }, + "required": [ + "CurrentClusterVersion", + "TargetClusterVersion", + "UpgradeType", + "RollingUpgradeMode", + "FailureAction" + ], + "x-ms-discriminator-value": "ClusterUpgradeStarted" + }, + "ChaosStoppedEvent": { + "description": "Chaos Stopped event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "Reason": { + "type": "string", + "description": "Describes reason." + } + }, + "required": [ + "Reason" + ], + "x-ms-discriminator-value": "ChaosStopped" + }, + "ChaosStartedEvent": { + "description": "Chaos Started event.", + "allOf": [ + { + "$ref": "#/definitions/ClusterEvent" + } + ], + "properties": { + "MaxConcurrentFaults": { + "type": "integer", + "format": "int64", + "description": "Maximum number of concurrent faults." + }, + "TimeToRunInSeconds": { + "type": "number", + "format": "double", + "description": "Time to run in seconds." + }, + "MaxClusterStabilizationTimeoutInSeconds": { + "type": "number", + "format": "double", + "description": "Maximum timeout for cluster stabilization in seconds." + }, + "WaitTimeBetweenIterationsInSeconds": { + "type": "number", + "format": "double", + "description": "Wait time between iterations in seconds." + }, + "WaitTimeBetweenFaultsInSeconds": { + "type": "number", + "format": "double", + "description": "Wait time between faults in seconds." + }, + "MoveReplicaFaultEnabled": { + "type": "boolean", + "description": "Indicates MoveReplica fault is enabled." + }, + "IncludedNodeTypeList": { + "type": "string", + "description": "List of included Node types." + }, + "IncludedApplicationList": { + "type": "string", + "description": "List of included Applications." + }, + "ClusterHealthPolicy": { + "type": "string", + "description": "Health policy." + }, + "ChaosContext": { + "type": "string", + "description": "Chaos Context." + } + }, + "required": [ + "MaxConcurrentFaults", + "TimeToRunInSeconds", + "MaxClusterStabilizationTimeoutInSeconds", + "WaitTimeBetweenIterationsInSeconds", + "WaitTimeBetweenFaultsInSeconds", + "MoveReplicaFaultEnabled", + "IncludedNodeTypeList", + "IncludedApplicationList", + "ClusterHealthPolicy", + "ChaosContext" + ], + "x-ms-discriminator-value": "ChaosStarted" + }, + "ChaosCodePackageRestartScheduledEvent": { + "description": "Chaos Restart Code Package Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/ApplicationEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "NodeName": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ServiceManifestName": { + "type": "string", + "description": "Service manifest name." + }, + "CodePackageName": { + "type": "string", + "description": "Code package name." + }, + "ServicePackageActivationId": { + "type": "string", + "description": "Id of Service package activation." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "NodeName", + "ServiceManifestName", + "CodePackageName", + "ServicePackageActivationId" + ], + "x-ms-discriminator-value": "ChaosCodePackageRestartScheduled" + }, + "ChaosReplicaRemovalScheduledEvent": { + "description": "Chaos Remove Replica Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceUri": { + "type": "string", + "description": "Service name." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceUri" + ], + "x-ms-discriminator-value": "ChaosReplicaRemovalScheduled" + }, + "ChaosPartitionSecondaryMoveScheduledEvent": { + "description": "Chaos Move Secondary Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceName": { + "type": "string", + "description": "Service name." + }, + "SourceNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "DestinationNode": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ForcedMove": { + "type": "boolean", + "description": "Indicates a forced move." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceName", + "SourceNode", + "DestinationNode", + "ForcedMove" + ], + "x-ms-discriminator-value": "ChaosPartitionSecondaryMoveScheduled" + }, + "ChaosPartitionPrimaryMoveScheduledEvent": { + "description": "Chaos Move Primary Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/PartitionEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceName": { + "type": "string", + "description": "Service name." + }, + "NodeTo": { + "$ref": "#/definitions/NodeName", + "description": "The name of a Service Fabric node." + }, + "ForcedMove": { + "type": "boolean", + "description": "Indicates a forced move." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceName", + "NodeTo", + "ForcedMove" + ], + "x-ms-discriminator-value": "ChaosPartitionPrimaryMoveScheduled" + }, + "ChaosReplicaRestartScheduledEvent": { + "description": "Chaos Restart Replica Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/ReplicaEvent" + } + ], + "properties": { + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + }, + "ServiceUri": { + "type": "string", + "description": "Service name." + } + }, + "required": [ + "FaultGroupId", + "FaultId", + "ServiceUri" + ], + "x-ms-discriminator-value": "ChaosReplicaRestartScheduled" + }, + "ChaosNodeRestartScheduledEvent": { + "description": "Chaos Restart Node Fault Scheduled event.", + "allOf": [ + { + "$ref": "#/definitions/NodeEvent" + } + ], + "properties": { + "NodeInstanceId": { + "type": "integer", + "format": "int64", + "description": "Id of Node instance." + }, + "FaultGroupId": { + "type": "string", + "format": "uuid", + "description": "Id of fault group." + }, + "FaultId": { + "type": "string", + "format": "uuid", + "description": "Id of fault." + } + }, + "required": [ + "NodeInstanceId", + "FaultGroupId", + "FaultId" + ], + "x-ms-discriminator-value": "ChaosNodeRestartScheduled" + }, + "ManagedApplicationIdentityDescription": { + "description": "Managed application identity description.", + "properties": { + "TokenServiceEndpoint": { + "type": "string", + "description": "Token service endpoint." + }, + "ManagedIdentities": { + "$ref": "#/definitions/ManagedApplicationIdentityList", + "description": "A list of managed application identity objects." + } + } + }, + "ManagedApplicationIdentityList": { + "description": "A list of managed application identity objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedApplicationIdentity" + } + }, + "ManagedApplicationIdentity": { + "description": "Describes a managed application identity.", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string", + "description": "The name of the identity." + }, + "PrincipalId": { + "type": "string", + "description": "The identity's PrincipalId." + } + } + }, + "InstanceCloseDelayDurationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description.", + "default": 4294967295 + }, + "MetricLoadDescription": { + "description": "Specifies metric load information.", + "properties": { + "MetricName": { + "type": "string", + "description": "The name of the reported metric." + }, + "CurrentLoad": { + "type": "integer", + "format": "int64", + "description": "The current value of the metric load." + }, + "PredictedLoad": { + "type": "integer", + "format": "int64", + "description": "The predicted value of the metric load. Predicted metric load values is currently a preview feature. It allows predicted load values to be reported and used at the Service Fabric side, but that feature is currently not enabled." + } + } + }, + "PagedUpdatePartitionLoadResultList": { + "description": "The list of results of the call UpdatePartitionLoad. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of partition load update information.", + "items": { + "$ref": "#/definitions/UpdatePartitionLoadResult" + } + } + } + }, + "PartitionMetricLoadDescription": { + "description": "Represents load information for a partition, which contains the metrics load information about primary, all secondary replicas/instances or a specific secondary replica/instance on a specific node , all auxiliary replicas or a specific auxiliary replica on a specific node.", + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "PrimaryReplicaLoadEntries": { + "type": "array", + "description": "Partition's load information for primary replica, in case partition is from a stateful service.", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + } + }, + "SecondaryReplicasOrInstancesLoadEntries": { + "type": "array", + "description": "Partition's load information for all secondary replicas or instances.", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + } + }, + "SecondaryReplicaOrInstanceLoadEntriesPerNode": { + "type": "array", + "description": "Partition's load information for a specific secondary replica or instance located on a specific node.", + "items": { + "$ref": "#/definitions/ReplicaMetricLoadDescription" + } + }, + "AuxiliaryReplicasLoadEntries": { + "type": "array", + "description": "Partition's load information for all auxiliary replicas.", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + } + }, + "AuxiliaryReplicaLoadEntriesPerNode": { + "type": "array", + "description": "Partition's load information for a specific auxiliary replica located on a specific node.", + "items": { + "$ref": "#/definitions/ReplicaMetricLoadDescription" + } + } + } + }, + "PartitionMetricLoadDescriptionList": { + "type": "array", + "items": { + "$ref": "#/definitions/PartitionMetricLoadDescription" + }, + "description": "List that contains load descriptions of each partition." + }, + "ReplicaMetricLoadDescription": { + "description": "Specifies metric loads of a partition's specific secondary replica or instance.", + "properties": { + "NodeName": { + "type": "string", + "description": "Node name of a specific secondary replica or instance." + }, + "ReplicaOrInstanceLoadEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricLoadDescription" + }, + "description": "Loads of a different metrics for a partition's secondary replica or instance." + } + } + }, + "UpdatePartitionLoadResult": { + "description": "Specifies result of updating load for specified partitions. The output will be ordered based on the partition ID.", + "properties": { + "PartitionId": { + "$ref": "#/definitions/PartitionId", + "description": "Id of the partition." + }, + "PartitionErrorCode": { + "type": "integer", + "description": "If OperationState is Completed - this is 0. If OperationState is Faulted - this is an error code indicating the reason." + } + } + }, + "InstanceLifecycleDescription": { + "description": "Describes how the instance will behave", + "properties": { + "RestoreReplicaLocationAfterUpgrade": { + "type": "boolean", + "description": "If set to true, move/swap replica to original location after upgrade." + } + } + }, + "ReplicaLifecycleDescription": { + "description": "Describes how the replica will behave", + "properties": { + "IsSingletonReplicaMoveAllowedDuringUpgrade": { + "type": "boolean", + "description": "If set to true, replicas with a target replica set size of 1 will be permitted to move during upgrade." + }, + "RestoreReplicaLocationAfterUpgrade": { + "type": "boolean", + "description": "If set to true, move/swap replica to original location after upgrade." + } + } + }, + "NodeTagsList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List that contains tags, which will be applied to the nodes." + }, + "NodeTypeHealthPolicyMap": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeTypeHealthPolicyMapItem" + }, + "description": "Defines a map with max percentage unhealthy nodes for specific node types.\nEach entry specifies as key the node type name and as value an integer that represents the MaxPercentUnhealthyNodes percentage used to evaluate the nodes of the specified node type.\n\nThe node type health policy map can be used during cluster health evaluation to describe special node types. \nThey are evaluated against the percentages associated with their node type name in the map. \nSetting this has no impact on the global pool of nodes used for MaxPercentUnhealthyNodes. \nThe node type health policy map is used only if the cluster manifest enables node type health evaluation using the configuration entry for HealthManager/EnableNodeTypeHealthEvaluation.\n\nFor example, given a cluster with many nodes of different types, with important work hosted on node type \"SpecialNodeType\" that should not tolerate any nodes down. \nYou can specify global MaxPercentUnhealthyNodes to 20% to tolerate some failures for all nodes, but for the node type \"SpecialNodeType\", set the MaxPercentUnhealthyNodes to 0 by \nsetting the value in the key value pair in NodeTypeHealthPolicyMapItem. The key is the node type name. \nThis way, as long as no nodes of type \"SpecialNodeType\" are in Error state, \neven if some of the many nodes in the global pool are in Error state, but below the global unhealthy percentage, the cluster would be evaluated to Warning. \nA Warning health state does not impact cluster upgrade or other monitoring triggered by Error health state. \nBut even one node of type SpecialNodeType in Error would make cluster unhealthy (in Error rather than Warning/Ok), which triggers rollback or pauses the cluster upgrade, depending on the upgrade configuration. \n\nConversely, setting the global MaxPercentUnhealthyNodes to 0, and setting SpecialNodeType's max percent unhealthy nodes to 100, \nwith one node of type SpecialNodeType in Error state would still put the cluster in an Error state, since the global restriction is more strict in this case." + }, + "NodeTypeHealthPolicyMapItem": { + "description": "Defines an item in NodeTypeHealthPolicyMap.", + "required": [ + "Key", + "Value" + ], + "properties": { + "Key": { + "type": "string", + "description": "The key of the node type health policy map item. This is the name of the node type." + }, + "Value": { + "type": "integer", + "description": "The value of the node type health policy map item.\nIf the percentage is respected but there is at least one unhealthy node in the node type, the health is evaluated as Warning. \nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the node type. \nThe computation rounds up to tolerate one failure on small numbers of nodes.\nThe max percent unhealthy nodes allowed for the node type. Must be between zero and 100." + } + } + }, + "NodeTypeNodesHealthEvaluation": { + "x-ms-discriminator-value": "NodeTypeNodes", + "description": "Represents health evaluation for nodes of a particular node type. The node type nodes evaluation can be returned when cluster health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health evaluations for each unhealthy node of the included node type that impacted current aggregated health state.", + "allOf": [ + { + "$ref": "#/definitions/HealthEvaluation" + } + ], + "properties": { + "NodeTypeName": { + "$ref": "#/definitions/NodeTypeName", + "description": "The node type name as defined in the cluster manifest." + }, + "MaxPercentUnhealthyNodes": { + "type": "integer", + "description": "Maximum allowed percentage of unhealthy nodes for the node type, specified as an entry in NodeTypeHealthPolicyMap." + }, + "TotalCount": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes of the node type found in the health store." + }, + "UnhealthyEvaluations": { + "$ref": "#/definitions/UnhealthyEvaluations", + "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation of this node type that impacted the aggregated health." + } + } + }, + "ValidateClusterUpgradeResult": { + "description": "Specifies result of validating a cluster upgrade.", + "properties": { + "ServiceHostUpgradeImpact": { + "$ref": "#/definitions/ServiceHostUpgradeImpact", + "description": "The expected impact of the upgrade." + }, + "ValidationDetails": { + "type": "string", + "description": "A string containing additional details for the Fabric upgrade validation result." + } + } + }, + "ServiceHostUpgradeImpact": { + "type": "string", + "description": "The expected impact of the upgrade.", + "enum": [ + "Invalid", + "None", + "ServiceHostRestart", + "UnexpectedServiceHostRestart" + ], + "x-ms-enum": { + "name": "ServiceHostUpgradeImpact", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade impact is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "None", + "description": "The upgrade is not expected to cause service host restarts. The value is 1." + }, + { + "value": "ServiceHostRestart", + "description": "The upgrade is expected to cause a service host restart. The value is 2." + }, + { + "value": "UnexpectedServiceHostRestart", + "description": "The upgrade will cause an unexpected service host restart. This indicates a bug in the Service Fabric runtime and proceeding with an upgrade with this impact may lead to skipped safety checks. Running the upgrade with the ForceRestart flag will force proper safety checks. The value is 3." + } + ] + } + }, + "ResourceStatus": { + "description": "Status of the resource.", + "type": "string", + "enum": [ + "Unknown", + "Ready", + "Upgrading", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ResourceStatus", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Indicates the resource status is unknown. The value is zero." + }, + { + "value": "Ready", + "description": "Indicates the resource is ready. The value is 1." + }, + { + "value": "Upgrading", + "description": "Indicates the resource is upgrading. The value is 2." + }, + { + "value": "Creating", + "description": "Indicates the resource is being created. The value is 3." + }, + { + "value": "Deleting", + "description": "Indicates the resource is being deleted. The value is 4." + }, + { + "value": "Failed", + "description": "Indicates the resource is not functional due to persistent failures. See statusDetails property for more details. The value is 5." + } + ] + } + }, + "SecretKind": { + "type": "string", + "description": "Describes the kind of secret.", + "enum": [ + "inlinedValue", + "keyVaultVersionedReference" + ], + "x-ms-enum": { + "name": "SecretKind", + "modelAsString": true, + "values": [ + { + "value": "inlinedValue", + "description": "A simple secret resource whose plaintext value is provided by the user." + }, + { + "value": "keyVaultVersionedReference", + "description": "A secret resource that references a specific version of a secret stored in Azure Key Vault; the expected value is a versioned KeyVault URI corresponding to the version of the secret being referenced." + } + ] + } + }, + "SecretResourceProperties": { + "description": "Describes the properties of a secret resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretResourcePropertiesBase" + } + ], + "properties": { + "description": { + "description": "User readable description of the secret.", + "type": "string" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the resource." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the secret." + }, + "contentType": { + "type": "string", + "description": "The type of the content stored in the secret value. The value of this property is opaque to Service Fabric. Once set, the value of this property cannot be changed." + } + } + }, + "InlinedValueSecretResourceProperties": { + "description": "Describes the properties of a secret resource whose value is provided explicitly as plaintext. The secret resource may have multiple values, each being uniquely versioned. The secret value of each version is stored encrypted, and delivered as plaintext into the context of applications referencing it.", + "allOf": [ + { + "$ref": "#/definitions/SecretResourceProperties" + } + ], + "x-ms-discriminator-value": "inlinedValue" + }, + "SecretResourceName": { + "type": "string", + "description": "Name of the Secret resource." + }, + "SecretResourceDescription": { + "description": "This type describes a secret resource.", + "properties": { + "properties": { + "$ref": "#/definitions/SecretResourceProperties", + "description": "Describes the properties of a secret resource." + }, + "name": { + "$ref": "#/definitions/SecretResourceName", + "description": "Name of the Secret resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedSecretResourceDescriptionList": { + "type": "object", + "description": "The list of secret resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/SecretResourceDescription" + } + } + } + }, + "SecretResourcePropertiesBase": { + "discriminator": "kind", + "description": "This type describes the properties of a secret resource, including its kind.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/SecretKind", + "description": "Describes the kind of secret." + } + }, + "required": [ + "kind" + ] + }, + "SecretValue": { + "type": "object", + "description": "This type represents the unencrypted value of the secret.", + "properties": { + "value": { + "type": "string", + "description": "The actual value of the secret." + } + } + }, + "SecretValueProperties": { + "type": "object", + "description": "This type describes properties of secret value resource.", + "properties": { + "value": { + "type": "string", + "description": "The actual value of the secret." + } + } + }, + "SecretValueResourceDescription": { + "description": "This type describes a value of a secret resource. The name of this resource is the version identifier corresponding to this secret value.", + "properties": { + "name": { + "type": "string", + "description": "Version identifier of the secret value." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecretValueResourceProperties", + "description": "This type describes properties of a secret value resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedSecretValueResourceDescriptionList": { + "type": "object", + "description": "The list of values of a secret resource, paged if the number of results exceeds the limits of a single message. The next set of results can be obtained by executing the same query with the continuation token provided in the previous page.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "items": { + "$ref": "#/definitions/SecretValueResourceDescription" + }, + "description": "One page of the list." + } + } + }, + "SecretValueResourceProperties": { + "description": "This type describes properties of a secret value resource.", + "allOf": [ + { + "$ref": "#/definitions/SecretValueProperties" + } + ] + }, + "VolumeProperties": { + "description": "Describes properties of a volume resource.", + "properties": { + "description": { + "type": "string", + "description": "User readable description of the volume." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the volume." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the volume." + }, + "provider": { + "$ref": "#/definitions/VolumeProvider", + "description": "Provider of the volume." + }, + "azureFileParameters": { + "$ref": "#/definitions/VolumeProviderParametersAzureFile", + "description": "This type describes a volume provided by an Azure Files file share." + } + }, + "required": [ + "provider" + ] + }, + "VolumeProvider": { + "type": "string", + "description": "Describes the provider of the volume resource.", + "enum": [ + "SFAzureFile" + ], + "x-ms-enum": { + "name": "VolumeProvider", + "modelAsString": true, + "values": [ + { + "value": "SFAzureFile", + "description": "Provides volumes that are backed by Azure Files." + } + ] + } + }, + "VolumeProviderParametersAzureFile": { + "description": "This type describes a volume provided by an Azure Files file share.", + "properties": { + "accountName": { + "description": "Name of the Azure storage account for the File Share.", + "type": "string" + }, + "accountKey": { + "description": "Access key of the Azure storage account for the File Share.", + "type": "string" + }, + "shareName": { + "description": "Name of the Azure Files file share that provides storage for the volume.", + "type": "string" + } + }, + "required": [ + "accountName", + "shareName" + ] + }, + "VolumeReference": { + "description": "Describes a reference to a volume resource.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the volume being referenced." + }, + "readOnly": { + "type": "boolean", + "description": "The flag indicating whether the volume is read only. Default is 'false'." + }, + "destinationPath": { + "type": "string", + "description": "The path within the container at which the volume should be mounted. Only valid path characters are allowed." + } + }, + "required": [ + "name", + "destinationPath" + ] + }, + "ApplicationScopedVolume": { + "description": "Describes a volume whose lifetime is scoped to the application's lifetime.", + "allOf": [ + { + "$ref": "#/definitions/VolumeReference" + } + ], + "properties": { + "creationParameters": { + "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters", + "description": "Describes parameters for creating application-scoped volumes." + } + }, + "required": [ + "creationParameters" + ] + }, + "ApplicationScopedVolumeCreationParameters": { + "description": "Describes parameters for creating application-scoped volumes.", + "type": "object", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/ApplicationScopedVolumeKind", + "description": "Specifies the application-scoped volume kind." + }, + "description": { + "description": "User readable description of the volume.", + "type": "string" + } + }, + "required": [ + "kind" + ] + }, + "ApplicationScopedVolumeCreationParametersServiceFabricVolumeDisk": { + "description": "Describes parameters for creating application-scoped volumes provided by Service Fabric Volume Disks", + "allOf": [ + { + "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters" + } + ], + "properties": { + "sizeDisk": { + "description": "Volume size", + "type": "string", + "enum": [ + "Small", + "Medium", + "Large" + ], + "x-ms-enum": { + "name": "SizeTypes", + "modelAsString": true + } + } + }, + "required": [ + "sizeDisk" + ], + "x-ms-discriminator-value": "ServiceFabricVolumeDisk" + }, + "ApplicationScopedVolumeKind": { + "description": "Specifies the application-scoped volume kind.", + "type": "string", + "enum": [ + "ServiceFabricVolumeDisk" + ], + "x-ms-enum": { + "name": "ApplicationScopedVolumeKind", + "modelAsString": true, + "values": [ + { + "value": "ServiceFabricVolumeDisk", + "description": "Provides Service Fabric High Availability Volume Disk" + } + ] + } + }, + "VolumeResourceName": { + "type": "string", + "description": "Name of the Volume resource." + }, + "VolumeResourceDescription": { + "description": "This type describes a volume resource.", + "properties": { + "name": { + "$ref": "#/definitions/VolumeResourceName", + "description": "Name of the Volume resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VolumeProperties", + "description": "Describes properties of a volume resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedVolumeResourceDescriptionList": { + "type": "object", + "description": "The list of volume resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/VolumeResourceDescription" + } + } + } + }, + "NetworkAddressPrefix": { + "type": "string", + "description": "Address space for a container network. This is expressed in CIDR notation." + }, + "NetworkRef": { + "description": "Describes a network reference in a service.", + "properties": { + "name": { + "type": "string", + "description": "Name of the network" + }, + "endpointRefs": { + "description": "A list of endpoints that are exposed on this network.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointRef" + } + } + } + }, + "EndpointRef": { + "description": "Describes a reference to a service endpoint.", + "properties": { + "name": { + "type": "string", + "description": "Name of the endpoint." + } + } + }, + "NetworkKind": { + "type": "string", + "description": "The type of a Service Fabric container network.", + "enum": [ + "Local" + ], + "x-ms-enum": { + "name": "NetworkKind", + "modelAsString": true, + "values": [ + { + "value": "Local", + "description": "Indicates a container network local to a single Service Fabric cluster. The value is 1." + } + ] + } + }, + "NetworkResourceProperties": { + "description": "Describes properties of a network resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkResourcePropertiesBase" + } + ], + "properties": { + "description": { + "type": "string", + "description": "User readable description of the network." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the network." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the network." + } + } + }, + "LocalNetworkResourceProperties": { + "description": "Information about a Service Fabric container network local to a single Service Fabric cluster.", + "allOf": [ + { + "$ref": "#/definitions/NetworkResourceProperties" + } + ], + "x-ms-discriminator-value": "Local", + "properties": { + "networkAddressPrefix": { + "$ref": "#/definitions/NetworkAddressPrefix", + "description": "Address space for the local container network." + } + } + }, + "NetworkResourceName": { + "type": "string", + "description": "Name of the Network resource." + }, + "NetworkResourceDescription": { + "description": "This type describes a network resource.", + "properties": { + "name": { + "$ref": "#/definitions/NetworkResourceName", + "description": "Name of the Network resource." + }, + "properties": { + "$ref": "#/definitions/NetworkResourceProperties", + "description": "Describes properties of a network resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "NetworkResourcePropertiesBase": { + "discriminator": "kind", + "description": "This type describes the properties of a network resource, including its kind.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/NetworkKind", + "description": "The type of a Service Fabric container network." + } + }, + "required": [ + "kind" + ] + }, + "PagedNetworkResourceDescriptionList": { + "type": "object", + "description": "The list of network resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/NetworkResourceDescription" + } + } + } + }, + "GatewayDestination": { + "description": "Describes destination endpoint for routing traffic.", + "type": "object", + "properties": { + "applicationName": { + "type": "string", + "description": "Name of the service fabric Mesh application." + }, + "serviceName": { + "type": "string", + "description": "service that contains the endpoint." + }, + "endpointName": { + "type": "string", + "description": "name of the endpoint in the service." + } + }, + "required": [ + "applicationName", + "endpointName", + "serviceName" + ] + }, + "GatewayProperties": { + "description": "Describes properties of a gateway resource.", + "properties": { + "description": { + "description": "User readable description of the gateway.", + "type": "string" + }, + "sourceNetwork": { + "$ref": "#/definitions/NetworkRef", + "description": "Network the gateway should listen on for requests." + }, + "destinationNetwork": { + "$ref": "#/definitions/NetworkRef", + "description": "Network that the Application is using." + }, + "tcp": { + "description": "Configuration for tcp connectivity for this gateway.", + "type": "array", + "items": { + "$ref": "#/definitions/TcpConfig" + } + }, + "http": { + "description": "Configuration for http connectivity for this gateway.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpConfig" + } + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the resource." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the gateway." + }, + "ipAddress": { + "readOnly": true, + "type": "string", + "description": "IP address of the gateway. This is populated in the response and is ignored for incoming requests." + } + }, + "required": [ + "destinationNetwork", + "sourceNetwork" + ] + }, + "HttpConfig": { + "description": "Describes the http configuration for external connectivity for this network.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "http gateway config name." + }, + "port": { + "type": "integer", + "description": "Specifies the port at which the service endpoint below needs to be exposed." + }, + "hosts": { + "type": "array", + "description": "description for routing.", + "items": { + "$ref": "#/definitions/HttpHostConfig" + } + } + }, + "required": [ + "hosts", + "name", + "port" + ] + }, + "HttpHostConfig": { + "description": "Describes the hostname properties for http routing.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "http hostname config name." + }, + "routes": { + "type": "array", + "description": "Route information to use for routing. Routes are processed in the order they are specified. Specify routes that are more specific before routes that can handle general cases.", + "items": { + "$ref": "#/definitions/HttpRouteConfig" + } + } + }, + "required": [ + "name", + "routes" + ] + }, + "HttpRouteConfig": { + "description": "Describes the hostname properties for http routing.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "http route name." + }, + "match": { + "$ref": "#/definitions/HttpRouteMatchRule", + "description": "Describes a rule for http route matching." + }, + "destination": { + "$ref": "#/definitions/GatewayDestination", + "description": "Describes destination endpoint for routing traffic." + } + }, + "required": [ + "destination", + "match", + "name" + ] + }, + "HttpRouteMatchHeader": { + "description": "Describes header information for http route matching.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of header to match in request." + }, + "value": { + "type": "string", + "description": "Value of header to match in request." + }, + "type": { + "type": "string", + "description": "how to match header value", + "enum": [ + "exact" + ], + "x-ms-enum": { + "name": "HeaderMatchType", + "modelAsString": true + } + } + }, + "required": [ + "name" + ] + }, + "HttpRouteMatchPath": { + "description": "Path to match for routing.", + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Uri path to match for request." + }, + "rewrite": { + "type": "string", + "description": "replacement string for matched part of the Uri." + }, + "type": { + "type": "string", + "description": "how to match value in the Uri", + "enum": [ + "prefix" + ], + "x-ms-enum": { + "name": "PathMatchType", + "modelAsString": true + } + } + }, + "required": [ + "type", + "value" + ] + }, + "HttpRouteMatchRule": { + "description": "Describes a rule for http route matching.", + "type": "object", + "properties": { + "path": { + "$ref": "#/definitions/HttpRouteMatchPath", + "description": "Path to match for routing." + }, + "headers": { + "type": "array", + "description": "headers and their values to match in request.", + "items": { + "$ref": "#/definitions/HttpRouteMatchHeader" + } + } + }, + "required": [ + "path" + ] + }, + "TcpConfig": { + "description": "Describes the tcp configuration for external connectivity for this network.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "tcp gateway config name." + }, + "port": { + "type": "integer", + "description": "Specifies the port at which the service endpoint below needs to be exposed." + }, + "destination": { + "$ref": "#/definitions/GatewayDestination", + "description": "Describes destination endpoint for routing traffic." + } + }, + "required": [ + "destination", + "name", + "port" + ] + }, + "GatewayResourceName": { + "type": "string", + "description": "Name of the Gateway resource." + }, + "GatewayResourceDescription": { + "description": "This type describes a gateway resource.", + "properties": { + "name": { + "$ref": "#/definitions/GatewayResourceName", + "description": "Name of the Gateway resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GatewayProperties", + "description": "Describes properties of a gateway resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedGatewayResourceDescriptionList": { + "type": "object", + "description": "The list of gateway resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/GatewayResourceDescription" + } + } + } + }, + "ApplicationProperties": { + "description": "Describes properties of a application resource.", + "properties": { + "description": { + "type": "string", + "description": "User readable description of the application." + }, + "services": { + "type": "array", + "description": "Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.", + "items": { + "$ref": "#/definitions/ServiceResourceDescription" + } + }, + "diagnostics": { + "$ref": "#/definitions/DiagnosticsDescription", + "description": "Describes the diagnostics definition and usage for an application resource." + }, + "debugParams": { + "description": "Internal - used by Visual Studio to setup the debugging session on the local development environment.", + "type": "string" + }, + "serviceNames": { + "readOnly": true, + "description": "Names of the services in the application.", + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the application." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the application." + }, + "healthState": { + "readOnly": true, + "$ref": "#/definitions/HealthState", + "description": "Describes the health state of an application resource." + }, + "unhealthyEvaluation": { + "readOnly": true, + "type": "string", + "description": "When the application's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the application is marked unhealthy." + } + } + }, + "ApplicationResourceUpgradeProgressInfo": { + "description": "This type describes an application resource upgrade.", + "properties": { + "Name": { + "type": "string", + "description": "Name of the Application resource." + }, + "TargetApplicationTypeVersion": { + "type": "string", + "description": "The target application version for the application upgrade." + }, + "StartTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade started." + }, + "UpgradeState": { + "$ref": "#/definitions/ApplicationResourceUpgradeState", + "description": "The state of the application resource upgrade." + }, + "PercentCompleted": { + "type": "string", + "description": "The estimated percent of replicas are completed in the upgrade." + }, + "ServiceUpgradeProgress": { + "$ref": "#/definitions/ServiceUpgradeProgressList", + "description": "List of service upgrade progresses." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/RollingUpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + }, + "UpgradeDuration": { + "type": "string", + "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.", + "default": "PT0H2M0S" + }, + "ApplicationUpgradeStatusDetails": { + "type": "string", + "description": "Additional detailed information about the status of the pending upgrade." + }, + "UpgradeReplicaSetCheckTimeoutInSeconds": { + "type": "integer", + "format": "int64", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).", + "default": 42949672925 + }, + "FailureTimestampUtc": { + "type": "string", + "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed." + } + } + }, + "ApplicationResourceUpgradeState": { + "type": "string", + "description": "The state of the application resource upgrade.", + "enum": [ + "Invalid", + "ProvisioningTarget", + "RollingForward", + "UnprovisioningCurrent", + "CompletedRollforward", + "RollingBack", + "UnprovisioningTarget", + "CompletedRollback", + "Failed" + ], + "x-ms-enum": { + "name": "ApplicationResourceUpgradeState", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is 0." + }, + { + "value": "ProvisioningTarget", + "description": "The upgrade is in the progress of provisioning target application type version. The value is 1." + }, + { + "value": "RollingForward", + "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2." + }, + { + "value": "UnprovisioningCurrent", + "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 3." + }, + { + "value": "CompletedRollforward", + "description": "The upgrade has finished rolling forward. The value is 4." + }, + { + "value": "RollingBack", + "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 5." + }, + { + "value": "UnprovisioningTarget", + "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 6." + }, + { + "value": "CompletedRollback", + "description": "The upgrade has finished rolling back. The value is 7." + }, + { + "value": "Failed", + "description": "The upgrade has failed and is unable to execute FailureAction. The value is 8." + } + ] + } + }, + "AzureInternalMonitoringPipelineSinkDescription": { + "allOf": [ + { + "$ref": "#/definitions/DiagnosticsSinkProperties" + } + ], + "x-ms-discriminator-value": "AzureInternalMonitoringPipeline", + "description": "Diagnostics settings for Geneva.", + "properties": { + "accountName": { + "description": "Azure Internal monitoring pipeline account.", + "type": "string" + }, + "namespace": { + "description": "Azure Internal monitoring pipeline account namespace.", + "type": "string" + }, + "maConfigUrl": { + "description": "Azure Internal monitoring agent configuration.", + "type": "string" + }, + "fluentdConfigUrl": { + "description": "Azure Internal monitoring agent fluentd configuration.", + "type": "string" + }, + "autoKeyConfigUrl": { + "description": "Azure Internal monitoring pipeline autokey associated with the certificate.", + "type": "string" + } + } + }, + "DiagnosticsDescription": { + "description": "Describes the diagnostics options available", + "properties": { + "sinks": { + "description": "List of supported sinks that can be referenced.", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticsSinkProperties" + } + }, + "enabled": { + "description": "Status of whether or not sinks are enabled.", + "type": "boolean" + }, + "defaultSinkRefs": { + "description": "The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DiagnosticsRef": { + "description": "Reference to sinks in DiagnosticsDescription.", + "properties": { + "enabled": { + "description": "Status of whether or not sinks are enabled.", + "type": "boolean" + }, + "sinkRefs": { + "description": "List of sinks to be used if enabled. References the list of sinks in DiagnosticsDescription.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DiagnosticsSinkKind": { + "type": "string", + "description": "The kind of DiagnosticsSink.", + "enum": [ + "Invalid", + "AzureInternalMonitoringPipeline" + ], + "x-ms-enum": { + "name": "DiagnosticsSinkKind", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates an invalid sink kind. All Service Fabric enumerations have the invalid type." + }, + { + "value": "AzureInternalMonitoringPipeline", + "description": "Diagnostics settings for Geneva." + } + ] + } + }, + "DiagnosticsSinkProperties": { + "description": "Properties of a DiagnosticsSink.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/DiagnosticsSinkKind", + "description": "The kind of DiagnosticsSink." + }, + "name": { + "description": "Name of the sink. This value is referenced by DiagnosticsReferenceDescription", + "type": "string" + }, + "description": { + "description": "A description of the sink.", + "type": "string" + } + }, + "required": [ + "kind" + ] + }, + "IdentityDescription": { + "description": "Information describing the identities associated with this application.", + "properties": { + "tokenServiceEndpoint": { + "type": "string", + "description": "the endpoint for the token service managing this identity" + }, + "type": { + "type": "string", + "description": "the types of identities associated with this resource; currently restricted to 'SystemAssigned and UserAssigned'" + }, + "tenantId": { + "type": "string", + "description": "the identifier of the tenant containing the application's identity." + }, + "principalId": { + "type": "string", + "description": "the object identifier of the Service Principal of the identity associated with this resource." + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentityMap", + "description": "represents user assigned identities map." + } + }, + "required": [ + "type" + ] + }, + "IdentityItemDescription": { + "description": "Describes a single user-assigned identity associated with the application.", + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "the object identifier of the Service Principal which this identity represents." + }, + "clientId": { + "type": "string", + "description": "the client identifier of the Service Principal which this identity represents." + } + } + }, + "RollingUpgradeMode": { + "type": "string", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored.", + "enum": [ + "Invalid", + "UnmonitoredAuto", + "UnmonitoredManual", + "Monitored" + ], + "default": "Monitored", + "x-ms-enum": { + "name": "RollingUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero." + }, + { + "value": "UnmonitoredAuto", + "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1" + }, + { + "value": "UnmonitoredManual", + "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2" + }, + { + "value": "Monitored", + "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3" + } + ] + } + }, + "ServiceUpgradeProgressList": { + "type": "array", + "description": "List of service upgrade progresses.", + "items": { + "$ref": "#/definitions/ServiceUpgradeProgress" + } + }, + "ServiceUpgradeProgress": { + "description": "Information about how many replicas are completed or pending for a specific service during upgrade.", + "properties": { + "ServiceName": { + "type": "string", + "description": "Name of the Service resource." + }, + "CompletedReplicaCount": { + "type": "string", + "description": "The number of replicas that completes the upgrade in the service." + }, + "PendingReplicaCount": { + "type": "string", + "description": "The number of replicas that are waiting to be upgraded in the service." + } + } + }, + "UserAssignedIdentityMap": { + "type": "object", + "description": "Defines a map that contains user assigned identities.", + "additionalProperties": { + "$ref": "#/definitions/IdentityItemDescription" + } + }, + "AddRemoveReplicaScalingMechanism": { + "description": "Describes the horizontal auto scaling mechanism that adds or removes replicas (containers or container groups).", + "allOf": [ + { + "$ref": "#/definitions/AutoScalingMechanism" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "AddRemoveReplica", + "properties": { + "minCount": { + "type": "integer", + "description": "Minimum number of containers (scale down won't be performed below this number)." + }, + "maxCount": { + "type": "integer", + "description": "Maximum number of containers (scale up won't be performed above this number)." + }, + "scaleIncrement": { + "type": "integer", + "description": "Each time auto scaling is performed, this number of containers will be added or removed." + } + }, + "required": [ + "minCount", + "maxCount", + "scaleIncrement" + ] + }, + "AutoScalingMechanism": { + "type": "object", + "discriminator": "kind", + "description": "Describes the mechanism for performing auto scaling operation. Derived classes will describe the actual mechanism.", + "properties": { + "kind": { + "$ref": "#/definitions/AutoScalingMechanismKind", + "description": "The type of auto scaling mechanism." + } + }, + "required": [ + "kind" + ] + }, + "AutoScalingMechanismKind": { + "type": "string", + "description": "Enumerates the mechanisms for auto scaling.", + "enum": [ + "AddRemoveReplica" + ], + "x-ms-enum": { + "name": "AutoScalingMechanismKind", + "modelAsString": true, + "values": [ + { + "value": "AddRemoveReplica", + "description": "Indicates that scaling should be performed by adding or removing replicas." + } + ] + } + }, + "AutoScalingMetric": { + "type": "object", + "discriminator": "kind", + "description": "Describes the metric that is used for triggering auto scaling operation. Derived classes will describe resources or metrics.", + "properties": { + "kind": { + "$ref": "#/definitions/AutoScalingMetricKind", + "description": "The type of auto scaling metric" + } + }, + "required": [ + "kind" + ] + }, + "AutoScalingMetricKind": { + "type": "string", + "description": "Enumerates the metrics that are used for triggering auto scaling.", + "enum": [ + "Resource" + ], + "x-ms-enum": { + "name": "AutoScalingMetricKind", + "modelAsString": true, + "values": [ + { + "value": "Resource", + "description": "Indicates that the metric is one of resources, like cpu or memory." + } + ] + } + }, + "AutoScalingPolicy": { + "description": "Describes the auto scaling policy", + "type": "object", + "properties": { + "name": { + "description": "The name of the auto scaling policy.", + "type": "string" + }, + "trigger": { + "$ref": "#/definitions/AutoScalingTrigger", + "description": "Determines when auto scaling operation will be invoked." + }, + "mechanism": { + "$ref": "#/definitions/AutoScalingMechanism", + "description": "The mechanism that is used to scale when auto scaling operation is invoked." + } + }, + "required": [ + "name", + "trigger", + "mechanism" + ] + }, + "AutoScalingResourceMetric": { + "description": "Describes the resource that is used for triggering auto scaling.", + "allOf": [ + { + "$ref": "#/definitions/AutoScalingMetric" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "Resource", + "properties": { + "name": { + "$ref": "#/definitions/AutoScalingResourceMetricName", + "description": "Name of the resource." + } + }, + "required": [ + "name" + ] + }, + "AutoScalingResourceMetricName": { + "type": "string", + "description": "Enumerates the resources that are used for triggering auto scaling.", + "enum": [ + "cpu", + "memoryInGB" + ], + "x-ms-enum": { + "name": "AutoScalingResourceMetricName", + "modelAsString": true, + "values": [ + { + "value": "cpu", + "description": "Indicates that the resource is CPU cores." + }, + { + "value": "memoryInGB", + "description": "Indicates that the resource is memory in GB." + } + ] + } + }, + "AutoScalingTrigger": { + "type": "object", + "discriminator": "kind", + "description": "Describes the trigger for performing auto scaling operation.", + "properties": { + "kind": { + "$ref": "#/definitions/AutoScalingTriggerKind", + "description": "The type of auto scaling trigger" + } + }, + "required": [ + "kind" + ] + }, + "AutoScalingTriggerKind": { + "type": "string", + "description": "Enumerates the triggers for auto scaling.", + "enum": [ + "AverageLoad" + ], + "x-ms-enum": { + "name": "AutoScalingTriggerKind", + "modelAsString": true, + "values": [ + { + "value": "AverageLoad", + "description": "Indicates that scaling should be performed based on average load of all replicas in the service." + } + ] + } + }, + "ContainerCodePackageProperties": { + "description": "Describes a container and its runtime properties.", + "properties": { + "name": { + "description": "The name of the code package.", + "type": "string" + }, + "image": { + "description": "The Container image to use.", + "type": "string" + }, + "imageRegistryCredential": { + "$ref": "#/definitions/ImageRegistryCredential", + "description": "Image registry credential." + }, + "entryPoint": { + "description": "Override for the default entry point in the container.", + "type": "string" + }, + "commands": { + "description": "Command array to execute within the container in exec form.", + "type": "array", + "items": { + "type": "string" + } + }, + "environmentVariables": { + "description": "The environment variables to set in this container", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + "settings": { + "description": "The settings to set in this container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".", + "type": "array", + "items": { + "$ref": "#/definitions/Setting" + } + }, + "labels": { + "description": "The labels to set in this container.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerLabel" + } + }, + "endpoints": { + "description": "The endpoints exposed by this container.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointProperties" + } + }, + "resources": { + "description": "The resources required by this container.", + "$ref": "#/definitions/ResourceRequirements" + }, + "volumeRefs": { + "description": "Volumes to be attached to the container. The lifetime of these volumes is independent of the application's lifetime.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeReference" + } + }, + "volumes": { + "description": "Volumes to be attached to the container. The lifetime of these volumes is scoped to the application's lifetime.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationScopedVolume" + } + }, + "diagnostics": { + "$ref": "#/definitions/DiagnosticsRef", + "description": "Reference to sinks in DiagnosticsDescription." + }, + "reliableCollectionsRefs": { + "description": "A list of ReliableCollection resources used by this particular code package. Please refer to ReliableCollectionsRef for more details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReliableCollectionsRef" + } + }, + "instanceView": { + "readOnly": true, + "$ref": "#/definitions/ContainerInstanceView", + "description": "Runtime information of a container instance." + }, + "livenessProbe": { + "description": "An array of liveness probes for a code package. It determines when to restart a code package.", + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + } + }, + "readinessProbe": { + "description": "An array of readiness probes for a code package. It determines when to unpublish an endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + } + } + }, + "required": [ + "name", + "image", + "resources" + ] + }, + "ContainerEvent": { + "description": "A container event.", + "properties": { + "name": { + "type": "string", + "description": "The name of the container event." + }, + "count": { + "type": "integer", + "description": "The count of the event." + }, + "firstTimestamp": { + "type": "string", + "description": "Date/time of the first event." + }, + "lastTimestamp": { + "type": "string", + "description": "Date/time of the last event." + }, + "message": { + "type": "string", + "description": "The event message" + }, + "type": { + "type": "string", + "description": "The event type." + } + } + }, + "ContainerInstanceView": { + "description": "Runtime information of a container instance.", + "properties": { + "restartCount": { + "type": "integer", + "description": "The number of times the container has been restarted." + }, + "currentState": { + "$ref": "#/definitions/ContainerState", + "description": "Current container instance state." + }, + "previousState": { + "$ref": "#/definitions/ContainerState", + "description": "Previous container instance state." + }, + "events": { + "description": "The events of this container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerEvent" + } + } + } + }, + "ContainerLabel": { + "description": "Describes a container label.", + "properties": { + "name": { + "description": "The name of the container label.", + "type": "string" + }, + "value": { + "description": "The value of the container label.", + "type": "string" + } + }, + "required": [ + "name", + "value" + ] + }, + "ContainerState": { + "description": "The container state.", + "properties": { + "state": { + "type": "string", + "description": "The state of this container" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Date/time when the container state started." + }, + "exitCode": { + "type": "string", + "description": "The container exit code." + }, + "finishTime": { + "type": "string", + "format": "date-time", + "description": "Date/time when the container state finished." + }, + "detailStatus": { + "description": "Human-readable status of this state.", + "type": "string" + } + } + }, + "DefaultExecutionPolicy": { + "description": "The default execution policy. Always restart the service if an exit occurs.", + "allOf": [ + { + "$ref": "#/definitions/ExecutionPolicy" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "Default" + }, + "EndpointProperties": { + "description": "Describes a container endpoint.", + "properties": { + "name": { + "description": "The name of the endpoint.", + "type": "string" + }, + "port": { + "description": "Port used by the container.", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "EnvironmentVariable": { + "description": "Describes an environment variable for the container.", + "properties": { + "type": { + "$ref": "#/definitions/EnvironmentVariableType", + "description": "The type of the environment variable being given in value" + }, + "name": { + "description": "The name of the environment variable.", + "type": "string" + }, + "value": { + "description": "The value of the environment variable, will be processed based on the type provided.", + "type": "string" + } + } + }, + "EnvironmentVariableType": { + "type": "string", + "description": "The type of the environment variable being given in value", + "default": "ClearText", + "enum": [ + "ClearText", + "KeyVaultReference", + "SecretValueReference" + ], + "x-ms-enum": { + "name": "EnvironmentVariableType", + "modelAsString": true, + "values": [ + { + "value": "ClearText", + "description": "The environment variable in clear text, will not be processed in any way and passed in as is" + }, + { + "value": "KeyVaultReference", + "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in" + }, + { + "value": "SecretValueReference", + "description": "The reference to a SecretValue resource, will be resolved before getting passed in" + } + ] + } + }, + "ExecutionPolicy": { + "type": "object", + "discriminator": "type", + "description": "The execution policy of the service", + "properties": { + "type": { + "$ref": "#/definitions/ExecutionPolicyType", + "description": "Enumerates the execution policy types for services." + } + }, + "required": [ + "type" + ] + }, + "ExecutionPolicyType": { + "type": "string", + "description": "Enumerates the execution policy types for services.", + "enum": [ + "Default", + "RunToCompletion" + ], + "x-ms-enum": { + "name": "ExecutionPolicyType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Indicates the default execution policy, always restart the service if an exit occurs." + }, + { + "value": "RunToCompletion", + "description": "Indicates that the service will perform its desired operation and complete successfully. If the service encounters failure, it will restarted based on restart policy specified. If the service completes its operation successfully, it will not be restarted again." + } + ] + } + }, + "ImageRegistryCredential": { + "description": "Image registry credential.", + "properties": { + "server": { + "type": "string", + "description": "Docker image registry server, without protocol such as `http` and `https`." + }, + "username": { + "type": "string", + "description": "The username for the private registry." + }, + "passwordType": { + "$ref": "#/definitions/ImageRegistryPasswordType", + "description": "The type of the image registry password being given in password" + }, + "password": { + "type": "string", + "description": "The password for the private registry. The password is required for create or update operations, however it is not returned in the get or list operations. Will be processed based on the type provided." + } + }, + "required": [ + "server", + "username" + ] + }, + "ImageRegistryPasswordType": { + "type": "string", + "description": "The type of the image registry password being given in password", + "default": "ClearText", + "enum": [ + "ClearText", + "KeyVaultReference", + "SecretValueReference" + ], + "x-ms-enum": { + "name": "ImageRegistryPasswordType", + "modelAsString": true, + "values": [ + { + "value": "ClearText", + "description": "The image registry password in clear text, will not be processed in any way and used directly" + }, + { + "value": "KeyVaultReference", + "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting used" + }, + { + "value": "SecretValueReference", + "description": "The reference to a SecretValue resource, will be resolved before getting used" + } + ] + } + }, + "OperatingSystemType": { + "type": "string", + "description": "The operation system required by the code in service.", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OperatingSystemType", + "modelAsString": true, + "values": [ + { + "value": "Linux", + "description": "The required operating system is Linux." + }, + { + "value": "Windows", + "description": "The required operating system is Windows." + } + ] + } + }, + "Probe": { + "description": "Probes have a number of fields that you can use to control their behavior.", + "properties": { + "initialDelaySeconds": { + "type": "integer", + "description": "The initial delay in seconds to start executing probe once codepackage has started.", + "default": 0 + }, + "periodSeconds": { + "type": "integer", + "description": "Periodic seconds to execute probe.", + "default": 10 + }, + "timeoutSeconds": { + "type": "integer", + "description": "Period after which probe is considered as failed if it hasn't completed successfully.", + "default": 1 + }, + "successThreshold": { + "type": "integer", + "description": "The count of successful probe executions after which probe is considered success.", + "default": 1 + }, + "failureThreshold": { + "type": "integer", + "description": "The count of failures after which probe is considered failed.", + "default": 3 + }, + "exec": { + "$ref": "#/definitions/ProbeExec", + "description": "Exec command to run inside the container." + }, + "httpGet": { + "$ref": "#/definitions/ProbeHttpGet", + "description": "Http probe for the container." + }, + "tcpSocket": { + "$ref": "#/definitions/ProbeTcpSocket", + "description": "Tcp port to probe inside the container." + } + } + }, + "ProbeExec": { + "description": "Exec command to run inside the container.", + "properties": { + "command": { + "description": "Comma separated command to run inside the container for example \"sh, -c, echo hello world\".", + "type": "string" + } + }, + "required": [ + "command" + ] + }, + "ProbeHttpGet": { + "description": "Http probe for the container.", + "properties": { + "port": { + "description": "Port to access for probe.", + "type": "integer" + }, + "path": { + "description": "Path to access on the HTTP request.", + "type": "string" + }, + "host": { + "description": "Host IP to connect to.", + "type": "string" + }, + "httpHeaders": { + "description": "Headers to set in the request.", + "type": "array", + "items": { + "$ref": "#/definitions/ProbeHttpGetHeaders" + } + }, + "scheme": { + "type": "string", + "description": "Scheme for the http probe. Can be Http or Https.", + "enum": [ + "http", + "https" + ], + "x-ms-enum": { + "name": "scheme", + "modelAsString": true, + "values": [ + { + "value": "http", + "description": "Indicates that the probe is http." + }, + { + "value": "https", + "description": "Indicates that the probe is https. No cert validation." + } + ] + } + } + }, + "required": [ + "port" + ] + }, + "ProbeHttpGetHeaders": { + "description": "Http headers.", + "properties": { + "name": { + "description": "The name of the header.", + "type": "string" + }, + "value": { + "description": "The value of the header.", + "type": "string" + } + }, + "required": [ + "name", + "value" + ] + }, + "ProbeTcpSocket": { + "description": "Tcp port to probe inside the container.", + "properties": { + "port": { + "description": "Port to access for probe.", + "type": "integer" + } + }, + "required": [ + "port" + ] + }, + "ReliableCollectionsRef": { + "description": "Specifying this parameter adds support for reliable collections", + "properties": { + "name": { + "description": "Name of ReliableCollection resource. Right now it's not used and you can use any string.", + "type": "string" + }, + "doNotPersistState": { + "description": "False (the default) if ReliableCollections state is persisted to disk as usual. True if you do not want to persist state, in which case replication is still enabled and you can use ReliableCollections as distributed cache.", + "type": "boolean" + } + }, + "required": [ + "name" + ] + }, + "ResourceLimits": { + "description": "This type describes the resource limits for a given container. It describes the most amount of resources a container is allowed to use before being restarted.", + "properties": { + "memoryInGB": { + "description": "The memory limit in GB.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "CPU limits in cores. At present, only full cores are supported.", + "type": "number", + "format": "double" + } + } + }, + "ResourceRequests": { + "description": "This type describes the requested resources for a given container. It describes the least amount of resources required for the container. A container can consume more than requested resources up to the specified limits before being restarted. Currently, the requested resources are treated as limits.", + "properties": { + "memoryInGB": { + "description": "The memory request in GB for this container.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "Requested number of CPU cores. At present, only full cores are supported.", + "type": "number", + "format": "double" + } + }, + "required": [ + "memoryInGB", + "cpu" + ] + }, + "ResourceRequirements": { + "description": "This type describes the resource requirements for a container or a service.", + "properties": { + "requests": { + "$ref": "#/definitions/ResourceRequests", + "description": "Describes the requested resources for a given container." + }, + "limits": { + "$ref": "#/definitions/ResourceLimits", + "description": "Describes the maximum limits on the resources for a given container." + } + }, + "required": [ + "requests" + ] + }, + "RestartPolicy": { + "type": "string", + "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy", + "enum": [ + "OnFailure", + "Never" + ], + "x-ms-enum": { + "name": "RestartPolicy", + "modelAsString": true, + "values": [ + { + "value": "OnFailure", + "description": "Service will be restarted when it encounters a failure." + }, + { + "value": "Never", + "description": "Service will never be restarted. If the service encounters a failure, it will move to Failed state." + } + ] + } + }, + "RunToCompletionExecutionPolicy": { + "description": "The run to completion execution policy, the service will perform its desired operation and complete successfully. If the service encounters failure, it will restarted based on restart policy specified. If the service completes its operation successfully, it will not be restarted again.", + "allOf": [ + { + "$ref": "#/definitions/ExecutionPolicy" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "RunToCompletion", + "properties": { + "restart": { + "$ref": "#/definitions/RestartPolicy", + "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy" + } + }, + "required": [ + "restart" + ] + }, + "ServiceProperties": { + "description": "Describes properties of a service resource.", + "properties": { + "description": { + "type": "string", + "description": "User readable description of the service." + }, + "replicaCount": { + "type": "integer", + "description": "The number of replicas of the service to create. Defaults to 1 if not specified." + }, + "executionPolicy": { + "$ref": "#/definitions/ExecutionPolicy", + "description": "The execution policy of the service" + }, + "autoScalingPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoScalingPolicy" + }, + "description": "Auto scaling policies" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ResourceStatus", + "description": "Status of the service." + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "Gives additional information about the current status of the service." + }, + "healthState": { + "readOnly": true, + "$ref": "#/definitions/HealthState", + "description": "Describes the health state of an application resource." + }, + "unhealthyEvaluation": { + "readOnly": true, + "type": "string", + "description": "When the service's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the service is marked unhealthy." + }, + "identityRefs": { + "description": "The service identity list.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceIdentity" + } + }, + "dnsName": { + "type": "string", + "description": "Dns name of the service." + } + } + }, + "ServiceReplicaProperties": { + "description": "Describes the properties of a service replica.", + "properties": { + "osType": { + "$ref": "#/definitions/OperatingSystemType", + "description": "The operation system required by the code in service." + }, + "codePackages": { + "description": "Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerCodePackageProperties" + } + }, + "networkRefs": { + "type": "array", + "description": "The names of the private networks that this service needs to be part of.", + "items": { + "$ref": "#/definitions/NetworkRef" + } + }, + "diagnostics": { + "$ref": "#/definitions/DiagnosticsRef", + "description": "Reference to sinks in DiagnosticsDescription." + } + }, + "required": [ + "osType", + "codePackages" + ] + }, + "Setting": { + "description": "Describes a setting for the container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".", + "properties": { + "type": { + "$ref": "#/definitions/SettingType", + "description": "The type of the setting being given in value" + }, + "name": { + "description": "The name of the setting.", + "type": "string" + }, + "value": { + "description": "The value of the setting, will be processed based on the type provided.", + "type": "string" + } + } + }, + "SettingType": { + "type": "string", + "description": "The type of the setting being given in value", + "default": "ClearText", + "enum": [ + "ClearText", + "KeyVaultReference", + "SecretValueReference" + ], + "x-ms-enum": { + "name": "SettingType", + "modelAsString": true, + "values": [ + { + "value": "ClearText", + "description": "The setting in clear text, will not be processed in any way and passed in as is" + }, + { + "value": "KeyVaultReference", + "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in" + }, + { + "value": "SecretValueReference", + "description": "The reference to a SecretValue resource, will be resolved before getting passed in" + } + ] + } + }, + "ServiceReplicaDescription": { + "description": "Describes a replica of a service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceReplicaProperties" + } + ], + "properties": { + "replicaName": { + "type": "string", + "description": "Name of the replica." + } + }, + "required": [ + "replicaName" + ] + }, + "AverageLoadScalingTrigger": { + "description": "Describes the average load trigger used for auto scaling.", + "allOf": [ + { + "$ref": "#/definitions/AutoScalingTrigger" + }, + { + "type": "object" + } + ], + "x-ms-discriminator-value": "AverageLoad", + "properties": { + "metric": { + "$ref": "#/definitions/AutoScalingMetric", + "description": "Description of the metric that is used for scaling." + }, + "lowerLoadThreshold": { + "type": "number", + "format": "double", + "description": "Lower load threshold (if average load is below this threshold, service will scale down)." + }, + "upperLoadThreshold": { + "type": "number", + "format": "double", + "description": "Upper load threshold (if average load is above this threshold, service will scale up)." + }, + "scaleIntervalInSeconds": { + "type": "integer", + "description": "Scale interval that indicates how often will this trigger be checked.", + "minimum": 60 + } + }, + "required": [ + "metric", + "lowerLoadThreshold", + "upperLoadThreshold", + "scaleIntervalInSeconds" + ] + }, + "ServiceIdentity": { + "description": "Map service identity friendly name to an application identity.", + "properties": { + "name": { + "description": "The identity friendly name.", + "type": "string" + }, + "identityRef": { + "description": "The application identity name.", + "type": "string" + } + } + }, + "ServiceResourceName": { + "type": "string", + "description": "Name of the Service resource." + }, + "ServiceResourceDescription": { + "description": "This type describes a service resource.", + "properties": { + "name": { + "$ref": "#/definitions/ServiceResourceName", + "description": "Name of the Service resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceResourceProperties", + "description": "This type describes properties of a service resource." + } + }, + "required": [ + "name", + "properties" + ] + }, + "ServiceResourceProperties": { + "description": "This type describes properties of a service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceReplicaProperties" + }, + { + "$ref": "#/definitions/ServiceProperties" + } + ] + }, + "PagedServiceResourceDescriptionList": { + "type": "object", + "description": "The list of service resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/ServiceResourceDescription" + } + } + } + }, + "PagedServiceReplicaDescriptionList": { + "description": "The list of service resource replicas in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "List of service resource replica description.", + "items": { + "$ref": "#/definitions/ServiceReplicaDescription" + } + } + } + }, + "ApplicationResourceName": { + "type": "string", + "description": "Name of the Application resource." + }, + "ApplicationResourceDescription": { + "description": "This type describes a application resource.", + "properties": { + "name": { + "$ref": "#/definitions/ApplicationResourceName", + "description": "Name of the Application resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "Describes properties of a application resource." + }, + "identity": { + "$ref": "#/definitions/IdentityDescription", + "description": "Describes the identity of the application." + } + }, + "required": [ + "name", + "properties" + ] + }, + "PagedApplicationResourceDescriptionList": { + "type": "object", + "description": "The list of application resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.", + "properties": { + "ContinuationToken": { + "$ref": "#/definitions/ContinuationToken", + "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response." + }, + "Items": { + "type": "array", + "description": "One page of the list.", + "items": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + } + } + } + }, + "parameters": { + "CodePackageNameRequiredPathParam": { + "name": "codePackageName", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of code package of the service." + }, + "ApiVersion_6-4-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.4-preview" + ], + "required": true, + "default": "6.4-preview", + "description": "The version of the API. This parameter is required and its value must be '6.4-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-4-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.4-preview", + "description": "The version number for the preview functionality of 6.4 runtime" + } + ] + } + }, + "TailOptionalQueryParam": { + "name": "Tail", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "Number of lines to show from the end of the logs. Default is 100. 'all' to show the complete logs." + }, + "ApiVersion_6-0-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.0-preview" + ], + "required": true, + "default": "6.0-preview", + "description": "The version of the API. This parameter is required and its value must be '\"6.0-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-0-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.0-preview", + "description": "The version number for the preview functionality of 6.0 runtime." + } + ] + } + }, + "ApiVersion_6-0_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.0" + ], + "required": true, + "default": "6.0", + "description": "The version of the API. This parameter is required and its value must be '6.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-0_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.0", + "description": "The 6.0 version of the API." + } + ] + } + }, + "ApiVersion_6-1_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.1" + ], + "required": true, + "default": "6.1", + "description": "The version of the API. This parameter is required and its value must be '6.1'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-1_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.1", + "description": "The 6.1 version of the API." + } + ] + } + }, + "ApiVersion_6-2_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.2" + ], + "required": true, + "default": "6.2", + "description": "The version of the API. This parameter is required and its value must be '6.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-2_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.2", + "description": "The 6.2 version of the API." + } + ] + } + }, + "ApiVersion_6-2-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.2-preview" + ], + "required": true, + "default": "6.2-preview", + "description": "The version of the API. This parameter is required and its value must be '6.2-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-2-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.2-preview", + "description": "The version number for the preview functionality of 6.2 runtime" + } + ] + } + }, + "ApiVersion_6-3_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.3" + ], + "required": true, + "default": "6.3", + "description": "The version of the API. This parameter is required and its value must be '6.3'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-3_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.3", + "description": "The 6.3 version of the API." + } + ] + } + }, + "ApiVersion_6-3-Preview_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.3-preview" + ], + "required": true, + "default": "6.3-preview", + "description": "The version of the API. This parameter is required and its value must be '6.3-preview'.", + "x-ms-enum": { + "name": "ApiVersion_6-3-Preview_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.3-preview", + "description": "The version number for the preview functionality of 6.3 runtime" + } + ] + } + }, + "ApiVersion_6-4_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.4" + ], + "required": true, + "default": "6.4", + "description": "The version of the API. This parameter is required and its value must be '6.4'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-4_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.4", + "description": "The 6.4 version of the API." + } + ] + } + }, + "ApiVersion_6-5_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "6.5" + ], + "required": true, + "default": "6.5", + "description": "The version of the API. This parameter is required and its value must be '6.5'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_6-5_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "6.5", + "description": "The 6.5 version of the API." + } + ] + } + }, + "ApiVersion_7-0_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "7.0" + ], + "required": true, + "default": "7.0", + "description": "The version of the API. This parameter is required and its value must be '7.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_7-0_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "7.0", + "description": "The 7.0 version of the API." + } + ] + } + }, + "ApiVersion_7-2_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "7.2" + ], + "required": true, + "default": "7.2", + "description": "The version of the API. This parameter is required and its value must be '7.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_7-2_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "7.2", + "description": "The 7.2 version of the API." + } + ] + } + }, + "ApiVersion_8-0_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "8.0" + ], + "required": true, + "default": "8.0", + "description": "The version of the API. This parameter is required and its value must be '8.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_8-0_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "8.0", + "description": "The 8.0 version of the API." + } + ] + } + }, + "ApiVersion_8-1_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "8.1" + ], + "required": true, + "default": "8.1", + "description": "The version of the API. This parameter is required and its value must be '8.1'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_8-1_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "8.1", + "description": "The 8.1 version of the API." + } + ] + } + }, + "ApiVersion_8-2_RequiredQueryParam": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "8.2" + ], + "required": true, + "default": "8.2", + "description": "The version of the API. This parameter is required and its value must be '8.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.", + "x-ms-enum": { + "name": "ApiVersion_8-2_RequiredQueryParam", + "modelAsString": true, + "values": [ + { + "value": "8.2", + "description": "The 8.2 version of the API." + } + ] + } + }, + "ApplicationDefinitionKindFilterOptionalQueryParam": { + "name": "ApplicationDefinitionKindFilter", + "description": "Used to filter on ApplicationDefinitionKind, which is the mechanism used to define a Service Fabric application.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationDescription - Filter that matches input with ApplicationDefinitionKind value ServiceFabricApplicationDescription. The value is 1.\n- Compose - Filter that matches input with ApplicationDefinitionKind value Compose. The value is 2.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ApplicationHealthPolicyOptionalBodyParam": { + "name": "ApplicationHealthPolicy", + "in": "body", + "description": "Describes the health policies used to evaluate the health of an application or one of its children.\nIf not present, the health evaluation uses the health policy from application manifest or the default health policy.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationHealthPolicy" + } + }, + "ApplicationIdRequiredPathParam": { + "name": "applicationId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the application. This is typically the full name of the application without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the application name is \"fabric:/myapp/app1\", the application identity would be \"myapp~app1\" in 6.0+ and \"myapp/app1\" in previous versions." + }, + "ApplicationsHealthStateFilterOptionalQueryParam": { + "name": "ApplicationsHealthStateFilter", + "description": "Allows filtering of the application health state objects returned in the result of cluster health\nquery based on their health state.\nThe possible values for this parameter include integer value obtained from members or bitwise operations\non members of HealthStateFilter enumeration. Only applications that match the filter are returned.\nAll applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ApplicationTypeDefinitionKindFilterOptionalQueryParam": { + "name": "ApplicationTypeDefinitionKindFilter", + "description": "Used to filter on ApplicationTypeDefinitionKind which is the mechanism used to define a Service Fabric application type.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationTypeDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationPackage - Filter that matches input with ApplicationTypeDefinitionKind value ServiceFabricApplicationPackage. The value is 1.\n- Compose - Filter that matches input with ApplicationTypeDefinitionKind value Compose. The value is 2.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ApplicationTypeNameOptionalQueryParam": { + "name": "ApplicationTypeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The application type name used to filter the applications to query for. This value should not contain the application type version." + }, + "ApplicationTypeNameRequiredPathParam": { + "name": "applicationTypeName", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of the application type." + }, + "ApplicationTypeVersionOptionalQueryParam": { + "name": "ApplicationTypeVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The version of the application type." + }, + "ApplicationTypeVersionRequiredQueryParam": { + "name": "ApplicationTypeVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The version of the application type." + }, + "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam": { + "name": "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam", + "in": "body", + "description": "The base type of provision application type description which supports either image store-based provision or external store-based provision.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase" + } + }, + "ClusterConfigurationUpgradeDescriptionRequiredBodyParam": { + "name": "ClusterConfigurationUpgradeDescription", + "in": "body", + "description": "Parameters for a standalone cluster configuration upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterConfigurationUpgradeDescription" + } + }, + "ClusterHealthPoliciesOptionalBodyParam": { + "name": "ClusterHealthPolicies", + "in": "body", + "description": "Describes the health policies used to evaluate the cluster health.\nIf not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterHealthPolicies" + } + }, + "ClusterHealthPolicyOptionalBodyParam": { + "name": "ClusterHealthPolicy", + "in": "body", + "description": "Describes the health policies used to evaluate the health of a cluster or node. If not present, the health evaluation uses the health policy from cluster manifest or the default health policy.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterHealthPolicy" + } + }, + "ClusterHealthChunkQueryDescriptionOptionalBodyParam": { + "name": "ClusterHealthChunkQueryDescription", + "in": "body", + "description": "Describes the cluster and application health policies used to evaluate the cluster health and the filters to select which cluster entities to be returned.\nIf the cluster health policy is present, it is used to evaluate the cluster events and the cluster nodes. If not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.\nUsers can specify very flexible filters to select which cluster entities to include in response. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ClusterHealthChunkQueryDescription" + } + }, + "CodePackageInstanceIdRequiredQueryParam": { + "name": "CodePackageInstanceId", + "description": "ID that uniquely identifies a code package instance deployed on a service fabric node.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, + "CodePackageNameRequiredQueryParam": { + "name": "CodePackageName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster." + }, + "CodeVersionOptionalQueryParam": { + "name": "CodeVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The product version of Service Fabric." + }, + "ConfigVersionOptionalQueryParam": { + "name": "ConfigVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The config version of Service Fabric." + }, + "ConfigurationApiVersionRequiredQueryParam": { + "name": "ConfigurationApiVersion", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The API version of the Standalone cluster json configuration." + }, + "ContainerApiRequiredBodyParam": { + "name": "ContainerApiRequestBody", + "in": "body", + "description": "Parameters for making container API call", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ContainerApiRequestBody" + } + }, + "ContinuationTokenOptionalQueryParam": { + "name": "ContinuationToken", + "in": "query", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": false, + "description": "The continuation token parameter is used to obtain next set of results. A continuation token with a non-empty value is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token does not contain a value. The value of this parameter should not be URL encoded." + }, + "DeployedApplicationsHealthStateFilterOptionalQueryParam": { + "name": "DeployedApplicationsHealthStateFilter", + "description": "Allows filtering of the deployed applications health state objects returned in the result of application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states. Only deployed applications that match the filter will be returned.\nAll deployed applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values, obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of deployed applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "DeployedServicePackagesHealthStateFilterOptionalQueryParam": { + "name": "DeployedServicePackagesHealthStateFilter", + "description": "Allows filtering of the deployed service package health state objects returned in the result of deployed application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the aggregated health state of the deployed application.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value can be a combination of these values, obtained using the bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of service packages with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "DeploymentNameRequiredPathParam": { + "name": "deploymentName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the deployment." + }, + "EventsHealthStateFilterOptionalQueryParam": { + "name": "EventsHealthStateFilter", + "description": "Allows filtering the collection of HealthEvent objects returned based on health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly events that match the filter are returned. All events are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values, obtained using the bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ExcludeApplicationParametersOptionalQueryParam": { + "name": "ExcludeApplicationParameters", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "The flag that specifies whether application parameters will be excluded from the result." + }, + "HealthInformationRequiredBodyParam": { + "name": "HealthInformation", + "in": "body", + "description": "Describes the health information for the health report. This information needs to be present in all of the health reports sent to the health manager.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/HealthInformation" + } + }, + "NodeNameRequiredPathParam": { + "name": "nodeName", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of the node." + }, + "NodesHealthStateFilterOptionalQueryParam": { + "name": "NodesHealthStateFilter", + "description": "Allows filtering of the node health state objects returned in the result of cluster health query\nbased on their health state. The possible values for this parameter include integer value of one of the\nfollowing health states. Only nodes that match the filter are returned. All nodes are used to evaluate the aggregated health state.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of nodes with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "NodeStatusFilterOptionalQueryParam": { + "name": "NodeStatusFilter", + "description": "Allows filtering the nodes based on the NodeStatus. Only the nodes that are matching the specified filter value will be returned. The filter value can be one of the following.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "default", + "all", + "up", + "down", + "enabling", + "disabling", + "disabled", + "unknown", + "removed" + ], + "required": false, + "default": "default", + "x-ms-enum": { + "name": "NodeStatusFilter", + "modelAsString": true, + "values": [ + { + "value": "default", + "description": "This filter value will match all of the nodes excepts the ones with status as Unknown or Removed." + }, + { + "value": "all", + "description": "This filter value will match all of the nodes." + }, + { + "value": "up", + "description": "This filter value will match nodes that are Up." + }, + { + "value": "down", + "description": "This filter value will match nodes that are Down." + }, + { + "value": "enabling", + "description": "This filter value will match nodes that are in the process of being enabled with status as Enabling." + }, + { + "value": "disabling", + "description": "This filter value will match nodes that are in the process of being disabled with status as Disabling." + }, + { + "value": "disabled", + "description": "This filter value will match nodes that are Disabled." + }, + { + "value": "unknown", + "description": "This filter value will match nodes whose status is Unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime." + }, + { + "value": "removed", + "description": "This filter value will match nodes whose status is Removed. These are the nodes that are removed from the cluster using the RemoveNodeState API." + } + ] + } + }, + "PartitionIdOptionalQueryParam": { + "name": "PartitionId", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "uuid", + "required": false, + "description": "The identity of the partition." + }, + "PartitionIdRequiredPathParam": { + "name": "partitionId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "format": "uuid", + "required": true, + "description": "The identity of the partition." + }, + "ProvisionFabricDescriptionRequiredBodyParam": { + "name": "ProvisionFabricDescription", + "in": "body", + "description": "Describes the parameters for provisioning a cluster.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ProvisionFabricDescription" + } + }, + "UnprovisionFabricDescriptionRequiredBodyParam": { + "name": "UnprovisionFabricDescription", + "in": "body", + "description": "Describes the parameters for unprovisioning a cluster.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/UnprovisionFabricDescription" + } + }, + "ResumeClusterUpgradeDescriptionRequiredBodyParam": { + "name": "ResumeClusterUpgradeDescription", + "in": "body", + "description": "Describes the parameters for resuming a cluster upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ResumeClusterUpgradeDescription" + } + }, + "UpdateClusterUpgradeDescriptionRequiredBodyParam": { + "name": "UpdateClusterUpgradeDescription", + "in": "body", + "description": "Parameters for updating a cluster upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/UpdateClusterUpgradeDescription" + } + }, + "StartClusterUpgradeDescriptionRequiredBodyParam": { + "name": "StartClusterUpgradeDescription", + "in": "body", + "description": "Describes the parameters for starting a cluster upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/StartClusterUpgradeDescription" + } + }, + "ReplicaHealthReportServiceKindRequiredQueryParam": { + "name": "ServiceKind", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "description": "The kind of service replica (Stateless or Stateful) for which the health is being reported. Following are the possible values.", + "type": "string", + "enum": [ + "Stateless", + "Stateful" + ], + "default": "Stateful", + "x-ms-enum": { + "name": "ReplicaHealthReportServiceKind", + "modelAsString": true, + "values": [ + { + "value": "Stateless", + "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1" + }, + { + "value": "Stateful", + "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2." + } + ] + } + }, + "ReplicaIdRequiredPathParam": { + "name": "replicaId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identifier of the replica." + }, + "ReplicasHealthStateFilerOptionalQueryParam": { + "name": "ReplicasHealthStateFilter", + "description": "Allows filtering the collection of ReplicaHealthState objects on the partition. The value can be obtained from members or bitwise operations on members of HealthStateFilter. Only replicas that match the filter will be returned. All replicas will be used to evaluate the aggregated health state. If not specified, all entries will be returned.The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) will be returned. The possible values for this parameter include integer value of one of the following health states.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "ServiceIdRequiredPathParam": { + "name": "serviceId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the service. This ID is typically the full name of the service without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the service name is \"fabric:/myapp/app1/svc1\", the service identity would be \"myapp~app1~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions." + }, + "ServiceManifestNameOptionalQueryParam": { + "name": "ServiceManifestName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster." + }, + "ServiceManifestNameRequiredQueryParam": { + "name": "ServiceManifestName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster." + }, + "ServiceNameOptionalQueryParam": { + "name": "ServiceName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of a service." + }, + "ServicePackageNameRequiredPathParam": { + "name": "servicePackageName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The name of the service package." + }, + "ServicesHealthStateFilterOptionalQueryParam": { + "name": "ServicesHealthStateFilter", + "description": "Allows filtering of the services health state objects returned in the result of services health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly services that match the filter are returned. All services are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values,\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of services with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "CreateServiceFromTemplateRequiredBodyParam": { + "name": "ServiceFromTemplateDescription", + "in": "body", + "description": "Describes the service that needs to be created from the template defined in the application manifest.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ServiceFromTemplateDescription" + } + }, + "ServiceTypeNameOptionalQueryParam": { + "name": "ServiceTypeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The service type name used to filter the services to query for." + }, + "InfrastructureCommandRequiredQueryParam": { + "name": "Command", + "description": "The text of the command to be invoked. The content of the command is infrastructure-specific.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, + "InfrastructureServiceIdOptionalQueryParam": { + "name": "ServiceId", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "description": "The identity of the infrastructure service. This is the full name of the infrastructure service without the 'fabric:' URI scheme. This parameter required only for the cluster that has more than one instance of infrastructure service running.", + "required": false + }, + "ForceRemoveOptionalQueryParam": { + "name": "ForceRemove", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas." + }, + "ForceRemoveReplicaOptionalQueryParam": { + "name": "ForceRemove", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas." + }, + "DeactivationIntentDescriptionRequiredBodyParam": { + "name": "DeactivationIntentDescription", + "in": "body", + "description": "Describes the intent or reason for deactivating the node.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/DeactivationIntentDescription" + } + }, + "RestartNodeDescriptionRequiredBodyParam": { + "name": "RestartNodeDescription", + "in": "body", + "description": "The instance of the node to be restarted and a flag indicating the need to take dump of the fabric process.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RestartNodeDescription" + } + }, + "ApplicationUpgradeDescriptionRequiredBodyParam": { + "name": "ApplicationUpgradeDescription", + "in": "body", + "description": "Parameters for an application upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationUpgradeDescription" + } + }, + "ComposeDeploymentUpgradeDescriptionRequiredBodyParam": { + "name": "ComposeDeploymentUpgradeDescription", + "in": "body", + "description": "Parameters for upgrading compose deployment.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ComposeDeploymentUpgradeDescription" + } + }, + "ApplicationTypeImageStorePathRequiredBodyParam": { + "name": "ApplicationTypeImageStorePath", + "in": "body", + "description": "The relative path for the application package in the image store specified during the prior copy operation.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationTypeImageStorePath" + } + }, + "UnprovisionApplicationTypeRequiredBodyParam": { + "name": "UnprovisionApplicationTypeDescriptionInfo", + "in": "body", + "description": "The relative path for the application package in the image store specified during the prior copy operation.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/UnprovisionApplicationTypeDescriptionInfo" + } + }, + "UpgradeOrchestrationServiceStateRequiredBodyParam": { + "name": "UpgradeOrchestrationServiceState", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "description": "Service state of Service Fabric Upgrade Orchestration Service.", + "schema": { + "$ref": "#/definitions/UpgradeOrchestrationServiceState" + } + }, + "ChaosParametersRequiredBodyParam": { + "name": "ChaosParameters", + "in": "body", + "description": "Describes all the parameters to configure a Chaos run.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ChaosParameters" + } + }, + "StartTimeUtcOptionalQueryParam": { + "name": "StartTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The Windows file time representing the start time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details." + }, + "EndTimeUtcOptionalQueryParam": { + "name": "EndTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The Windows file time representing the end time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details." + }, + "ApplicationNameRequiredQueryParam": { + "name": "ApplicationName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of application to create from compose file. This is typically the full name of the application including 'fabric:' URI scheme." + }, + "CreateComposeDeploymentRequiredBodyParam": { + "name": "CreateComposeDeploymentDescription", + "in": "body", + "description": "Describes the compose deployment that needs to be created.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/CreateComposeDeploymentDescription" + } + }, + "PasswordEncryptedOptionalQueryParam": { + "name": "PasswordEncrypted", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Indicates that supplied container repository password is encrypted." + }, + "RepositoryPasswordOptionalQueryParam": { + "name": "RepositoryPassword", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The password for supplied username to connect to container repository." + }, + "RepositoryUserNameOptionalQueryParam": { + "name": "RepositoryUserName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The user name to connect to container repository." + }, + "MaxResultsOptionalQueryParam": { + "name": "MaxResults", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "format": "int64", + "minimum": 0, + "default": 0, + "required": false, + "description": "The maximum number of results to be returned as part of the paged queries. This parameter defines the upper bound on the number of results returned. The results returned can be less than the specified maximum results if they do not fit in the message as per the max message size restrictions defined in the configuration. If this parameter is zero or not specified, the paged query includes as many results as possible that fit in the return message." + }, + "MetricNameRequiredQueryParam": { + "name": "MetricName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "Name of the metric based on which to get ordered list of partitions." + }, + "ApplicationDescriptionRequiredBodyParam": { + "name": "ApplicationDescription", + "in": "body", + "description": "Description for creating an application.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationDescription" + } + }, + "ServiceDescriptionRequiredBodyParam": { + "name": "ServiceDescription", + "in": "body", + "description": "The information necessary to create a service.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ServiceDescription" + } + }, + "ServiceUpdateDescriptionRequiredBodyParam": { + "name": "ServiceUpdateDescription", + "in": "body", + "description": "The information necessary to update a service.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ServiceUpdateDescription" + } + }, + "ImageStoreCopyDescriptionRequiredBodyParam": { + "name": "ImageStoreCopyDescription", + "in": "body", + "description": "Describes the copy description for the image store.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ImageStoreCopyDescription" + } + }, + "CodePackageNameOptionalQueryParam": { + "name": "CodePackageName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster." + }, + "RestartDeployedCodePackageRequiredBodyParam": { + "name": "RestartDeployedCodePackageDescription", + "in": "body", + "description": "Describes the deployed code package on Service Fabric node to restart.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RestartDeployedCodePackageDescription" + } + }, + "PartitionsHealthStateFilterOptionalQueryParam": { + "name": "PartitionsHealthStateFilter", + "description": "Allows filtering of the partitions health state objects returned in the result of service health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly partitions that match the filter are returned. All partitions are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these value\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of partitions with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 0 + }, + "DeployedServiceType_ServiceManifestNameOptionalQueryParam": { + "name": "ServiceManifestName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the service manifest to filter the list of deployed service type information. If specified, the response will only contain the information about service types that are defined in this service manifest." + }, + "ServiceTypeNameRequiredPathParam": { + "name": "serviceTypeName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "Specifies the name of a Service Fabric service type." + }, + "ImageStoreContentPathRequiredPathParam": { + "name": "contentPath", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "Relative path to file or folder in the image store from its root." + }, + "PartitionKeyTypeOptionalQueryParam": { + "name": "PartitionKeyType", + "description": "Key type for the partition. This parameter is required if the partition scheme for the service is Int64Range or Named. The possible values are following.\n- None (1) - Indicates that the PartitionKeyValue parameter is not specified. This is valid for the partitions with partitioning scheme as Singleton. This is the default value. The value is 1.\n- Int64Range (2) - Indicates that the PartitionKeyValue parameter is an int64 partition key. This is valid for the partitions with partitioning scheme as Int64Range. The value is 2.\n- Named (3) - Indicates that the PartitionKeyValue parameter is a name of the partition. This is valid for the partitions with partitioning scheme as Named. The value is 3.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false + }, + "PartitionKeyValueOptionalQueryParam": { + "name": "PartitionKeyValue", + "in": "query", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": false, + "description": "Partition key. This is required if the partition scheme for the service is Int64Range or Named. \nThis is not the partition ID, but rather, either the integer key value, or the name of the partition ID.\nFor example, if your service is using ranged partitions from 0 to 10, then they PartitionKeyValue would be an\ninteger in that range. Query service description to see the range or name." + }, + "PreviousRspVersionOptionalQueryParam": { + "name": "PreviousRspVersion", + "in": "query", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": false, + "description": "The value in the Version field of the response that was received previously. This is required if the user knows that the result that was gotten previously is stale." + }, + "DataLossModeRequiredQueryParam": { + "name": "DataLossMode", + "description": "This enum is passed to the StartDataLoss API to indicate what type of data loss to induce.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "PartialDataLoss", + "FullDataLoss" + ], + "required": true, + "x-ms-enum": { + "name": "DataLossMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "PartialDataLoss", + "description": "PartialDataLoss option will cause a quorum of replicas to go down, triggering an OnDataLoss event in the system for the given partition." + }, + { + "value": "FullDataLoss", + "description": "FullDataLoss option will drop all the replicas which means that all the data will be lost." + } + ] + } + }, + "FaultOperationIdRequiredQueryParam": { + "name": "OperationId", + "description": "A GUID that identifies a call of this API. This is passed into the corresponding GetProgress API", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "uuid", + "required": true + }, + "ForceRequiredQueryParam": { + "name": "Force", + "description": "Indicates whether to gracefully roll back and clean up internal system state modified by executing the user-induced operation.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": true, + "default": false + }, + "NodeInstanceIdRequiredQueryParam": { + "name": "NodeInstanceId", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The node instance ID of the target node. This can be determined through GetNodeInfo API." + }, + "NodeTransitionTypeRequiredQueryParam": { + "name": "NodeTransitionType", + "description": "Indicates the type of transition to perform. NodeTransitionType.Start will start a stopped node. NodeTransitionType.Stop will stop a node that is up.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "Start", + "Stop" + ], + "required": true, + "x-ms-enum": { + "name": "NodeTransitionType", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "Start", + "description": "Transition a stopped node to up." + }, + { + "value": "Stop", + "description": "Transition an up node to stopped." + } + ] + } + }, + "QuorumLossDurationRequiredQueryParam": { + "name": "QuorumLossDuration", + "description": "The amount of time for which the partition will be kept in quorum loss. This must be specified in seconds.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": true + }, + "QuorumLossModeRequiredQueryParam": { + "name": "QuorumLossMode", + "description": "This enum is passed to the StartQuorumLoss API to indicate what type of quorum loss to induce.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "QuorumReplicas", + "AllReplicas" + ], + "required": true, + "x-ms-enum": { + "name": "QuorumLossMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "QuorumReplicas", + "description": "Partial Quorum loss mode : Minimum number of replicas for a partition will be down that will cause a quorum loss." + }, + { + "value": "AllReplicas" + } + ] + } + }, + "RestartPartitionModeRequiredQueryParam": { + "name": "RestartPartitionMode", + "description": "Describe which partitions to restart.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Invalid", + "AllReplicasOrInstances", + "OnlyActiveSecondaries" + ], + "required": true, + "x-ms-enum": { + "name": "RestartPartitionMode", + "modelAsString": true, + "values": [ + { + "value": "Invalid", + "description": "Reserved. Do not pass into API." + }, + { + "value": "AllReplicasOrInstances", + "description": "All replicas or instances in the partition are restarted at once." + }, + { + "value": "OnlyActiveSecondaries", + "description": "Only the secondary replicas are restarted." + } + ] + } + }, + "StateFilterRequiredQueryParam": { + "name": "StateFilter", + "description": "Used to filter on OperationState's for user-induced operations.\n\n- 65535 - select All\n- 1 - select Running\n- 2 - select RollingBack\n- 8 - select Completed\n- 16 - select Faulted\n- 32 - select Cancelled\n- 64 - select ForceCancelled", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": true, + "default": 65535 + }, + "StopDurationInSecondsRequiredQueryParam": { + "name": "StopDurationInSeconds", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "format": "int32", + "minimum": 0, + "required": true, + "description": "The duration, in seconds, to keep the node stopped. The minimum value is 600, the maximum is 14400. After this time expires, the node will automatically come back up." + }, + "TypeFilterRequiredQueryParam": { + "name": "TypeFilter", + "description": "Used to filter on OperationType for user-induced operations.\n\n- 65535 - select all\n- 1 - select PartitionDataLoss.\n- 2 - select PartitionQuorumLoss.\n- 4 - select PartitionRestart.\n- 8 - select NodeTransition.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": true, + "default": 65535 + }, + "DeployServicePackageToNodeRequiredBodyParam": { + "name": "DeployServicePackageToNodeDescription", + "in": "body", + "description": "Describes information for deploying a service package to a Service Fabric node.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/DeployServicePackageToNodeDescription" + } + }, + "ResumeApplicationUpgradeDescriptionRequiredBodyParam": { + "name": "ResumeApplicationUpgradeDescription", + "in": "body", + "description": "Describes the parameters for resuming an application upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ResumeApplicationUpgradeDescription" + } + }, + "ApplicationUpgradeUpdateDescriptionRequiredBodyParam": { + "name": "ApplicationUpgradeUpdateDescription", + "in": "body", + "description": "Parameters for updating an existing application upgrade.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationUpgradeUpdateDescription" + } + }, + "ApplicationUpdateDescriptionRequiredBodyParam": { + "name": "ApplicationUpdateDescription", + "in": "body", + "description": "Parameters for updating an existing application instance.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationUpdateDescription" + } + }, + "TimeoutOptionalQueryParam": { + "name": "timeout", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "format": "int64", + "required": false, + "minimum": 1, + "maximum": 4294967295, + "default": 60, + "description": "The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds." + }, + "NameDescriptionRequiredBodyParam": { + "name": "NameDescription", + "in": "body", + "description": "Describes the Service Fabric name to be created.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/NameDescription" + } + }, + "NameIdRequiredPathParam": { + "name": "nameId", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The Service Fabric name, without the 'fabric:' URI scheme." + }, + "RecursiveOptionalQueryParam": { + "name": "Recursive", + "description": "Allows specifying that the search performed should be recursive.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "IncludeValuesOptionalQueryParam": { + "name": "IncludeValues", + "description": "Allows specifying whether to include the values of the properties returned. True if values should be returned with the metadata; False to return only property metadata.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "PropertyDescriptionRequiredBodyParam": { + "name": "PropertyDescription", + "in": "body", + "description": "Describes the Service Fabric property to be created.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/PropertyDescription" + } + }, + "PropertyNameRequiredQueryParam": { + "name": "PropertyName", + "description": "Specifies the name of the property to get.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true + }, + "PropertyBatchDescriptionListRequiredBodyParam": { + "name": "PropertyBatchDescriptionList", + "in": "body", + "description": "Describes the property batch operations to be submitted.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/PropertyBatchDescriptionList" + } + }, + "ImmediateOptionalQueryParam": { + "name": "Immediate", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "A flag that indicates whether the report should be sent immediately.\nA health report is sent to a Service Fabric gateway Application, which forwards to the health store.\nIf Immediate is set to true, the report is sent immediately from HTTP Gateway to the health store, regardless of the fabric client settings that the HTTP Gateway Application is using.\nThis is useful for critical reports that should be sent as soon as possible.\nDepending on timing and other conditions, sending the report may still fail, for example if the HTTP Gateway is closed or the message doesn't reach the Gateway.\nIf Immediate is set to false, the report is sent based on the health client settings from the HTTP Gateway. Therefore, it will be batched according to the HealthReportSendInterval configuration.\nThis is the recommended setting because it allows the health client to optimize health reporting messages to health store as well as health report processing.\nBy default, reports are not sent immediately." + }, + "ExcludeHealthStatisticsOptionalQueryParam": { + "name": "ExcludeHealthStatistics", + "description": "Indicates whether the health statistics should be returned as part of the query result. False by default.\nThe statistics show the number of children entities in health state Ok, Warning, and Error.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "IncludeSystemApplicationHealthStatisticsOptionalQueryParam": { + "name": "IncludeSystemApplicationHealthStatistics", + "description": "Indicates whether the health statistics should include the fabric:/System application health statistics. False by default.\nIf IncludeSystemApplicationHealthStatistics is set to true, the health statistics include the entities that belong to the fabric:/System application.\nOtherwise, the query result includes health statistics only for user applications.\nThe health statistics must be included in the query result for this parameter to be applied.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "IncludeHealthStateOptionalQueryParam": { + "name": "IncludeHealthState", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "Include the health state of an entity.\nIf this parameter is false or not specified, then the health state returned is \"Unknown\".\nWhen set to true, the query goes in parallel to the node and the health system service before the results are merged.\nAs a result, the query is more expensive and may take a longer time." + }, + "BackupPolicyDescriptionRequiredBodyParam": { + "name": "BackupPolicyDescription", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "description": "Describes the backup policy.", + "schema": { + "$ref": "#/definitions/BackupPolicyDescription" + } + }, + "DisableBackupDescriptionOptionalBodyParam": { + "name": "DisableBackupDescription", + "in": "body", + "description": "Specifies the parameters to disable backup for any backup entity.", + "required": false, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/DisableBackupDescription" + } + }, + "BackupPolicyNameRequiredPathParam": { + "name": "backupPolicyName", + "in": "path", + "description": "The name of the backup policy.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "EnableBackupDescriptionRequiredBodyParam": { + "name": "EnableBackupDescription", + "in": "body", + "description": "Specifies the parameters for enabling backup.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/EnableBackupDescription" + } + }, + "RestorePartitionDescriptionRequiredBodyParam": { + "name": "RestorePartitionDescription", + "in": "body", + "description": "Describes the parameters to restore the partition.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RestorePartitionDescription" + } + }, + "RestoreTimeoutOptionalQueryParam": { + "name": "RestoreTimeout", + "description": "Specifies the maximum amount of time to wait, in minutes, for the restore operation to complete. Post that, the operation returns back with timeout error. However, in certain corner cases it could be that the restore operation goes through even though it completes with timeout. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. the default value for the same is 10 minutes.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "default": 10 + }, + "BackupPartitionDescriptionOptionalBodyParam": { + "name": "BackupPartitionDescription", + "in": "body", + "required": false, + "x-ms-parameter-location": "method", + "description": "Describes the parameters to backup the partition now. If not present, backup operation uses default parameters from the backup policy current associated with this partition.", + "schema": { + "$ref": "#/definitions/BackupPartitionDescription" + } + }, + "BackupTimeoutOptionalQueryParam": { + "name": "BackupTimeout", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false, + "description": "Specifies the maximum amount of time, in minutes, to wait for the backup operation to complete. Post that, the operation completes with timeout error. However, in certain corner cases it could be that though the operation returns back timeout, the backup actually goes through. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. The default value for the same is 10 minutes.", + "default": 10 + }, + "LatestOptionalQueryParam": { + "name": "Latest", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "Specifies whether to get only the most recent backup available for a partition for the specified time range.", + "required": false, + "default": false + }, + "ValidateConnectionOptionalQueryParam": { + "name": "ValidateConnection", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "Specifies whether to validate the storage connection and credentials before creating or updating the backup policies.", + "required": false, + "default": false + }, + "StartDateTimeFilterOptionalQueryParam": { + "name": "StartDateTimeFilter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "date-time", + "required": false, + "description": "Specify the start date time from which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, all backups from the beginning are enumerated." + }, + "EndDateTimeFilterOptionalQueryParam": { + "name": "EndDateTimeFilter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "date-time", + "required": false, + "description": "Specify the end date time till which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, enumeration is done till the most recent backup." + }, + "GetBackupByStorageQueryDescriptionRequiredBodyParam": { + "name": "GetBackupByStorageQueryDescription", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "description": "Describes the filters and backup storage details to be used for enumerating backups.", + "schema": { + "$ref": "#/definitions/GetBackupByStorageQueryDescription" + } + }, + "RepairTaskApproveDescriptionRequiredBodyParam": { + "name": "RepairTaskApproveDescription", + "in": "body", + "description": "Describes the repair task to be approved.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTaskApproveDescription" + } + }, + "RepairTaskCancelDescriptionRequiredBodyParam": { + "name": "RepairTaskCancelDescription", + "in": "body", + "description": "Describes the repair task to be cancelled.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTaskCancelDescription" + } + }, + "RepairTaskDeleteDescriptionRequiredBodyParam": { + "name": "RepairTaskDeleteDescription", + "in": "body", + "description": "Describes the repair task to be deleted.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTaskDeleteDescription" + } + }, + "RepairTaskExecutorFilterOptionalQueryParam": { + "name": "ExecutorFilter", + "description": "The name of the repair executor whose claimed tasks should be included in the list.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false + }, + "RepairTaskIdFilterOptionalQueryParam": { + "name": "TaskIdFilter", + "description": "The repair task ID prefix to be matched.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false + }, + "RepairTaskRequiredBodyParam": { + "name": "RepairTask", + "in": "body", + "description": "Describes the repair task to be created or updated.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/RepairTask" + } + }, + "RepairTaskStateFilterOptionalQueryParam": { + "name": "StateFilter", + "description": "A bitwise-OR of the following values, specifying which task states should be included in the result list.\n\n- 1 - Created\n- 2 - Claimed\n- 4 - Preparing\n- 8 - Approved\n- 16 - Executing\n- 32 - Restoring\n- 64 - Completed", + "in": "query", + "x-ms-parameter-location": "method", + "type": "integer", + "required": false + }, + "RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam": { + "name": "RepairTaskUpdateHealthPolicyDescription", + "in": "body", + "description": "Describes the repair task healthy policy to be updated.", + "x-ms-parameter-location": "method", + "required": true, + "schema": { + "$ref": "#/definitions/RepairTaskUpdateHealthPolicyDescription" + } + }, + "UploadSessionIdRequiredQueryParam": { + "name": "session-id", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "format": "uuid", + "required": true, + "description": "A GUID generated by the user for a file uploading. It identifies an image store upload session which keeps track of all file chunks until it is committed." + }, + "UploadFileChunkContentRangeHeaderParam": { + "name": "Content-Range", + "in": "header", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "When uploading file chunks to the image store, the Content-Range header field need to be configured and sent with a request. The format should looks like \"bytes {First-Byte-Position}-{Last-Byte-Position}/{File-Length}\". For example, Content-Range:bytes 300-5000/20000 indicates that user is sending bytes 300 through 5,000 and the total file length is 20,000 bytes." + }, + "ChaosScheduleRequiredBodyParam": { + "name": "ChaosSchedule", + "in": "body", + "description": "Describes the schedule used by Chaos.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ChaosScheduleDescription" + } + }, + "StartTimeUtcRequiredQueryParam": { + "name": "StartTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The start time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ." + }, + "EndTimeUtcRequiredQueryParam": { + "name": "EndTimeUtc", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The end time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ." + }, + "EventsTypesFilterOptionalQueryParam": { + "name": "EventsTypesFilter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "This is a comma separated string specifying the types of FabricEvents that should only be included in the response." + }, + "ExcludeAnalysisEventsOptionalQueryParam": { + "name": "ExcludeAnalysisEvents", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "This param disables the retrieval of AnalysisEvents if true is passed." + }, + "SkipCorrelationLookupOptionalQueryParam": { + "name": "SkipCorrelationLookup", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "This param disables the search of CorrelatedEvents information if true is passed. otherwise the CorrelationEvents get processed and HasCorrelatedEvents field in every FabricEvent gets populated." + }, + "EventInstanceIdRequiredPathParam": { + "name": "eventInstanceId", + "in": "path", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The EventInstanceId." + }, + "PreviousOptionalQueryParam": { + "name": "Previous", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "Specifies whether to get container logs from exited/dead containers of the code package instance.", + "required": false, + "default": false + }, + "IgnoreConstraintsOptionalParam": { + "name": "IgnoreConstraints", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false, + "description": "Ignore constraints when moving a replica or instance. If this parameter is not specified, all constraints are honored." + }, + "NodeNameOptionalParam": { + "name": "NodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the node." + }, + "VerboseServicePlacementHealthReportingParam": { + "name": "Enabled", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": true, + "description": "The verbosity of service placement health reporting." + }, + "NewNodeNameOptionalParam": { + "name": "NewNodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the target node for secondary replica or instance move. If not specified, replica or instance is moved to a random node." + }, + "CurrentNodeNameRequiredParam": { + "name": "CurrentNodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": true, + "description": "The name of the source node for secondary replica move." + }, + "CurrentNodeNameOptionalParam": { + "name": "CurrentNodeName", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "description": "The name of the source node for instance move. If not specified, instance is moved from a random node." + }, + "OnlyQueryPrimariesOptionalQueryParam": { + "name": "OnlyQueryPrimaries", + "description": "Indicates that unplaced replica information will be queries only for primary replicas.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "default": false + }, + "OrderingOptionalQueryParam": { + "name": "Ordering", + "description": "Ordering of partitions' load.", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "required": false, + "default": "Desc", + "enum": [ + "Desc", + "Asc" + ], + "x-ms-enum": { + "name": "Ordering", + "modelAsString": true, + "values": [ + { + "value": "Desc", + "description": "Sort load descending." + }, + { + "value": "Asc", + "description": "Sort load ascending." + } + ] + } + }, + "ForceConfigurationOverrideOptionalParam": { + "name": "Force", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "required": false, + "description": "Force adding configuration overrides on specified nodes." + }, + "ConfigurationOverrideListRequiredParam": { + "name": "ConfigParameterOverrideList", + "in": "body", + "description": "Description for adding list of configuration overrides.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ConfigParameterOverrideList" + } + }, + "PartitionMetricLoadDescriptionListRequiredParam": { + "name": "PartitionMetricLoadDescriptionList", + "in": "body", + "description": "Description of updating load for list of partitions.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/PartitionMetricLoadDescriptionList" + } + }, + "NodeTagsListRequiredParam": { + "name": "NodeTags", + "in": "body", + "description": "Description for adding list of node tags.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/NodeTagsList" + } + }, + "SecretResourceDescriptionRequiredBodyParam": { + "name": "secretResourceDescription", + "in": "body", + "description": "Description for creating a secret resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/SecretResourceDescription" + } + }, + "SecretResourceNameRequiredPathParam": { + "name": "secretResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The name of the secret resource." + }, + "SecretValueResourceDescriptionRequiredBodyParam": { + "name": "secretValueResourceDescription", + "in": "body", + "description": "Description for creating a value of a secret resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/SecretValueResourceDescription" + } + }, + "SecretValueResourceNameRequiredPathParam": { + "name": "secretValueResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The name of the secret resource value which is typically the version identifier for the value." + }, + "VolumeResourceDescriptionRequiredBodyParam": { + "name": "volumeResourceDescription", + "in": "body", + "description": "Description for creating a Volume resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/VolumeResourceDescription" + } + }, + "VolumeResourceNameRequiredPathParam": { + "name": "volumeResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the volume." + }, + "NetworkResourceDescriptionRequiredBodyParam": { + "name": "networkResourceDescription", + "in": "body", + "description": "Description for creating a Network resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/NetworkResourceDescription" + } + }, + "NetworkResourceNameRequiredPathParam": { + "name": "networkResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the network." + }, + "ApplicationResourceDescriptionRequiredBodyParam": { + "name": "applicationResourceDescription", + "in": "body", + "description": "Description for creating a Application resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/ApplicationResourceDescription" + } + }, + "ApplicationResourceNameRequiredPathParam": { + "name": "applicationResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the application." + }, + "ServiceResourceNameRequiredPathParam": { + "name": "serviceResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the service." + }, + "ReplicaNameRequiredPathParam": { + "name": "replicaName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "Service Fabric replica name." + }, + "GatewayResourceDescriptionRequiredBodyParam": { + "name": "gatewayResourceDescription", + "in": "body", + "description": "Description for creating a Gateway resource.", + "required": true, + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/GatewayResourceDescription" + } + }, + "GatewayResourceNameRequiredPathParam": { + "name": "gatewayResourceName", + "in": "path", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "required": true, + "description": "The identity of the gateway." + } + } +} diff --git a/specification/servicefabric/data-plane/readme.go.md b/specification/servicefabric/data-plane/readme.go.md index 3e5966edb6d6..d68a5ab0346e 100644 --- a/specification/servicefabric/data-plane/readme.go.md +++ b/specification/servicefabric/data-plane/readme.go.md @@ -76,4 +76,12 @@ These settings apply only when `--tag=8.0 --go` is specified on the command line ``` yaml $(tag) == '8.0' && $(go) output-folder: $(go-sdk-folder)/services/$(namespace)/8.0/$(namespace) +``` + +### Tag: 8.2 and go + +These settings apply only when `--tag=8.2 --go` is specified on the command line. + +``` yaml $(tag) == '8.2' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/8.2/$(namespace) ``` \ No newline at end of file diff --git a/specification/servicefabric/data-plane/readme.md b/specification/servicefabric/data-plane/readme.md index bf248f62f0d4..9f169d335854 100644 --- a/specification/servicefabric/data-plane/readme.md +++ b/specification/servicefabric/data-plane/readme.md @@ -151,6 +151,14 @@ These settings apply only when `--tag=8.1` is specified on the command line. input-file: - Microsoft.ServiceFabric/stable/8.1/servicefabric.json ``` + +### Tag: 8.2 +These settings apply only when `--tag=8.2` is specified on the command line. + +``` yaml $(tag) == '8.2' +input-file: +- Microsoft.ServiceFabric/stable/8.2/servicefabric.json +``` --- # Code Generation @@ -208,6 +216,7 @@ input-file: - $(this-folder)/Microsoft.ServiceFabric/stable/7.2/servicefabric.json - $(this-folder)/Microsoft.ServiceFabric/stable/8.0/servicefabric.json - $(this-folder)/Microsoft.ServiceFabric/stable/8.1/servicefabric.json + - $(this-folder)/Microsoft.ServiceFabric/stable/8.2/servicefabric.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/servicefabric/data-plane/readme.python.md b/specification/servicefabric/data-plane/readme.python.md index 9bff261940c0..f91f4c9baa2e 100644 --- a/specification/servicefabric/data-plane/readme.python.md +++ b/specification/servicefabric/data-plane/readme.python.md @@ -9,7 +9,7 @@ license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 namespace: azure.servicefabric package-name: azure-servicefabric -package-version: 8.1.0.0 +package-version: 8.2.0.0 add-credentials: true clear-output-folder: true use: "@microsoft.azure/autorest.python@~4.0.71"