swagger: '2.0'
info:
version: 2020-08-01-preview
title: Microsoft Azure AccessControlClient AccessConnector Chaos API
schemes:
- https
tags:
- name: Chaos
paths:
/Tools/Chaos:
get:
operationId: microsoftAzureGetchaos
summary: Microsoft Azure 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: microsoftAzureStartchaos
summary: Microsoft Azure Starts Chaos In The Cluster
description: If Chaos is not already running in the cluster, it starts Chaos with the passed in Chaos parameters.
If Chaos is already running when this call is made, the call fails with the error code FABRIC_E_CHAOS_ALREADY_RUNNING.
Refer 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: microsoftAzureStopchaos
summary: Microsoft Azure 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.
Once 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: microsoftAzureGetchaosevents
summary: Microsoft Azure 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
through StartTimeUtc and EndTimeUtc. You cannot specify both the ContinuationToken and the time range in the same call.
When 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: microsoftAzureGetchaosschedule
summary: Microsoft Azure 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: microsoftAzurePostchaosschedule
summary: Microsoft Azure Set The Schedule Used By Chaos
description: Chaos will automatically schedule runs based on the Chaos Schedule.
The Chaos Schedule will be updated if the provided version matches the version on the server.
When updating the Chaos Schedule, the version on the server is incremented by 1.
The version on the server will wrap back to 0 after reaching a large number.
If 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'
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
the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.
This 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.
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'
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
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
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.
The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.
If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.
The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.
The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
In 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.
The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.
If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.
This 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.
The 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.
Each 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.
The application type health policy map can be used during cluster health evaluation to describe special application types.
The 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.
The applications of application types specified in the map are not counted against the global pool of applications.
For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type
and assign it a value of 0% (that is, do not tolerate any failures).
All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.
The 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."
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'
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.
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.
ApplicationTypeHealthPolicyMap:
type: array
items:
$ref: '#/definitions/ApplicationTypeHealthPolicyMapItem'
description: 'Defines a map with max percentage unhealthy applications for specific application types.
Each 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.
The application type health policy map can be used during cluster health evaluation to describe special application types.
The 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.
The applications of application types specified in the map are not counted against the global pool of applications.
For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type
and assign it a value of 0% (that is, do not tolerate any failures).
All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.
The application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation.'
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
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.
ApplicationName:
type: string
description: The name of the application, including the 'fabric:' URI scheme.
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."
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.
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
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.
ChaosTargetFilter:
description: 'Defines all filters for targeted Chaos faults, for example, faulting only certain node types or faulting only certain applications.
If ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter
specification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is not possible to specify an intersection
of NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify "fault this application only when it is on that node type."
Once an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity cannot be excluded using ChaosTargetFilter. Even if
applicationX 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
in 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.
All 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.
If 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
NodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.
happens to reside on a node of NodeTypeX.
At 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.
All replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.
Chaos may restart a code package only if the code package hosts replicas of these applications only.
If 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.
However, 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.
At 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'
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.
During 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.
Chaos executes in iterations and two consecutive iterations are separated by a validation phase.
The higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.
The 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.
The larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.
The 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.
The 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
the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.
This 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.
This 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.
If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification.'
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
ChaosEventWrapper:
description: Wrapper object for Chaos event.
properties:
ChaosEvent:
$ref: '#/definitions/ChaosEvent'
description: Represents an event generated during a Chaos run.
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."
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.
ChaosContextMap:
additionalProperties:
type: string
description: Describes a map that contains a collection of ChaosContextMapItem's.
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'
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.
NodeType:
type: string
description: 'The type name of a Service Fabric node.
Refer 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.'
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
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.
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.
The max percent unhealthy applications allowed for the application type. Must be between zero and 100.'
parameters:
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.
ChaosScheduleRequiredBodyParam:
name: ChaosSchedule
in: body
description: Describes the schedule used by Chaos.
required: true
x-ms-parameter-location: method
schema:
$ref: '#/definitions/ChaosScheduleDescription'
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.
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.
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''.
Service 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.
Additionally 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-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''.
Service 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.
Additionally 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.
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.
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'
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.
x-ms-parameterized-host:
hostTemplate: '{endpoint}'
useSchemePrefix: false
parameters:
- $ref: '#/parameters/Endpoint'