1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9from azure.core.exceptions import HttpResponseError 10import msrest.serialization 11 12 13class ApplicationDeltaHealthPolicy(msrest.serialization.Model): 14 """Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster. 15 16 :param default_service_type_delta_health_policy: The delta health policy used by default to 17 evaluate the health of a service type when upgrading the cluster. 18 :type default_service_type_delta_health_policy: 19 ~azure.mgmt.servicefabric.models.ServiceTypeDeltaHealthPolicy 20 :param service_type_delta_health_policies: The map with service type delta health policy per 21 service type name. The map is empty by default. 22 :type service_type_delta_health_policies: dict[str, 23 ~azure.mgmt.servicefabric.models.ServiceTypeDeltaHealthPolicy] 24 """ 25 26 _attribute_map = { 27 'default_service_type_delta_health_policy': {'key': 'defaultServiceTypeDeltaHealthPolicy', 'type': 'ServiceTypeDeltaHealthPolicy'}, 28 'service_type_delta_health_policies': {'key': 'serviceTypeDeltaHealthPolicies', 'type': '{ServiceTypeDeltaHealthPolicy}'}, 29 } 30 31 def __init__( 32 self, 33 **kwargs 34 ): 35 super(ApplicationDeltaHealthPolicy, self).__init__(**kwargs) 36 self.default_service_type_delta_health_policy = kwargs.get('default_service_type_delta_health_policy', None) 37 self.service_type_delta_health_policies = kwargs.get('service_type_delta_health_policies', None) 38 39 40class ApplicationHealthPolicy(msrest.serialization.Model): 41 """Defines a health policy used to evaluate the health of an application or one of its children entities. 42 43 :param default_service_type_health_policy: The health policy used by default to evaluate the 44 health of a service type. 45 :type default_service_type_health_policy: 46 ~azure.mgmt.servicefabric.models.ServiceTypeHealthPolicy 47 :param service_type_health_policies: The map with service type health policy per service type 48 name. The map is empty by default. 49 :type service_type_health_policies: dict[str, 50 ~azure.mgmt.servicefabric.models.ServiceTypeHealthPolicy] 51 """ 52 53 _attribute_map = { 54 'default_service_type_health_policy': {'key': 'defaultServiceTypeHealthPolicy', 'type': 'ServiceTypeHealthPolicy'}, 55 'service_type_health_policies': {'key': 'serviceTypeHealthPolicies', 'type': '{ServiceTypeHealthPolicy}'}, 56 } 57 58 def __init__( 59 self, 60 **kwargs 61 ): 62 super(ApplicationHealthPolicy, self).__init__(**kwargs) 63 self.default_service_type_health_policy = kwargs.get('default_service_type_health_policy', None) 64 self.service_type_health_policies = kwargs.get('service_type_health_policies', None) 65 66 67class ApplicationMetricDescription(msrest.serialization.Model): 68 """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. 69 70 :param name: The name of the metric. 71 :type name: str 72 :param maximum_capacity: The maximum node capacity for Service Fabric application. 73 This is the maximum Load for an instance of this application on a single node. Even if the 74 capacity of node is greater than this value, Service Fabric will limit the total load of 75 services within the application on each node to this value. 76 If set to zero, capacity for this metric is unlimited on each node. 77 When creating a new application with application capacity defined, the product of MaximumNodes 78 and this value must always be smaller than or equal to TotalApplicationCapacity. 79 When updating existing application with application capacity, the product of MaximumNodes and 80 this value must always be smaller than or equal to TotalApplicationCapacity. 81 :type maximum_capacity: long 82 :param reservation_capacity: The node reservation capacity for Service Fabric application. 83 This is the amount of load which is reserved on nodes which have instances of this 84 application. 85 If MinimumNodes is specified, then the product of these values will be the capacity reserved 86 in the cluster for the application. 87 If set to zero, no capacity is reserved for this metric. 88 When setting application capacity or when updating application capacity; this value must be 89 smaller than or equal to MaximumCapacity for each metric. 90 :type reservation_capacity: long 91 :param total_application_capacity: The total metric capacity for Service Fabric application. 92 This is the total metric capacity for this application in the cluster. Service Fabric will try 93 to limit the sum of loads of services within the application to this value. 94 When creating a new application with application capacity defined, the product of MaximumNodes 95 and MaximumCapacity must always be smaller than or equal to this value. 96 :type total_application_capacity: long 97 """ 98 99 _attribute_map = { 100 'name': {'key': 'name', 'type': 'str'}, 101 'maximum_capacity': {'key': 'maximumCapacity', 'type': 'long'}, 102 'reservation_capacity': {'key': 'reservationCapacity', 'type': 'long'}, 103 'total_application_capacity': {'key': 'totalApplicationCapacity', 'type': 'long'}, 104 } 105 106 def __init__( 107 self, 108 **kwargs 109 ): 110 super(ApplicationMetricDescription, self).__init__(**kwargs) 111 self.name = kwargs.get('name', None) 112 self.maximum_capacity = kwargs.get('maximum_capacity', None) 113 self.reservation_capacity = kwargs.get('reservation_capacity', None) 114 self.total_application_capacity = kwargs.get('total_application_capacity', None) 115 116 117class ProxyResource(msrest.serialization.Model): 118 """The resource model definition for proxy-only resource. 119 120 Variables are only populated by the server, and will be ignored when sending a request. 121 122 :ivar id: Azure resource identifier. 123 :vartype id: str 124 :ivar name: Azure resource name. 125 :vartype name: str 126 :ivar type: Azure resource type. 127 :vartype type: str 128 :param location: It will be deprecated in New API, resource location depends on the parent 129 resource. 130 :type location: str 131 :param tags: A set of tags. Azure resource tags. 132 :type tags: dict[str, str] 133 :ivar etag: Azure resource etag. 134 :vartype etag: str 135 """ 136 137 _validation = { 138 'id': {'readonly': True}, 139 'name': {'readonly': True}, 140 'type': {'readonly': True}, 141 'etag': {'readonly': True}, 142 } 143 144 _attribute_map = { 145 'id': {'key': 'id', 'type': 'str'}, 146 'name': {'key': 'name', 'type': 'str'}, 147 'type': {'key': 'type', 'type': 'str'}, 148 'location': {'key': 'location', 'type': 'str'}, 149 'tags': {'key': 'tags', 'type': '{str}'}, 150 'etag': {'key': 'etag', 'type': 'str'}, 151 } 152 153 def __init__( 154 self, 155 **kwargs 156 ): 157 super(ProxyResource, self).__init__(**kwargs) 158 self.id = None 159 self.name = None 160 self.type = None 161 self.location = kwargs.get('location', None) 162 self.tags = kwargs.get('tags', None) 163 self.etag = None 164 165 166class ApplicationResource(ProxyResource): 167 """The application resource. 168 169 Variables are only populated by the server, and will be ignored when sending a request. 170 171 :ivar id: Azure resource identifier. 172 :vartype id: str 173 :ivar name: Azure resource name. 174 :vartype name: str 175 :ivar type: Azure resource type. 176 :vartype type: str 177 :param location: It will be deprecated in New API, resource location depends on the parent 178 resource. 179 :type location: str 180 :param tags: A set of tags. Azure resource tags. 181 :type tags: dict[str, str] 182 :ivar etag: Azure resource etag. 183 :vartype etag: str 184 :param identity: Describes the managed identities for an Azure resource. 185 :type identity: ~azure.mgmt.servicefabric.models.ManagedIdentity 186 :param type_version: The version of the application type as defined in the application 187 manifest. 188 :type type_version: str 189 :param parameters: List of application parameters with overridden values from their default 190 values specified in the application manifest. 191 :type parameters: dict[str, str] 192 :param upgrade_policy: Describes the policy for a monitored application upgrade. 193 :type upgrade_policy: ~azure.mgmt.servicefabric.models.ApplicationUpgradePolicy 194 :param minimum_nodes: The minimum number of nodes where Service Fabric will reserve capacity 195 for this application. Note that this does not mean that the services of this application will 196 be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. 197 The value of this property cannot be more than the value of the MaximumNodes property. 198 :type minimum_nodes: long 199 :param maximum_nodes: The maximum number of nodes where Service Fabric will reserve capacity 200 for this application. Note that this does not mean that the services of this application will 201 be placed on all of those nodes. By default, the value of this property is zero and it means 202 that the services can be placed on any node. 203 :type maximum_nodes: long 204 :param remove_application_capacity: Remove the current application capacity settings. 205 :type remove_application_capacity: bool 206 :param metrics: List of application capacity metric description. 207 :type metrics: list[~azure.mgmt.servicefabric.models.ApplicationMetricDescription] 208 :param managed_identities: List of user assigned identities for the application, each mapped to 209 a friendly name. 210 :type managed_identities: 211 list[~azure.mgmt.servicefabric.models.ApplicationUserAssignedIdentity] 212 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 213 the response. 214 :vartype provisioning_state: str 215 :param type_name: The application type name as defined in the application manifest. 216 :type type_name: str 217 """ 218 219 _validation = { 220 'id': {'readonly': True}, 221 'name': {'readonly': True}, 222 'type': {'readonly': True}, 223 'etag': {'readonly': True}, 224 'minimum_nodes': {'minimum': 0}, 225 'maximum_nodes': {'minimum': 0}, 226 'provisioning_state': {'readonly': True}, 227 } 228 229 _attribute_map = { 230 'id': {'key': 'id', 'type': 'str'}, 231 'name': {'key': 'name', 'type': 'str'}, 232 'type': {'key': 'type', 'type': 'str'}, 233 'location': {'key': 'location', 'type': 'str'}, 234 'tags': {'key': 'tags', 'type': '{str}'}, 235 'etag': {'key': 'etag', 'type': 'str'}, 236 'identity': {'key': 'identity', 'type': 'ManagedIdentity'}, 237 'type_version': {'key': 'properties.typeVersion', 'type': 'str'}, 238 'parameters': {'key': 'properties.parameters', 'type': '{str}'}, 239 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'ApplicationUpgradePolicy'}, 240 'minimum_nodes': {'key': 'properties.minimumNodes', 'type': 'long'}, 241 'maximum_nodes': {'key': 'properties.maximumNodes', 'type': 'long'}, 242 'remove_application_capacity': {'key': 'properties.removeApplicationCapacity', 'type': 'bool'}, 243 'metrics': {'key': 'properties.metrics', 'type': '[ApplicationMetricDescription]'}, 244 'managed_identities': {'key': 'properties.managedIdentities', 'type': '[ApplicationUserAssignedIdentity]'}, 245 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 246 'type_name': {'key': 'properties.typeName', 'type': 'str'}, 247 } 248 249 def __init__( 250 self, 251 **kwargs 252 ): 253 super(ApplicationResource, self).__init__(**kwargs) 254 self.identity = kwargs.get('identity', None) 255 self.type_version = kwargs.get('type_version', None) 256 self.parameters = kwargs.get('parameters', None) 257 self.upgrade_policy = kwargs.get('upgrade_policy', None) 258 self.minimum_nodes = kwargs.get('minimum_nodes', None) 259 self.maximum_nodes = kwargs.get('maximum_nodes', 0) 260 self.remove_application_capacity = kwargs.get('remove_application_capacity', None) 261 self.metrics = kwargs.get('metrics', None) 262 self.managed_identities = kwargs.get('managed_identities', None) 263 self.provisioning_state = None 264 self.type_name = kwargs.get('type_name', None) 265 266 267class ApplicationResourceList(msrest.serialization.Model): 268 """The list of application resources. 269 270 Variables are only populated by the server, and will be ignored when sending a request. 271 272 :param value: 273 :type value: list[~azure.mgmt.servicefabric.models.ApplicationResource] 274 :ivar next_link: URL to get the next set of application list results if there are any. 275 :vartype next_link: str 276 """ 277 278 _validation = { 279 'next_link': {'readonly': True}, 280 } 281 282 _attribute_map = { 283 'value': {'key': 'value', 'type': '[ApplicationResource]'}, 284 'next_link': {'key': 'nextLink', 'type': 'str'}, 285 } 286 287 def __init__( 288 self, 289 **kwargs 290 ): 291 super(ApplicationResourceList, self).__init__(**kwargs) 292 self.value = kwargs.get('value', None) 293 self.next_link = None 294 295 296class ApplicationResourceUpdateProperties(msrest.serialization.Model): 297 """The application resource properties for patch operations. 298 299 :param type_version: The version of the application type as defined in the application 300 manifest. 301 :type type_version: str 302 :param parameters: List of application parameters with overridden values from their default 303 values specified in the application manifest. 304 :type parameters: dict[str, str] 305 :param upgrade_policy: Describes the policy for a monitored application upgrade. 306 :type upgrade_policy: ~azure.mgmt.servicefabric.models.ApplicationUpgradePolicy 307 :param minimum_nodes: The minimum number of nodes where Service Fabric will reserve capacity 308 for this application. Note that this does not mean that the services of this application will 309 be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. 310 The value of this property cannot be more than the value of the MaximumNodes property. 311 :type minimum_nodes: long 312 :param maximum_nodes: The maximum number of nodes where Service Fabric will reserve capacity 313 for this application. Note that this does not mean that the services of this application will 314 be placed on all of those nodes. By default, the value of this property is zero and it means 315 that the services can be placed on any node. 316 :type maximum_nodes: long 317 :param remove_application_capacity: Remove the current application capacity settings. 318 :type remove_application_capacity: bool 319 :param metrics: List of application capacity metric description. 320 :type metrics: list[~azure.mgmt.servicefabric.models.ApplicationMetricDescription] 321 :param managed_identities: List of user assigned identities for the application, each mapped to 322 a friendly name. 323 :type managed_identities: 324 list[~azure.mgmt.servicefabric.models.ApplicationUserAssignedIdentity] 325 """ 326 327 _validation = { 328 'minimum_nodes': {'minimum': 0}, 329 'maximum_nodes': {'minimum': 0}, 330 } 331 332 _attribute_map = { 333 'type_version': {'key': 'typeVersion', 'type': 'str'}, 334 'parameters': {'key': 'parameters', 'type': '{str}'}, 335 'upgrade_policy': {'key': 'upgradePolicy', 'type': 'ApplicationUpgradePolicy'}, 336 'minimum_nodes': {'key': 'minimumNodes', 'type': 'long'}, 337 'maximum_nodes': {'key': 'maximumNodes', 'type': 'long'}, 338 'remove_application_capacity': {'key': 'removeApplicationCapacity', 'type': 'bool'}, 339 'metrics': {'key': 'metrics', 'type': '[ApplicationMetricDescription]'}, 340 'managed_identities': {'key': 'managedIdentities', 'type': '[ApplicationUserAssignedIdentity]'}, 341 } 342 343 def __init__( 344 self, 345 **kwargs 346 ): 347 super(ApplicationResourceUpdateProperties, self).__init__(**kwargs) 348 self.type_version = kwargs.get('type_version', None) 349 self.parameters = kwargs.get('parameters', None) 350 self.upgrade_policy = kwargs.get('upgrade_policy', None) 351 self.minimum_nodes = kwargs.get('minimum_nodes', None) 352 self.maximum_nodes = kwargs.get('maximum_nodes', 0) 353 self.remove_application_capacity = kwargs.get('remove_application_capacity', None) 354 self.metrics = kwargs.get('metrics', None) 355 self.managed_identities = kwargs.get('managed_identities', None) 356 357 358class ApplicationResourceProperties(ApplicationResourceUpdateProperties): 359 """The application resource properties. 360 361 Variables are only populated by the server, and will be ignored when sending a request. 362 363 :param type_version: The version of the application type as defined in the application 364 manifest. 365 :type type_version: str 366 :param parameters: List of application parameters with overridden values from their default 367 values specified in the application manifest. 368 :type parameters: dict[str, str] 369 :param upgrade_policy: Describes the policy for a monitored application upgrade. 370 :type upgrade_policy: ~azure.mgmt.servicefabric.models.ApplicationUpgradePolicy 371 :param minimum_nodes: The minimum number of nodes where Service Fabric will reserve capacity 372 for this application. Note that this does not mean that the services of this application will 373 be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. 374 The value of this property cannot be more than the value of the MaximumNodes property. 375 :type minimum_nodes: long 376 :param maximum_nodes: The maximum number of nodes where Service Fabric will reserve capacity 377 for this application. Note that this does not mean that the services of this application will 378 be placed on all of those nodes. By default, the value of this property is zero and it means 379 that the services can be placed on any node. 380 :type maximum_nodes: long 381 :param remove_application_capacity: Remove the current application capacity settings. 382 :type remove_application_capacity: bool 383 :param metrics: List of application capacity metric description. 384 :type metrics: list[~azure.mgmt.servicefabric.models.ApplicationMetricDescription] 385 :param managed_identities: List of user assigned identities for the application, each mapped to 386 a friendly name. 387 :type managed_identities: 388 list[~azure.mgmt.servicefabric.models.ApplicationUserAssignedIdentity] 389 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 390 the response. 391 :vartype provisioning_state: str 392 :param type_name: The application type name as defined in the application manifest. 393 :type type_name: str 394 """ 395 396 _validation = { 397 'minimum_nodes': {'minimum': 0}, 398 'maximum_nodes': {'minimum': 0}, 399 'provisioning_state': {'readonly': True}, 400 } 401 402 _attribute_map = { 403 'type_version': {'key': 'typeVersion', 'type': 'str'}, 404 'parameters': {'key': 'parameters', 'type': '{str}'}, 405 'upgrade_policy': {'key': 'upgradePolicy', 'type': 'ApplicationUpgradePolicy'}, 406 'minimum_nodes': {'key': 'minimumNodes', 'type': 'long'}, 407 'maximum_nodes': {'key': 'maximumNodes', 'type': 'long'}, 408 'remove_application_capacity': {'key': 'removeApplicationCapacity', 'type': 'bool'}, 409 'metrics': {'key': 'metrics', 'type': '[ApplicationMetricDescription]'}, 410 'managed_identities': {'key': 'managedIdentities', 'type': '[ApplicationUserAssignedIdentity]'}, 411 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 412 'type_name': {'key': 'typeName', 'type': 'str'}, 413 } 414 415 def __init__( 416 self, 417 **kwargs 418 ): 419 super(ApplicationResourceProperties, self).__init__(**kwargs) 420 self.provisioning_state = None 421 self.type_name = kwargs.get('type_name', None) 422 423 424class ApplicationResourceUpdate(ProxyResource): 425 """The application resource for patch operations. 426 427 Variables are only populated by the server, and will be ignored when sending a request. 428 429 :ivar id: Azure resource identifier. 430 :vartype id: str 431 :ivar name: Azure resource name. 432 :vartype name: str 433 :ivar type: Azure resource type. 434 :vartype type: str 435 :param location: It will be deprecated in New API, resource location depends on the parent 436 resource. 437 :type location: str 438 :param tags: A set of tags. Azure resource tags. 439 :type tags: dict[str, str] 440 :ivar etag: Azure resource etag. 441 :vartype etag: str 442 :param type_version: The version of the application type as defined in the application 443 manifest. 444 :type type_version: str 445 :param parameters: List of application parameters with overridden values from their default 446 values specified in the application manifest. 447 :type parameters: dict[str, str] 448 :param upgrade_policy: Describes the policy for a monitored application upgrade. 449 :type upgrade_policy: ~azure.mgmt.servicefabric.models.ApplicationUpgradePolicy 450 :param minimum_nodes: The minimum number of nodes where Service Fabric will reserve capacity 451 for this application. Note that this does not mean that the services of this application will 452 be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. 453 The value of this property cannot be more than the value of the MaximumNodes property. 454 :type minimum_nodes: long 455 :param maximum_nodes: The maximum number of nodes where Service Fabric will reserve capacity 456 for this application. Note that this does not mean that the services of this application will 457 be placed on all of those nodes. By default, the value of this property is zero and it means 458 that the services can be placed on any node. 459 :type maximum_nodes: long 460 :param remove_application_capacity: Remove the current application capacity settings. 461 :type remove_application_capacity: bool 462 :param metrics: List of application capacity metric description. 463 :type metrics: list[~azure.mgmt.servicefabric.models.ApplicationMetricDescription] 464 :param managed_identities: List of user assigned identities for the application, each mapped to 465 a friendly name. 466 :type managed_identities: 467 list[~azure.mgmt.servicefabric.models.ApplicationUserAssignedIdentity] 468 """ 469 470 _validation = { 471 'id': {'readonly': True}, 472 'name': {'readonly': True}, 473 'type': {'readonly': True}, 474 'etag': {'readonly': True}, 475 'minimum_nodes': {'minimum': 0}, 476 'maximum_nodes': {'minimum': 0}, 477 } 478 479 _attribute_map = { 480 'id': {'key': 'id', 'type': 'str'}, 481 'name': {'key': 'name', 'type': 'str'}, 482 'type': {'key': 'type', 'type': 'str'}, 483 'location': {'key': 'location', 'type': 'str'}, 484 'tags': {'key': 'tags', 'type': '{str}'}, 485 'etag': {'key': 'etag', 'type': 'str'}, 486 'type_version': {'key': 'properties.typeVersion', 'type': 'str'}, 487 'parameters': {'key': 'properties.parameters', 'type': '{str}'}, 488 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'ApplicationUpgradePolicy'}, 489 'minimum_nodes': {'key': 'properties.minimumNodes', 'type': 'long'}, 490 'maximum_nodes': {'key': 'properties.maximumNodes', 'type': 'long'}, 491 'remove_application_capacity': {'key': 'properties.removeApplicationCapacity', 'type': 'bool'}, 492 'metrics': {'key': 'properties.metrics', 'type': '[ApplicationMetricDescription]'}, 493 'managed_identities': {'key': 'properties.managedIdentities', 'type': '[ApplicationUserAssignedIdentity]'}, 494 } 495 496 def __init__( 497 self, 498 **kwargs 499 ): 500 super(ApplicationResourceUpdate, self).__init__(**kwargs) 501 self.type_version = kwargs.get('type_version', None) 502 self.parameters = kwargs.get('parameters', None) 503 self.upgrade_policy = kwargs.get('upgrade_policy', None) 504 self.minimum_nodes = kwargs.get('minimum_nodes', None) 505 self.maximum_nodes = kwargs.get('maximum_nodes', 0) 506 self.remove_application_capacity = kwargs.get('remove_application_capacity', None) 507 self.metrics = kwargs.get('metrics', None) 508 self.managed_identities = kwargs.get('managed_identities', None) 509 510 511class ApplicationTypeResource(ProxyResource): 512 """The application type name resource. 513 514 Variables are only populated by the server, and will be ignored when sending a request. 515 516 :ivar id: Azure resource identifier. 517 :vartype id: str 518 :ivar name: Azure resource name. 519 :vartype name: str 520 :ivar type: Azure resource type. 521 :vartype type: str 522 :param location: It will be deprecated in New API, resource location depends on the parent 523 resource. 524 :type location: str 525 :param tags: A set of tags. Azure resource tags. 526 :type tags: dict[str, str] 527 :ivar etag: Azure resource etag. 528 :vartype etag: str 529 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 530 the response. 531 :vartype provisioning_state: str 532 """ 533 534 _validation = { 535 'id': {'readonly': True}, 536 'name': {'readonly': True}, 537 'type': {'readonly': True}, 538 'etag': {'readonly': True}, 539 'provisioning_state': {'readonly': True}, 540 } 541 542 _attribute_map = { 543 'id': {'key': 'id', 'type': 'str'}, 544 'name': {'key': 'name', 'type': 'str'}, 545 'type': {'key': 'type', 'type': 'str'}, 546 'location': {'key': 'location', 'type': 'str'}, 547 'tags': {'key': 'tags', 'type': '{str}'}, 548 'etag': {'key': 'etag', 'type': 'str'}, 549 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 550 } 551 552 def __init__( 553 self, 554 **kwargs 555 ): 556 super(ApplicationTypeResource, self).__init__(**kwargs) 557 self.provisioning_state = None 558 559 560class ApplicationTypeResourceList(msrest.serialization.Model): 561 """The list of application type names. 562 563 Variables are only populated by the server, and will be ignored when sending a request. 564 565 :param value: 566 :type value: list[~azure.mgmt.servicefabric.models.ApplicationTypeResource] 567 :ivar next_link: URL to get the next set of application type list results if there are any. 568 :vartype next_link: str 569 """ 570 571 _validation = { 572 'next_link': {'readonly': True}, 573 } 574 575 _attribute_map = { 576 'value': {'key': 'value', 'type': '[ApplicationTypeResource]'}, 577 'next_link': {'key': 'nextLink', 'type': 'str'}, 578 } 579 580 def __init__( 581 self, 582 **kwargs 583 ): 584 super(ApplicationTypeResourceList, self).__init__(**kwargs) 585 self.value = kwargs.get('value', None) 586 self.next_link = None 587 588 589class ApplicationTypeVersionResource(ProxyResource): 590 """An application type version resource for the specified application type name resource. 591 592 Variables are only populated by the server, and will be ignored when sending a request. 593 594 :ivar id: Azure resource identifier. 595 :vartype id: str 596 :ivar name: Azure resource name. 597 :vartype name: str 598 :ivar type: Azure resource type. 599 :vartype type: str 600 :param location: It will be deprecated in New API, resource location depends on the parent 601 resource. 602 :type location: str 603 :param tags: A set of tags. Azure resource tags. 604 :type tags: dict[str, str] 605 :ivar etag: Azure resource etag. 606 :vartype etag: str 607 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 608 the response. 609 :vartype provisioning_state: str 610 :param app_package_url: The URL to the application package. 611 :type app_package_url: str 612 :ivar default_parameter_list: List of application type parameters that can be overridden when 613 creating or updating the application. 614 :vartype default_parameter_list: dict[str, str] 615 """ 616 617 _validation = { 618 'id': {'readonly': True}, 619 'name': {'readonly': True}, 620 'type': {'readonly': True}, 621 'etag': {'readonly': True}, 622 'provisioning_state': {'readonly': True}, 623 'default_parameter_list': {'readonly': True}, 624 } 625 626 _attribute_map = { 627 'id': {'key': 'id', 'type': 'str'}, 628 'name': {'key': 'name', 'type': 'str'}, 629 'type': {'key': 'type', 'type': 'str'}, 630 'location': {'key': 'location', 'type': 'str'}, 631 'tags': {'key': 'tags', 'type': '{str}'}, 632 'etag': {'key': 'etag', 'type': 'str'}, 633 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 634 'app_package_url': {'key': 'properties.appPackageUrl', 'type': 'str'}, 635 'default_parameter_list': {'key': 'properties.defaultParameterList', 'type': '{str}'}, 636 } 637 638 def __init__( 639 self, 640 **kwargs 641 ): 642 super(ApplicationTypeVersionResource, self).__init__(**kwargs) 643 self.provisioning_state = None 644 self.app_package_url = kwargs.get('app_package_url', None) 645 self.default_parameter_list = None 646 647 648class ApplicationTypeVersionResourceList(msrest.serialization.Model): 649 """The list of application type version resources for the specified application type name resource. 650 651 Variables are only populated by the server, and will be ignored when sending a request. 652 653 :param value: 654 :type value: list[~azure.mgmt.servicefabric.models.ApplicationTypeVersionResource] 655 :ivar next_link: URL to get the next set of application type version list results if there are 656 any. 657 :vartype next_link: str 658 """ 659 660 _validation = { 661 'next_link': {'readonly': True}, 662 } 663 664 _attribute_map = { 665 'value': {'key': 'value', 'type': '[ApplicationTypeVersionResource]'}, 666 'next_link': {'key': 'nextLink', 'type': 'str'}, 667 } 668 669 def __init__( 670 self, 671 **kwargs 672 ): 673 super(ApplicationTypeVersionResourceList, self).__init__(**kwargs) 674 self.value = kwargs.get('value', None) 675 self.next_link = None 676 677 678class ApplicationTypeVersionsCleanupPolicy(msrest.serialization.Model): 679 """ApplicationTypeVersionsCleanupPolicy. 680 681 All required parameters must be populated in order to send to Azure. 682 683 :param max_unused_versions_to_keep: Required. Number of unused versions per application type to 684 keep. 685 :type max_unused_versions_to_keep: int 686 """ 687 688 _validation = { 689 'max_unused_versions_to_keep': {'required': True, 'minimum': 0}, 690 } 691 692 _attribute_map = { 693 'max_unused_versions_to_keep': {'key': 'maxUnusedVersionsToKeep', 'type': 'int'}, 694 } 695 696 def __init__( 697 self, 698 **kwargs 699 ): 700 super(ApplicationTypeVersionsCleanupPolicy, self).__init__(**kwargs) 701 self.max_unused_versions_to_keep = kwargs['max_unused_versions_to_keep'] 702 703 704class ApplicationUpgradePolicy(msrest.serialization.Model): 705 """Describes the policy for a monitored application upgrade. 706 707 :param upgrade_replica_set_check_timeout: The maximum amount of time to block processing of an 708 upgrade domain and prevent loss of availability when there are unexpected issues. When this 709 timeout expires, processing of the upgrade domain will proceed regardless of availability loss 710 issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 711 and 42949672925 inclusive. (unsigned 32-bit integer). 712 :type upgrade_replica_set_check_timeout: str 713 :param force_restart: If true, then processes are forcefully restarted during upgrade even when 714 the code version has not changed (the upgrade only changes configuration or data). 715 :type force_restart: bool 716 :param rolling_upgrade_monitoring_policy: The policy used for monitoring the application 717 upgrade. 718 :type rolling_upgrade_monitoring_policy: 719 ~azure.mgmt.servicefabric.models.ArmRollingUpgradeMonitoringPolicy 720 :param application_health_policy: Defines a health policy used to evaluate the health of an 721 application or one of its children entities. 722 :type application_health_policy: ~azure.mgmt.servicefabric.models.ArmApplicationHealthPolicy 723 :param upgrade_mode: The mode used to monitor health during a rolling upgrade. The values are 724 UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: "Invalid", 725 "UnmonitoredAuto", "UnmonitoredManual", "Monitored". Default value: "Monitored". 726 :type upgrade_mode: str or ~azure.mgmt.servicefabric.models.RollingUpgradeMode 727 """ 728 729 _attribute_map = { 730 'upgrade_replica_set_check_timeout': {'key': 'upgradeReplicaSetCheckTimeout', 'type': 'str'}, 731 'force_restart': {'key': 'forceRestart', 'type': 'bool'}, 732 'rolling_upgrade_monitoring_policy': {'key': 'rollingUpgradeMonitoringPolicy', 'type': 'ArmRollingUpgradeMonitoringPolicy'}, 733 'application_health_policy': {'key': 'applicationHealthPolicy', 'type': 'ArmApplicationHealthPolicy'}, 734 'upgrade_mode': {'key': 'upgradeMode', 'type': 'str'}, 735 } 736 737 def __init__( 738 self, 739 **kwargs 740 ): 741 super(ApplicationUpgradePolicy, self).__init__(**kwargs) 742 self.upgrade_replica_set_check_timeout = kwargs.get('upgrade_replica_set_check_timeout', None) 743 self.force_restart = kwargs.get('force_restart', False) 744 self.rolling_upgrade_monitoring_policy = kwargs.get('rolling_upgrade_monitoring_policy', None) 745 self.application_health_policy = kwargs.get('application_health_policy', None) 746 self.upgrade_mode = kwargs.get('upgrade_mode', "Monitored") 747 748 749class ApplicationUserAssignedIdentity(msrest.serialization.Model): 750 """ApplicationUserAssignedIdentity. 751 752 All required parameters must be populated in order to send to Azure. 753 754 :param name: Required. The friendly name of user assigned identity. 755 :type name: str 756 :param principal_id: Required. The principal id of user assigned identity. 757 :type principal_id: str 758 """ 759 760 _validation = { 761 'name': {'required': True}, 762 'principal_id': {'required': True}, 763 } 764 765 _attribute_map = { 766 'name': {'key': 'name', 'type': 'str'}, 767 'principal_id': {'key': 'principalId', 'type': 'str'}, 768 } 769 770 def __init__( 771 self, 772 **kwargs 773 ): 774 super(ApplicationUserAssignedIdentity, self).__init__(**kwargs) 775 self.name = kwargs['name'] 776 self.principal_id = kwargs['principal_id'] 777 778 779class ArmApplicationHealthPolicy(msrest.serialization.Model): 780 """Defines a health policy used to evaluate the health of an application or one of its children entities. 781 782 :param consider_warning_as_error: Indicates whether warnings are treated with the same severity 783 as errors. 784 :type consider_warning_as_error: bool 785 :param max_percent_unhealthy_deployed_applications: The maximum allowed percentage of unhealthy 786 deployed applications. Allowed values are Byte values from zero to 100. 787 The percentage represents the maximum tolerated percentage of deployed applications that can 788 be unhealthy before the application is considered in error. 789 This is calculated by dividing the number of unhealthy deployed applications over the number 790 of nodes where the application is currently deployed on in the cluster. 791 The computation rounds up to tolerate one failure on small numbers of nodes. Default 792 percentage is zero. 793 :type max_percent_unhealthy_deployed_applications: int 794 :param default_service_type_health_policy: The health policy used by default to evaluate the 795 health of a service type. 796 :type default_service_type_health_policy: 797 ~azure.mgmt.servicefabric.models.ArmServiceTypeHealthPolicy 798 :param service_type_health_policy_map: The map with service type health policy per service type 799 name. The map is empty by default. 800 :type service_type_health_policy_map: dict[str, 801 ~azure.mgmt.servicefabric.models.ArmServiceTypeHealthPolicy] 802 """ 803 804 _attribute_map = { 805 'consider_warning_as_error': {'key': 'considerWarningAsError', 'type': 'bool'}, 806 'max_percent_unhealthy_deployed_applications': {'key': 'maxPercentUnhealthyDeployedApplications', 'type': 'int'}, 807 'default_service_type_health_policy': {'key': 'defaultServiceTypeHealthPolicy', 'type': 'ArmServiceTypeHealthPolicy'}, 808 'service_type_health_policy_map': {'key': 'serviceTypeHealthPolicyMap', 'type': '{ArmServiceTypeHealthPolicy}'}, 809 } 810 811 def __init__( 812 self, 813 **kwargs 814 ): 815 super(ArmApplicationHealthPolicy, self).__init__(**kwargs) 816 self.consider_warning_as_error = kwargs.get('consider_warning_as_error', False) 817 self.max_percent_unhealthy_deployed_applications = kwargs.get('max_percent_unhealthy_deployed_applications', 0) 818 self.default_service_type_health_policy = kwargs.get('default_service_type_health_policy', None) 819 self.service_type_health_policy_map = kwargs.get('service_type_health_policy_map', None) 820 821 822class ArmRollingUpgradeMonitoringPolicy(msrest.serialization.Model): 823 """The policy used for monitoring the application upgrade. 824 825 :param failure_action: The activation Mode of the service package. Possible values include: 826 "Rollback", "Manual". 827 :type failure_action: str or ~azure.mgmt.servicefabric.models.ArmUpgradeFailureAction 828 :param health_check_wait_duration: The amount of time to wait after completing an upgrade 829 domain before applying health policies. It is first interpreted as a string representing an ISO 830 8601 duration. If that fails, then it is interpreted as a number representing the total number 831 of milliseconds. 832 :type health_check_wait_duration: str 833 :param health_check_stable_duration: The amount of time that the application or cluster must 834 remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted 835 as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a 836 number representing the total number of milliseconds. 837 :type health_check_stable_duration: str 838 :param health_check_retry_timeout: The amount of time to retry health evaluation when the 839 application or cluster is unhealthy before FailureAction is executed. It is first interpreted 840 as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a 841 number representing the total number of milliseconds. 842 :type health_check_retry_timeout: str 843 :param upgrade_timeout: The amount of time the overall upgrade has to complete before 844 FailureAction is executed. It is first interpreted as a string representing an ISO 8601 845 duration. If that fails, then it is interpreted as a number representing the total number of 846 milliseconds. 847 :type upgrade_timeout: str 848 :param upgrade_domain_timeout: The amount of time each upgrade domain has to complete before 849 FailureAction is executed. It is first interpreted as a string representing an ISO 8601 850 duration. If that fails, then it is interpreted as a number representing the total number of 851 milliseconds. 852 :type upgrade_domain_timeout: str 853 """ 854 855 _attribute_map = { 856 'failure_action': {'key': 'failureAction', 'type': 'str'}, 857 'health_check_wait_duration': {'key': 'healthCheckWaitDuration', 'type': 'str'}, 858 'health_check_stable_duration': {'key': 'healthCheckStableDuration', 'type': 'str'}, 859 'health_check_retry_timeout': {'key': 'healthCheckRetryTimeout', 'type': 'str'}, 860 'upgrade_timeout': {'key': 'upgradeTimeout', 'type': 'str'}, 861 'upgrade_domain_timeout': {'key': 'upgradeDomainTimeout', 'type': 'str'}, 862 } 863 864 def __init__( 865 self, 866 **kwargs 867 ): 868 super(ArmRollingUpgradeMonitoringPolicy, self).__init__(**kwargs) 869 self.failure_action = kwargs.get('failure_action', None) 870 self.health_check_wait_duration = kwargs.get('health_check_wait_duration', "0") 871 self.health_check_stable_duration = kwargs.get('health_check_stable_duration', "PT0H2M0S") 872 self.health_check_retry_timeout = kwargs.get('health_check_retry_timeout', "PT0H10M0S") 873 self.upgrade_timeout = kwargs.get('upgrade_timeout', "P10675199DT02H48M05.4775807S") 874 self.upgrade_domain_timeout = kwargs.get('upgrade_domain_timeout', "P10675199DT02H48M05.4775807S") 875 876 877class ArmServiceTypeHealthPolicy(msrest.serialization.Model): 878 """Represents the health policy used to evaluate the health of services belonging to a service type. 879 880 :param max_percent_unhealthy_services: The maximum percentage of services allowed to be 881 unhealthy before your application is considered in error. 882 :type max_percent_unhealthy_services: int 883 :param max_percent_unhealthy_partitions_per_service: The maximum percentage of partitions per 884 service allowed to be unhealthy before your application is considered in error. 885 :type max_percent_unhealthy_partitions_per_service: int 886 :param max_percent_unhealthy_replicas_per_partition: The maximum percentage of replicas per 887 partition allowed to be unhealthy before your application is considered in error. 888 :type max_percent_unhealthy_replicas_per_partition: int 889 """ 890 891 _validation = { 892 'max_percent_unhealthy_services': {'maximum': 100, 'minimum': 0}, 893 'max_percent_unhealthy_partitions_per_service': {'maximum': 100, 'minimum': 0}, 894 'max_percent_unhealthy_replicas_per_partition': {'maximum': 100, 'minimum': 0}, 895 } 896 897 _attribute_map = { 898 'max_percent_unhealthy_services': {'key': 'maxPercentUnhealthyServices', 'type': 'int'}, 899 'max_percent_unhealthy_partitions_per_service': {'key': 'maxPercentUnhealthyPartitionsPerService', 'type': 'int'}, 900 'max_percent_unhealthy_replicas_per_partition': {'key': 'maxPercentUnhealthyReplicasPerPartition', 'type': 'int'}, 901 } 902 903 def __init__( 904 self, 905 **kwargs 906 ): 907 super(ArmServiceTypeHealthPolicy, self).__init__(**kwargs) 908 self.max_percent_unhealthy_services = kwargs.get('max_percent_unhealthy_services', 0) 909 self.max_percent_unhealthy_partitions_per_service = kwargs.get('max_percent_unhealthy_partitions_per_service', 0) 910 self.max_percent_unhealthy_replicas_per_partition = kwargs.get('max_percent_unhealthy_replicas_per_partition', 0) 911 912 913class AvailableOperationDisplay(msrest.serialization.Model): 914 """Operation supported by the Service Fabric resource provider. 915 916 :param provider: The name of the provider. 917 :type provider: str 918 :param resource: The resource on which the operation is performed. 919 :type resource: str 920 :param operation: The operation that can be performed. 921 :type operation: str 922 :param description: Operation description. 923 :type description: str 924 """ 925 926 _attribute_map = { 927 'provider': {'key': 'provider', 'type': 'str'}, 928 'resource': {'key': 'resource', 'type': 'str'}, 929 'operation': {'key': 'operation', 'type': 'str'}, 930 'description': {'key': 'description', 'type': 'str'}, 931 } 932 933 def __init__( 934 self, 935 **kwargs 936 ): 937 super(AvailableOperationDisplay, self).__init__(**kwargs) 938 self.provider = kwargs.get('provider', None) 939 self.resource = kwargs.get('resource', None) 940 self.operation = kwargs.get('operation', None) 941 self.description = kwargs.get('description', None) 942 943 944class AzureActiveDirectory(msrest.serialization.Model): 945 """The settings to enable AAD authentication on the cluster. 946 947 :param tenant_id: Azure active directory tenant id. 948 :type tenant_id: str 949 :param cluster_application: Azure active directory cluster application id. 950 :type cluster_application: str 951 :param client_application: Azure active directory client application id. 952 :type client_application: str 953 """ 954 955 _attribute_map = { 956 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 957 'cluster_application': {'key': 'clusterApplication', 'type': 'str'}, 958 'client_application': {'key': 'clientApplication', 'type': 'str'}, 959 } 960 961 def __init__( 962 self, 963 **kwargs 964 ): 965 super(AzureActiveDirectory, self).__init__(**kwargs) 966 self.tenant_id = kwargs.get('tenant_id', None) 967 self.cluster_application = kwargs.get('cluster_application', None) 968 self.client_application = kwargs.get('client_application', None) 969 970 971class CertificateDescription(msrest.serialization.Model): 972 """Describes the certificate details. 973 974 All required parameters must be populated in order to send to Azure. 975 976 :param thumbprint: Required. Thumbprint of the primary certificate. 977 :type thumbprint: str 978 :param thumbprint_secondary: Thumbprint of the secondary certificate. 979 :type thumbprint_secondary: str 980 :param x509_store_name: The local certificate store location. Possible values include: 981 "AddressBook", "AuthRoot", "CertificateAuthority", "Disallowed", "My", "Root", "TrustedPeople", 982 "TrustedPublisher". 983 :type x509_store_name: str or ~azure.mgmt.servicefabric.models.StoreName 984 """ 985 986 _validation = { 987 'thumbprint': {'required': True}, 988 } 989 990 _attribute_map = { 991 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 992 'thumbprint_secondary': {'key': 'thumbprintSecondary', 'type': 'str'}, 993 'x509_store_name': {'key': 'x509StoreName', 'type': 'str'}, 994 } 995 996 def __init__( 997 self, 998 **kwargs 999 ): 1000 super(CertificateDescription, self).__init__(**kwargs) 1001 self.thumbprint = kwargs['thumbprint'] 1002 self.thumbprint_secondary = kwargs.get('thumbprint_secondary', None) 1003 self.x509_store_name = kwargs.get('x509_store_name', None) 1004 1005 1006class ClientCertificate(msrest.serialization.Model): 1007 """Client Certificate definition. 1008 1009 All required parameters must be populated in order to send to Azure. 1010 1011 :param is_admin: Required. Whether the certificate is admin or not. 1012 :type is_admin: bool 1013 :param thumbprint: Certificate Thumbprint. 1014 :type thumbprint: str 1015 :param common_name: Certificate Common name. 1016 :type common_name: str 1017 :param issuer_thumbprint: Issuer thumbprint for the certificate. Only used together with 1018 CommonName. 1019 :type issuer_thumbprint: str 1020 """ 1021 1022 _validation = { 1023 'is_admin': {'required': True}, 1024 } 1025 1026 _attribute_map = { 1027 'is_admin': {'key': 'isAdmin', 'type': 'bool'}, 1028 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 1029 'common_name': {'key': 'commonName', 'type': 'str'}, 1030 'issuer_thumbprint': {'key': 'issuerThumbprint', 'type': 'str'}, 1031 } 1032 1033 def __init__( 1034 self, 1035 **kwargs 1036 ): 1037 super(ClientCertificate, self).__init__(**kwargs) 1038 self.is_admin = kwargs['is_admin'] 1039 self.thumbprint = kwargs.get('thumbprint', None) 1040 self.common_name = kwargs.get('common_name', None) 1041 self.issuer_thumbprint = kwargs.get('issuer_thumbprint', None) 1042 1043 1044class ClientCertificateCommonName(msrest.serialization.Model): 1045 """Describes the client certificate details using common name. 1046 1047 All required parameters must be populated in order to send to Azure. 1048 1049 :param is_admin: Required. Indicates if the client certificate has admin access to the cluster. 1050 Non admin clients can perform only read only operations on the cluster. 1051 :type is_admin: bool 1052 :param certificate_common_name: Required. The common name of the client certificate. 1053 :type certificate_common_name: str 1054 :param certificate_issuer_thumbprint: Required. The issuer thumbprint of the client 1055 certificate. 1056 :type certificate_issuer_thumbprint: str 1057 """ 1058 1059 _validation = { 1060 'is_admin': {'required': True}, 1061 'certificate_common_name': {'required': True}, 1062 'certificate_issuer_thumbprint': {'required': True}, 1063 } 1064 1065 _attribute_map = { 1066 'is_admin': {'key': 'isAdmin', 'type': 'bool'}, 1067 'certificate_common_name': {'key': 'certificateCommonName', 'type': 'str'}, 1068 'certificate_issuer_thumbprint': {'key': 'certificateIssuerThumbprint', 'type': 'str'}, 1069 } 1070 1071 def __init__( 1072 self, 1073 **kwargs 1074 ): 1075 super(ClientCertificateCommonName, self).__init__(**kwargs) 1076 self.is_admin = kwargs['is_admin'] 1077 self.certificate_common_name = kwargs['certificate_common_name'] 1078 self.certificate_issuer_thumbprint = kwargs['certificate_issuer_thumbprint'] 1079 1080 1081class ClientCertificateThumbprint(msrest.serialization.Model): 1082 """Describes the client certificate details using thumbprint. 1083 1084 All required parameters must be populated in order to send to Azure. 1085 1086 :param is_admin: Required. Indicates if the client certificate has admin access to the cluster. 1087 Non admin clients can perform only read only operations on the cluster. 1088 :type is_admin: bool 1089 :param certificate_thumbprint: Required. The thumbprint of the client certificate. 1090 :type certificate_thumbprint: str 1091 """ 1092 1093 _validation = { 1094 'is_admin': {'required': True}, 1095 'certificate_thumbprint': {'required': True}, 1096 } 1097 1098 _attribute_map = { 1099 'is_admin': {'key': 'isAdmin', 'type': 'bool'}, 1100 'certificate_thumbprint': {'key': 'certificateThumbprint', 'type': 'str'}, 1101 } 1102 1103 def __init__( 1104 self, 1105 **kwargs 1106 ): 1107 super(ClientCertificateThumbprint, self).__init__(**kwargs) 1108 self.is_admin = kwargs['is_admin'] 1109 self.certificate_thumbprint = kwargs['certificate_thumbprint'] 1110 1111 1112class Resource(msrest.serialization.Model): 1113 """The resource model definition. 1114 1115 Variables are only populated by the server, and will be ignored when sending a request. 1116 1117 All required parameters must be populated in order to send to Azure. 1118 1119 :ivar id: Azure resource identifier. 1120 :vartype id: str 1121 :ivar name: Azure resource name. 1122 :vartype name: str 1123 :ivar type: Azure resource type. 1124 :vartype type: str 1125 :param location: Required. Azure resource location. 1126 :type location: str 1127 :param tags: A set of tags. Azure resource tags. 1128 :type tags: dict[str, str] 1129 :ivar etag: Azure resource etag. 1130 :vartype etag: str 1131 """ 1132 1133 _validation = { 1134 'id': {'readonly': True}, 1135 'name': {'readonly': True}, 1136 'type': {'readonly': True}, 1137 'location': {'required': True}, 1138 'etag': {'readonly': True}, 1139 } 1140 1141 _attribute_map = { 1142 'id': {'key': 'id', 'type': 'str'}, 1143 'name': {'key': 'name', 'type': 'str'}, 1144 'type': {'key': 'type', 'type': 'str'}, 1145 'location': {'key': 'location', 'type': 'str'}, 1146 'tags': {'key': 'tags', 'type': '{str}'}, 1147 'etag': {'key': 'etag', 'type': 'str'}, 1148 } 1149 1150 def __init__( 1151 self, 1152 **kwargs 1153 ): 1154 super(Resource, self).__init__(**kwargs) 1155 self.id = None 1156 self.name = None 1157 self.type = None 1158 self.location = kwargs['location'] 1159 self.tags = kwargs.get('tags', None) 1160 self.etag = None 1161 1162 1163class Cluster(Resource): 1164 """The cluster resource properties. 1165 1166 Variables are only populated by the server, and will be ignored when sending a request. 1167 1168 All required parameters must be populated in order to send to Azure. 1169 1170 :ivar id: Azure resource identifier. 1171 :vartype id: str 1172 :ivar name: Azure resource name. 1173 :vartype name: str 1174 :ivar type: Azure resource type. 1175 :vartype type: str 1176 :param location: Required. Azure resource location. 1177 :type location: str 1178 :param tags: A set of tags. Azure resource tags. 1179 :type tags: dict[str, str] 1180 :ivar etag: Azure resource etag. 1181 :vartype etag: str 1182 :param add_on_features: The list of add-on features to enable in the cluster. 1183 :type add_on_features: list[str or ~azure.mgmt.servicefabric.models.AddOnFeatures] 1184 :ivar available_cluster_versions: The Service Fabric runtime versions available for this 1185 cluster. 1186 :vartype available_cluster_versions: 1187 list[~azure.mgmt.servicefabric.models.ClusterVersionDetails] 1188 :param azure_active_directory: The AAD authentication settings of the cluster. 1189 :type azure_active_directory: ~azure.mgmt.servicefabric.models.AzureActiveDirectory 1190 :param certificate: The certificate to use for securing the cluster. The certificate provided 1191 will be used for node to node security within the cluster, SSL certificate for cluster 1192 management endpoint and default admin client. 1193 :type certificate: ~azure.mgmt.servicefabric.models.CertificateDescription 1194 :param certificate_common_names: Describes a list of server certificates referenced by common 1195 name that are used to secure the cluster. 1196 :type certificate_common_names: ~azure.mgmt.servicefabric.models.ServerCertificateCommonNames 1197 :param client_certificate_common_names: The list of client certificates referenced by common 1198 name that are allowed to manage the cluster. 1199 :type client_certificate_common_names: 1200 list[~azure.mgmt.servicefabric.models.ClientCertificateCommonName] 1201 :param client_certificate_thumbprints: The list of client certificates referenced by thumbprint 1202 that are allowed to manage the cluster. 1203 :type client_certificate_thumbprints: 1204 list[~azure.mgmt.servicefabric.models.ClientCertificateThumbprint] 1205 :param cluster_code_version: The Service Fabric runtime version of the cluster. This property 1206 can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available 1207 Service Fabric versions for new clusters use `ClusterVersion API <./ClusterVersion.md>`_. To 1208 get the list of available version for existing clusters use **availableClusterVersions**. 1209 :type cluster_code_version: str 1210 :ivar cluster_endpoint: The Azure Resource Provider endpoint. A system service in the cluster 1211 connects to this endpoint. 1212 :vartype cluster_endpoint: str 1213 :ivar cluster_id: A service generated unique identifier for the cluster resource. 1214 :vartype cluster_id: str 1215 :ivar cluster_state: The current state of the cluster. 1216 1217 1218 * WaitingForNodes - Indicates that the cluster resource is created and the resource provider 1219 is waiting for Service Fabric VM extension to boot up and report to it. 1220 * Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster 1221 resource will be in this state until the cluster boots up and system services are up. 1222 * BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster 1223 version. This upgrade is automatically initiated when the cluster boots up for the first time. 1224 * UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user 1225 provided configuration. 1226 * UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user 1227 provided certificate. 1228 * UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest 1229 Service Fabric runtime version. This happens only when the **upgradeMode** is set to 1230 'Automatic'. 1231 * EnforcingClusterVersion - Indicates that cluster is on a different version than expected and 1232 the cluster is being upgraded to the expected version. 1233 * UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer 1234 polling the Resource Provider. Clusters in this state cannot be managed by the Resource 1235 Provider. 1236 * AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted. 1237 * Ready - Indicates that the cluster is in a stable state. Possible values include: 1238 "WaitingForNodes", "Deploying", "BaselineUpgrade", "UpdatingUserConfiguration", 1239 "UpdatingUserCertificate", "UpdatingInfrastructure", "EnforcingClusterVersion", 1240 "UpgradeServiceUnreachable", "AutoScale", "Ready". 1241 :vartype cluster_state: str or ~azure.mgmt.servicefabric.models.ClusterState 1242 :param diagnostics_storage_account_config: The storage account information for storing Service 1243 Fabric diagnostic logs. 1244 :type diagnostics_storage_account_config: 1245 ~azure.mgmt.servicefabric.models.DiagnosticsStorageAccountConfig 1246 :param event_store_service_enabled: Indicates if the event store service is enabled. 1247 :type event_store_service_enabled: bool 1248 :param fabric_settings: The list of custom fabric settings to configure the cluster. 1249 :type fabric_settings: list[~azure.mgmt.servicefabric.models.SettingsSectionDescription] 1250 :param management_endpoint: The http management endpoint of the cluster. 1251 :type management_endpoint: str 1252 :param node_types: The list of node types in the cluster. 1253 :type node_types: list[~azure.mgmt.servicefabric.models.NodeTypeDescription] 1254 :ivar provisioning_state: The provisioning state of the cluster resource. Possible values 1255 include: "Updating", "Succeeded", "Failed", "Canceled". 1256 :vartype provisioning_state: str or ~azure.mgmt.servicefabric.models.ProvisioningState 1257 :param reliability_level: The reliability level sets the replica set size of system services. 1258 Learn about `ReliabilityLevel 1259 <https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity>`_. 1260 1261 1262 * None - Run the System services with a target replica set count of 1. This should only be 1263 used for test clusters. 1264 * Bronze - Run the System services with a target replica set count of 3. This should only be 1265 used for test clusters. 1266 * Silver - Run the System services with a target replica set count of 5. 1267 * Gold - Run the System services with a target replica set count of 7. 1268 * Platinum - Run the System services with a target replica set count of 9. Possible values 1269 include: "None", "Bronze", "Silver", "Gold", "Platinum". 1270 :type reliability_level: str or ~azure.mgmt.servicefabric.models.ReliabilityLevel 1271 :param reverse_proxy_certificate: The server certificate used by reverse proxy. 1272 :type reverse_proxy_certificate: ~azure.mgmt.servicefabric.models.CertificateDescription 1273 :param reverse_proxy_certificate_common_names: Describes a list of server certificates 1274 referenced by common name that are used to secure the cluster. 1275 :type reverse_proxy_certificate_common_names: 1276 ~azure.mgmt.servicefabric.models.ServerCertificateCommonNames 1277 :param upgrade_description: The policy to use when upgrading the cluster. 1278 :type upgrade_description: ~azure.mgmt.servicefabric.models.ClusterUpgradePolicy 1279 :param upgrade_mode: The upgrade mode of the cluster when new Service Fabric runtime version is 1280 available. 1281 1282 1283 * Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime 1284 version as soon as it is available. 1285 * Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime 1286 version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster 1287 resource. Possible values include: "Automatic", "Manual". 1288 :type upgrade_mode: str or ~azure.mgmt.servicefabric.models.UpgradeMode 1289 :param application_type_versions_cleanup_policy: The policy used to clean up unused versions. 1290 :type application_type_versions_cleanup_policy: 1291 ~azure.mgmt.servicefabric.models.ApplicationTypeVersionsCleanupPolicy 1292 :param vm_image: The VM image VMSS has been configured with. Generic names such as Windows or 1293 Linux can be used. 1294 :type vm_image: str 1295 """ 1296 1297 _validation = { 1298 'id': {'readonly': True}, 1299 'name': {'readonly': True}, 1300 'type': {'readonly': True}, 1301 'location': {'required': True}, 1302 'etag': {'readonly': True}, 1303 'available_cluster_versions': {'readonly': True}, 1304 'cluster_endpoint': {'readonly': True}, 1305 'cluster_id': {'readonly': True}, 1306 'cluster_state': {'readonly': True}, 1307 'provisioning_state': {'readonly': True}, 1308 } 1309 1310 _attribute_map = { 1311 'id': {'key': 'id', 'type': 'str'}, 1312 'name': {'key': 'name', 'type': 'str'}, 1313 'type': {'key': 'type', 'type': 'str'}, 1314 'location': {'key': 'location', 'type': 'str'}, 1315 'tags': {'key': 'tags', 'type': '{str}'}, 1316 'etag': {'key': 'etag', 'type': 'str'}, 1317 'add_on_features': {'key': 'properties.addOnFeatures', 'type': '[str]'}, 1318 'available_cluster_versions': {'key': 'properties.availableClusterVersions', 'type': '[ClusterVersionDetails]'}, 1319 'azure_active_directory': {'key': 'properties.azureActiveDirectory', 'type': 'AzureActiveDirectory'}, 1320 'certificate': {'key': 'properties.certificate', 'type': 'CertificateDescription'}, 1321 'certificate_common_names': {'key': 'properties.certificateCommonNames', 'type': 'ServerCertificateCommonNames'}, 1322 'client_certificate_common_names': {'key': 'properties.clientCertificateCommonNames', 'type': '[ClientCertificateCommonName]'}, 1323 'client_certificate_thumbprints': {'key': 'properties.clientCertificateThumbprints', 'type': '[ClientCertificateThumbprint]'}, 1324 'cluster_code_version': {'key': 'properties.clusterCodeVersion', 'type': 'str'}, 1325 'cluster_endpoint': {'key': 'properties.clusterEndpoint', 'type': 'str'}, 1326 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, 1327 'cluster_state': {'key': 'properties.clusterState', 'type': 'str'}, 1328 'diagnostics_storage_account_config': {'key': 'properties.diagnosticsStorageAccountConfig', 'type': 'DiagnosticsStorageAccountConfig'}, 1329 'event_store_service_enabled': {'key': 'properties.eventStoreServiceEnabled', 'type': 'bool'}, 1330 'fabric_settings': {'key': 'properties.fabricSettings', 'type': '[SettingsSectionDescription]'}, 1331 'management_endpoint': {'key': 'properties.managementEndpoint', 'type': 'str'}, 1332 'node_types': {'key': 'properties.nodeTypes', 'type': '[NodeTypeDescription]'}, 1333 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1334 'reliability_level': {'key': 'properties.reliabilityLevel', 'type': 'str'}, 1335 'reverse_proxy_certificate': {'key': 'properties.reverseProxyCertificate', 'type': 'CertificateDescription'}, 1336 'reverse_proxy_certificate_common_names': {'key': 'properties.reverseProxyCertificateCommonNames', 'type': 'ServerCertificateCommonNames'}, 1337 'upgrade_description': {'key': 'properties.upgradeDescription', 'type': 'ClusterUpgradePolicy'}, 1338 'upgrade_mode': {'key': 'properties.upgradeMode', 'type': 'str'}, 1339 'application_type_versions_cleanup_policy': {'key': 'properties.applicationTypeVersionsCleanupPolicy', 'type': 'ApplicationTypeVersionsCleanupPolicy'}, 1340 'vm_image': {'key': 'properties.vmImage', 'type': 'str'}, 1341 } 1342 1343 def __init__( 1344 self, 1345 **kwargs 1346 ): 1347 super(Cluster, self).__init__(**kwargs) 1348 self.add_on_features = kwargs.get('add_on_features', None) 1349 self.available_cluster_versions = None 1350 self.azure_active_directory = kwargs.get('azure_active_directory', None) 1351 self.certificate = kwargs.get('certificate', None) 1352 self.certificate_common_names = kwargs.get('certificate_common_names', None) 1353 self.client_certificate_common_names = kwargs.get('client_certificate_common_names', None) 1354 self.client_certificate_thumbprints = kwargs.get('client_certificate_thumbprints', None) 1355 self.cluster_code_version = kwargs.get('cluster_code_version', None) 1356 self.cluster_endpoint = None 1357 self.cluster_id = None 1358 self.cluster_state = None 1359 self.diagnostics_storage_account_config = kwargs.get('diagnostics_storage_account_config', None) 1360 self.event_store_service_enabled = kwargs.get('event_store_service_enabled', None) 1361 self.fabric_settings = kwargs.get('fabric_settings', None) 1362 self.management_endpoint = kwargs.get('management_endpoint', None) 1363 self.node_types = kwargs.get('node_types', None) 1364 self.provisioning_state = None 1365 self.reliability_level = kwargs.get('reliability_level', None) 1366 self.reverse_proxy_certificate = kwargs.get('reverse_proxy_certificate', None) 1367 self.reverse_proxy_certificate_common_names = kwargs.get('reverse_proxy_certificate_common_names', None) 1368 self.upgrade_description = kwargs.get('upgrade_description', None) 1369 self.upgrade_mode = kwargs.get('upgrade_mode', None) 1370 self.application_type_versions_cleanup_policy = kwargs.get('application_type_versions_cleanup_policy', None) 1371 self.vm_image = kwargs.get('vm_image', None) 1372 1373 1374class ClusterCodeVersionsListResult(msrest.serialization.Model): 1375 """The list results of the Service Fabric runtime versions. 1376 1377 :param value: 1378 :type value: list[~azure.mgmt.servicefabric.models.ClusterCodeVersionsResult] 1379 :param next_link: The URL to use for getting the next set of results. 1380 :type next_link: str 1381 """ 1382 1383 _attribute_map = { 1384 'value': {'key': 'value', 'type': '[ClusterCodeVersionsResult]'}, 1385 'next_link': {'key': 'nextLink', 'type': 'str'}, 1386 } 1387 1388 def __init__( 1389 self, 1390 **kwargs 1391 ): 1392 super(ClusterCodeVersionsListResult, self).__init__(**kwargs) 1393 self.value = kwargs.get('value', None) 1394 self.next_link = kwargs.get('next_link', None) 1395 1396 1397class ClusterCodeVersionsResult(msrest.serialization.Model): 1398 """The result of the Service Fabric runtime versions. 1399 1400 :param id: The identification of the result. 1401 :type id: str 1402 :param name: The name of the result. 1403 :type name: str 1404 :param type: The result resource type. 1405 :type type: str 1406 :param code_version: The Service Fabric runtime version of the cluster. 1407 :type code_version: str 1408 :param support_expiry_utc: The date of expiry of support of the version. 1409 :type support_expiry_utc: str 1410 :param environment: Indicates if this version is for Windows or Linux operating system. 1411 Possible values include: "Windows", "Linux". 1412 :type environment: str or ~azure.mgmt.servicefabric.models.ClusterEnvironment 1413 """ 1414 1415 _attribute_map = { 1416 'id': {'key': 'id', 'type': 'str'}, 1417 'name': {'key': 'name', 'type': 'str'}, 1418 'type': {'key': 'type', 'type': 'str'}, 1419 'code_version': {'key': 'properties.codeVersion', 'type': 'str'}, 1420 'support_expiry_utc': {'key': 'properties.supportExpiryUtc', 'type': 'str'}, 1421 'environment': {'key': 'properties.environment', 'type': 'str'}, 1422 } 1423 1424 def __init__( 1425 self, 1426 **kwargs 1427 ): 1428 super(ClusterCodeVersionsResult, self).__init__(**kwargs) 1429 self.id = kwargs.get('id', None) 1430 self.name = kwargs.get('name', None) 1431 self.type = kwargs.get('type', None) 1432 self.code_version = kwargs.get('code_version', None) 1433 self.support_expiry_utc = kwargs.get('support_expiry_utc', None) 1434 self.environment = kwargs.get('environment', None) 1435 1436 1437class ClusterHealthPolicy(msrest.serialization.Model): 1438 """Defines a health policy used to evaluate the health of the cluster or of a cluster node. 1439 1440 :param max_percent_unhealthy_nodes: The maximum allowed percentage of unhealthy nodes before 1441 reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10. 1442 1443 The percentage represents the maximum tolerated percentage of nodes that can be unhealthy 1444 before the cluster is considered in error. 1445 If the percentage is respected but there is at least one unhealthy node, the health is 1446 evaluated as Warning. 1447 The percentage is calculated by dividing the number of unhealthy nodes over the total number 1448 of nodes in the cluster. 1449 The computation rounds up to tolerate one failure on small numbers of nodes. Default 1450 percentage is zero. 1451 1452 In large clusters, some nodes will always be down or out for repairs, so this percentage 1453 should be configured to tolerate that. 1454 :type max_percent_unhealthy_nodes: int 1455 :param max_percent_unhealthy_applications: The maximum allowed percentage of unhealthy 1456 applications before reporting an error. For example, to allow 10% of applications to be 1457 unhealthy, this value would be 10. 1458 1459 The percentage represents the maximum tolerated percentage of applications that can be 1460 unhealthy before the cluster is considered in error. 1461 If the percentage is respected but there is at least one unhealthy application, the health is 1462 evaluated as Warning. 1463 This is calculated by dividing the number of unhealthy applications over the total number of 1464 application instances in the cluster, excluding applications of application types that are 1465 included in the ApplicationTypeHealthPolicyMap. 1466 The computation rounds up to tolerate one failure on small numbers of applications. Default 1467 percentage is zero. 1468 :type max_percent_unhealthy_applications: int 1469 :param application_health_policies: Defines the application health policy map used to evaluate 1470 the health of an application or one of its children entities. 1471 :type application_health_policies: dict[str, 1472 ~azure.mgmt.servicefabric.models.ApplicationHealthPolicy] 1473 """ 1474 1475 _validation = { 1476 'max_percent_unhealthy_nodes': {'maximum': 100, 'minimum': 0}, 1477 'max_percent_unhealthy_applications': {'maximum': 100, 'minimum': 0}, 1478 } 1479 1480 _attribute_map = { 1481 'max_percent_unhealthy_nodes': {'key': 'maxPercentUnhealthyNodes', 'type': 'int'}, 1482 'max_percent_unhealthy_applications': {'key': 'maxPercentUnhealthyApplications', 'type': 'int'}, 1483 'application_health_policies': {'key': 'applicationHealthPolicies', 'type': '{ApplicationHealthPolicy}'}, 1484 } 1485 1486 def __init__( 1487 self, 1488 **kwargs 1489 ): 1490 super(ClusterHealthPolicy, self).__init__(**kwargs) 1491 self.max_percent_unhealthy_nodes = kwargs.get('max_percent_unhealthy_nodes', 0) 1492 self.max_percent_unhealthy_applications = kwargs.get('max_percent_unhealthy_applications', 0) 1493 self.application_health_policies = kwargs.get('application_health_policies', None) 1494 1495 1496class ClusterListResult(msrest.serialization.Model): 1497 """Cluster list results. 1498 1499 :param value: 1500 :type value: list[~azure.mgmt.servicefabric.models.Cluster] 1501 :param next_link: The URL to use for getting the next set of results. 1502 :type next_link: str 1503 """ 1504 1505 _attribute_map = { 1506 'value': {'key': 'value', 'type': '[Cluster]'}, 1507 'next_link': {'key': 'nextLink', 'type': 'str'}, 1508 } 1509 1510 def __init__( 1511 self, 1512 **kwargs 1513 ): 1514 super(ClusterListResult, self).__init__(**kwargs) 1515 self.value = kwargs.get('value', None) 1516 self.next_link = kwargs.get('next_link', None) 1517 1518 1519class ClusterUpdateParameters(msrest.serialization.Model): 1520 """Cluster update request. 1521 1522 :param tags: A set of tags. Cluster update parameters. 1523 :type tags: dict[str, str] 1524 :param add_on_features: The list of add-on features to enable in the cluster. 1525 :type add_on_features: list[str or ~azure.mgmt.servicefabric.models.AddOnFeatures] 1526 :param certificate: The certificate to use for securing the cluster. The certificate provided 1527 will be used for node to node security within the cluster, SSL certificate for cluster 1528 management endpoint and default admin client. 1529 :type certificate: ~azure.mgmt.servicefabric.models.CertificateDescription 1530 :param certificate_common_names: Describes a list of server certificates referenced by common 1531 name that are used to secure the cluster. 1532 :type certificate_common_names: ~azure.mgmt.servicefabric.models.ServerCertificateCommonNames 1533 :param client_certificate_common_names: The list of client certificates referenced by common 1534 name that are allowed to manage the cluster. This will overwrite the existing list. 1535 :type client_certificate_common_names: 1536 list[~azure.mgmt.servicefabric.models.ClientCertificateCommonName] 1537 :param client_certificate_thumbprints: The list of client certificates referenced by thumbprint 1538 that are allowed to manage the cluster. This will overwrite the existing list. 1539 :type client_certificate_thumbprints: 1540 list[~azure.mgmt.servicefabric.models.ClientCertificateThumbprint] 1541 :param cluster_code_version: The Service Fabric runtime version of the cluster. This property 1542 can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available 1543 Service Fabric versions for new clusters use `ClusterVersion API <./ClusterVersion.md>`_. To 1544 get the list of available version for existing clusters use **availableClusterVersions**. 1545 :type cluster_code_version: str 1546 :param event_store_service_enabled: Indicates if the event store service is enabled. 1547 :type event_store_service_enabled: bool 1548 :param fabric_settings: The list of custom fabric settings to configure the cluster. This will 1549 overwrite the existing list. 1550 :type fabric_settings: list[~azure.mgmt.servicefabric.models.SettingsSectionDescription] 1551 :param node_types: The list of node types in the cluster. This will overwrite the existing 1552 list. 1553 :type node_types: list[~azure.mgmt.servicefabric.models.NodeTypeDescription] 1554 :param reliability_level: The reliability level sets the replica set size of system services. 1555 Learn about `ReliabilityLevel 1556 <https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity>`_. 1557 1558 1559 * None - Run the System services with a target replica set count of 1. This should only be 1560 used for test clusters. 1561 * Bronze - Run the System services with a target replica set count of 3. This should only be 1562 used for test clusters. 1563 * Silver - Run the System services with a target replica set count of 5. 1564 * Gold - Run the System services with a target replica set count of 7. 1565 * Platinum - Run the System services with a target replica set count of 9. Possible values 1566 include: "None", "Bronze", "Silver", "Gold", "Platinum". 1567 :type reliability_level: str or ~azure.mgmt.servicefabric.models.ReliabilityLevel 1568 :param reverse_proxy_certificate: The server certificate used by reverse proxy. 1569 :type reverse_proxy_certificate: ~azure.mgmt.servicefabric.models.CertificateDescription 1570 :param upgrade_description: The policy to use when upgrading the cluster. 1571 :type upgrade_description: ~azure.mgmt.servicefabric.models.ClusterUpgradePolicy 1572 :param upgrade_mode: The upgrade mode of the cluster when new Service Fabric runtime version is 1573 available. 1574 1575 1576 * Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime 1577 version as soon as it is available. 1578 * Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime 1579 version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster 1580 resource. Possible values include: "Automatic", "Manual". 1581 :type upgrade_mode: str or ~azure.mgmt.servicefabric.models.UpgradeMode 1582 :param application_type_versions_cleanup_policy: The policy used to clean up unused versions. 1583 :type application_type_versions_cleanup_policy: 1584 ~azure.mgmt.servicefabric.models.ApplicationTypeVersionsCleanupPolicy 1585 """ 1586 1587 _attribute_map = { 1588 'tags': {'key': 'tags', 'type': '{str}'}, 1589 'add_on_features': {'key': 'properties.addOnFeatures', 'type': '[str]'}, 1590 'certificate': {'key': 'properties.certificate', 'type': 'CertificateDescription'}, 1591 'certificate_common_names': {'key': 'properties.certificateCommonNames', 'type': 'ServerCertificateCommonNames'}, 1592 'client_certificate_common_names': {'key': 'properties.clientCertificateCommonNames', 'type': '[ClientCertificateCommonName]'}, 1593 'client_certificate_thumbprints': {'key': 'properties.clientCertificateThumbprints', 'type': '[ClientCertificateThumbprint]'}, 1594 'cluster_code_version': {'key': 'properties.clusterCodeVersion', 'type': 'str'}, 1595 'event_store_service_enabled': {'key': 'properties.eventStoreServiceEnabled', 'type': 'bool'}, 1596 'fabric_settings': {'key': 'properties.fabricSettings', 'type': '[SettingsSectionDescription]'}, 1597 'node_types': {'key': 'properties.nodeTypes', 'type': '[NodeTypeDescription]'}, 1598 'reliability_level': {'key': 'properties.reliabilityLevel', 'type': 'str'}, 1599 'reverse_proxy_certificate': {'key': 'properties.reverseProxyCertificate', 'type': 'CertificateDescription'}, 1600 'upgrade_description': {'key': 'properties.upgradeDescription', 'type': 'ClusterUpgradePolicy'}, 1601 'upgrade_mode': {'key': 'properties.upgradeMode', 'type': 'str'}, 1602 'application_type_versions_cleanup_policy': {'key': 'properties.applicationTypeVersionsCleanupPolicy', 'type': 'ApplicationTypeVersionsCleanupPolicy'}, 1603 } 1604 1605 def __init__( 1606 self, 1607 **kwargs 1608 ): 1609 super(ClusterUpdateParameters, self).__init__(**kwargs) 1610 self.tags = kwargs.get('tags', None) 1611 self.add_on_features = kwargs.get('add_on_features', None) 1612 self.certificate = kwargs.get('certificate', None) 1613 self.certificate_common_names = kwargs.get('certificate_common_names', None) 1614 self.client_certificate_common_names = kwargs.get('client_certificate_common_names', None) 1615 self.client_certificate_thumbprints = kwargs.get('client_certificate_thumbprints', None) 1616 self.cluster_code_version = kwargs.get('cluster_code_version', None) 1617 self.event_store_service_enabled = kwargs.get('event_store_service_enabled', None) 1618 self.fabric_settings = kwargs.get('fabric_settings', None) 1619 self.node_types = kwargs.get('node_types', None) 1620 self.reliability_level = kwargs.get('reliability_level', None) 1621 self.reverse_proxy_certificate = kwargs.get('reverse_proxy_certificate', None) 1622 self.upgrade_description = kwargs.get('upgrade_description', None) 1623 self.upgrade_mode = kwargs.get('upgrade_mode', None) 1624 self.application_type_versions_cleanup_policy = kwargs.get('application_type_versions_cleanup_policy', None) 1625 1626 1627class ClusterUpgradeDeltaHealthPolicy(msrest.serialization.Model): 1628 """Describes the delta health policies for the cluster upgrade. 1629 1630 All required parameters must be populated in order to send to Azure. 1631 1632 :param max_percent_delta_unhealthy_nodes: Required. The maximum allowed percentage of nodes 1633 health degradation allowed during cluster upgrades. 1634 The delta is measured between the state of the nodes at the beginning of upgrade and the state 1635 of the nodes at the time of the health evaluation. 1636 The check is performed after every upgrade domain upgrade completion to make sure the global 1637 state of the cluster is within tolerated limits. 1638 :type max_percent_delta_unhealthy_nodes: int 1639 :param max_percent_upgrade_domain_delta_unhealthy_nodes: Required. The maximum allowed 1640 percentage of upgrade domain nodes health degradation allowed during cluster upgrades. 1641 The delta is measured between the state of the upgrade domain nodes at the beginning of 1642 upgrade and the state of the upgrade domain nodes at the time of the health evaluation. 1643 The check is performed after every upgrade domain upgrade completion for all completed upgrade 1644 domains to make sure the state of the upgrade domains is within tolerated limits. 1645 :type max_percent_upgrade_domain_delta_unhealthy_nodes: int 1646 :param max_percent_delta_unhealthy_applications: Required. The maximum allowed percentage of 1647 applications health degradation allowed during cluster upgrades. 1648 The delta is measured between the state of the applications at the beginning of upgrade and 1649 the state of the applications at the time of the health evaluation. 1650 The check is performed after every upgrade domain upgrade completion to make sure the global 1651 state of the cluster is within tolerated limits. System services are not included in this. 1652 :type max_percent_delta_unhealthy_applications: int 1653 :param application_delta_health_policies: Defines the application delta health policy map used 1654 to evaluate the health of an application or one of its child entities when upgrading the 1655 cluster. 1656 :type application_delta_health_policies: dict[str, 1657 ~azure.mgmt.servicefabric.models.ApplicationDeltaHealthPolicy] 1658 """ 1659 1660 _validation = { 1661 'max_percent_delta_unhealthy_nodes': {'required': True, 'maximum': 100, 'minimum': 0}, 1662 'max_percent_upgrade_domain_delta_unhealthy_nodes': {'required': True, 'maximum': 100, 'minimum': 0}, 1663 'max_percent_delta_unhealthy_applications': {'required': True, 'maximum': 100, 'minimum': 0}, 1664 } 1665 1666 _attribute_map = { 1667 'max_percent_delta_unhealthy_nodes': {'key': 'maxPercentDeltaUnhealthyNodes', 'type': 'int'}, 1668 'max_percent_upgrade_domain_delta_unhealthy_nodes': {'key': 'maxPercentUpgradeDomainDeltaUnhealthyNodes', 'type': 'int'}, 1669 'max_percent_delta_unhealthy_applications': {'key': 'maxPercentDeltaUnhealthyApplications', 'type': 'int'}, 1670 'application_delta_health_policies': {'key': 'applicationDeltaHealthPolicies', 'type': '{ApplicationDeltaHealthPolicy}'}, 1671 } 1672 1673 def __init__( 1674 self, 1675 **kwargs 1676 ): 1677 super(ClusterUpgradeDeltaHealthPolicy, self).__init__(**kwargs) 1678 self.max_percent_delta_unhealthy_nodes = kwargs['max_percent_delta_unhealthy_nodes'] 1679 self.max_percent_upgrade_domain_delta_unhealthy_nodes = kwargs['max_percent_upgrade_domain_delta_unhealthy_nodes'] 1680 self.max_percent_delta_unhealthy_applications = kwargs['max_percent_delta_unhealthy_applications'] 1681 self.application_delta_health_policies = kwargs.get('application_delta_health_policies', None) 1682 1683 1684class ClusterUpgradePolicy(msrest.serialization.Model): 1685 """Describes the policy used when upgrading the cluster. 1686 1687 All required parameters must be populated in order to send to Azure. 1688 1689 :param force_restart: If true, then processes are forcefully restarted during upgrade even when 1690 the code version has not changed (the upgrade only changes configuration or data). 1691 :type force_restart: bool 1692 :param upgrade_replica_set_check_timeout: Required. The maximum amount of time to block 1693 processing of an upgrade domain and prevent loss of availability when there are unexpected 1694 issues. When this timeout expires, processing of the upgrade domain will proceed regardless of 1695 availability loss issues. The timeout is reset at the start of each upgrade domain. The timeout 1696 can be in either hh:mm:ss or in d.hh:mm:ss.ms format. 1697 :type upgrade_replica_set_check_timeout: str 1698 :param health_check_wait_duration: Required. The length of time to wait after completing an 1699 upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in 1700 d.hh:mm:ss.ms format. 1701 :type health_check_wait_duration: str 1702 :param health_check_stable_duration: Required. The amount of time that the application or 1703 cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The 1704 duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format. 1705 :type health_check_stable_duration: str 1706 :param health_check_retry_timeout: Required. The amount of time to retry health evaluation when 1707 the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in 1708 either hh:mm:ss or in d.hh:mm:ss.ms format. 1709 :type health_check_retry_timeout: str 1710 :param upgrade_timeout: Required. The amount of time the overall upgrade has to complete before 1711 the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. 1712 :type upgrade_timeout: str 1713 :param upgrade_domain_timeout: Required. The amount of time each upgrade domain has to complete 1714 before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms 1715 format. 1716 :type upgrade_domain_timeout: str 1717 :param health_policy: Required. The cluster health policy used when upgrading the cluster. 1718 :type health_policy: ~azure.mgmt.servicefabric.models.ClusterHealthPolicy 1719 :param delta_health_policy: The cluster delta health policy used when upgrading the cluster. 1720 :type delta_health_policy: ~azure.mgmt.servicefabric.models.ClusterUpgradeDeltaHealthPolicy 1721 """ 1722 1723 _validation = { 1724 'upgrade_replica_set_check_timeout': {'required': True}, 1725 'health_check_wait_duration': {'required': True}, 1726 'health_check_stable_duration': {'required': True}, 1727 'health_check_retry_timeout': {'required': True}, 1728 'upgrade_timeout': {'required': True}, 1729 'upgrade_domain_timeout': {'required': True}, 1730 'health_policy': {'required': True}, 1731 } 1732 1733 _attribute_map = { 1734 'force_restart': {'key': 'forceRestart', 'type': 'bool'}, 1735 'upgrade_replica_set_check_timeout': {'key': 'upgradeReplicaSetCheckTimeout', 'type': 'str'}, 1736 'health_check_wait_duration': {'key': 'healthCheckWaitDuration', 'type': 'str'}, 1737 'health_check_stable_duration': {'key': 'healthCheckStableDuration', 'type': 'str'}, 1738 'health_check_retry_timeout': {'key': 'healthCheckRetryTimeout', 'type': 'str'}, 1739 'upgrade_timeout': {'key': 'upgradeTimeout', 'type': 'str'}, 1740 'upgrade_domain_timeout': {'key': 'upgradeDomainTimeout', 'type': 'str'}, 1741 'health_policy': {'key': 'healthPolicy', 'type': 'ClusterHealthPolicy'}, 1742 'delta_health_policy': {'key': 'deltaHealthPolicy', 'type': 'ClusterUpgradeDeltaHealthPolicy'}, 1743 } 1744 1745 def __init__( 1746 self, 1747 **kwargs 1748 ): 1749 super(ClusterUpgradePolicy, self).__init__(**kwargs) 1750 self.force_restart = kwargs.get('force_restart', None) 1751 self.upgrade_replica_set_check_timeout = kwargs['upgrade_replica_set_check_timeout'] 1752 self.health_check_wait_duration = kwargs['health_check_wait_duration'] 1753 self.health_check_stable_duration = kwargs['health_check_stable_duration'] 1754 self.health_check_retry_timeout = kwargs['health_check_retry_timeout'] 1755 self.upgrade_timeout = kwargs['upgrade_timeout'] 1756 self.upgrade_domain_timeout = kwargs['upgrade_domain_timeout'] 1757 self.health_policy = kwargs['health_policy'] 1758 self.delta_health_policy = kwargs.get('delta_health_policy', None) 1759 1760 1761class ClusterVersionDetails(msrest.serialization.Model): 1762 """The detail of the Service Fabric runtime version result. 1763 1764 :param code_version: The Service Fabric runtime version of the cluster. 1765 :type code_version: str 1766 :param support_expiry_utc: The date of expiry of support of the version. 1767 :type support_expiry_utc: str 1768 :param environment: Indicates if this version is for Windows or Linux operating system. 1769 Possible values include: "Windows", "Linux". 1770 :type environment: str or ~azure.mgmt.servicefabric.models.ClusterEnvironment 1771 """ 1772 1773 _attribute_map = { 1774 'code_version': {'key': 'codeVersion', 'type': 'str'}, 1775 'support_expiry_utc': {'key': 'supportExpiryUtc', 'type': 'str'}, 1776 'environment': {'key': 'environment', 'type': 'str'}, 1777 } 1778 1779 def __init__( 1780 self, 1781 **kwargs 1782 ): 1783 super(ClusterVersionDetails, self).__init__(**kwargs) 1784 self.code_version = kwargs.get('code_version', None) 1785 self.support_expiry_utc = kwargs.get('support_expiry_utc', None) 1786 self.environment = kwargs.get('environment', None) 1787 1788 1789class DiagnosticsStorageAccountConfig(msrest.serialization.Model): 1790 """The storage account information for storing Service Fabric diagnostic logs. 1791 1792 All required parameters must be populated in order to send to Azure. 1793 1794 :param storage_account_name: Required. The Azure storage account name. 1795 :type storage_account_name: str 1796 :param protected_account_key_name: Required. The protected diagnostics storage key name. 1797 :type protected_account_key_name: str 1798 :param protected_account_key_name2: The secondary protected diagnostics storage key name. If 1799 one of the storage account keys is rotated the cluster will fallback to using the other. 1800 :type protected_account_key_name2: str 1801 :param blob_endpoint: Required. The blob endpoint of the azure storage account. 1802 :type blob_endpoint: str 1803 :param queue_endpoint: Required. The queue endpoint of the azure storage account. 1804 :type queue_endpoint: str 1805 :param table_endpoint: Required. The table endpoint of the azure storage account. 1806 :type table_endpoint: str 1807 """ 1808 1809 _validation = { 1810 'storage_account_name': {'required': True}, 1811 'protected_account_key_name': {'required': True}, 1812 'blob_endpoint': {'required': True}, 1813 'queue_endpoint': {'required': True}, 1814 'table_endpoint': {'required': True}, 1815 } 1816 1817 _attribute_map = { 1818 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, 1819 'protected_account_key_name': {'key': 'protectedAccountKeyName', 'type': 'str'}, 1820 'protected_account_key_name2': {'key': 'protectedAccountKeyName2', 'type': 'str'}, 1821 'blob_endpoint': {'key': 'blobEndpoint', 'type': 'str'}, 1822 'queue_endpoint': {'key': 'queueEndpoint', 'type': 'str'}, 1823 'table_endpoint': {'key': 'tableEndpoint', 'type': 'str'}, 1824 } 1825 1826 def __init__( 1827 self, 1828 **kwargs 1829 ): 1830 super(DiagnosticsStorageAccountConfig, self).__init__(**kwargs) 1831 self.storage_account_name = kwargs['storage_account_name'] 1832 self.protected_account_key_name = kwargs['protected_account_key_name'] 1833 self.protected_account_key_name2 = kwargs.get('protected_account_key_name2', None) 1834 self.blob_endpoint = kwargs['blob_endpoint'] 1835 self.queue_endpoint = kwargs['queue_endpoint'] 1836 self.table_endpoint = kwargs['table_endpoint'] 1837 1838 1839class EndpointRangeDescription(msrest.serialization.Model): 1840 """Port range details. 1841 1842 All required parameters must be populated in order to send to Azure. 1843 1844 :param start_port: Required. Starting port of a range of ports. 1845 :type start_port: int 1846 :param end_port: Required. End port of a range of ports. 1847 :type end_port: int 1848 """ 1849 1850 _validation = { 1851 'start_port': {'required': True}, 1852 'end_port': {'required': True}, 1853 } 1854 1855 _attribute_map = { 1856 'start_port': {'key': 'startPort', 'type': 'int'}, 1857 'end_port': {'key': 'endPort', 'type': 'int'}, 1858 } 1859 1860 def __init__( 1861 self, 1862 **kwargs 1863 ): 1864 super(EndpointRangeDescription, self).__init__(**kwargs) 1865 self.start_port = kwargs['start_port'] 1866 self.end_port = kwargs['end_port'] 1867 1868 1869class ErrorModel(msrest.serialization.Model): 1870 """The structure of the error. 1871 1872 :param error: The error details. 1873 :type error: ~azure.mgmt.servicefabric.models.ErrorModelError 1874 """ 1875 1876 _attribute_map = { 1877 'error': {'key': 'error', 'type': 'ErrorModelError'}, 1878 } 1879 1880 def __init__( 1881 self, 1882 **kwargs 1883 ): 1884 super(ErrorModel, self).__init__(**kwargs) 1885 self.error = kwargs.get('error', None) 1886 1887 1888class ErrorModelError(msrest.serialization.Model): 1889 """The error details. 1890 1891 :param code: The error code. 1892 :type code: str 1893 :param message: The error message. 1894 :type message: str 1895 """ 1896 1897 _attribute_map = { 1898 'code': {'key': 'code', 'type': 'str'}, 1899 'message': {'key': 'message', 'type': 'str'}, 1900 } 1901 1902 def __init__( 1903 self, 1904 **kwargs 1905 ): 1906 super(ErrorModelError, self).__init__(**kwargs) 1907 self.code = kwargs.get('code', None) 1908 self.message = kwargs.get('message', None) 1909 1910 1911class LoadBalancingRule(msrest.serialization.Model): 1912 """Describes a load balancing rule. 1913 1914 All required parameters must be populated in order to send to Azure. 1915 1916 :param frontend_port: Required. The port for the external endpoint. Port numbers for each rule 1917 must be unique within the Load Balancer. Acceptable values are between 1 and 65534. 1918 :type frontend_port: int 1919 :param backend_port: Required. The port used for internal connections on the endpoint. 1920 Acceptable values are between 1 and 65535. 1921 :type backend_port: int 1922 :param protocol: Required. The reference to the transport protocol used by the load balancing 1923 rule. Possible values include: "tcp", "udp". 1924 :type protocol: str or ~azure.mgmt.servicefabric.models.Protocol 1925 :param probe_protocol: Required. the reference to the load balancer probe used by the load 1926 balancing rule. Possible values include: "tcp", "http", "https". 1927 :type probe_protocol: str or ~azure.mgmt.servicefabric.models.ProbeProtocol 1928 :param probe_request_path: The probe request path. Only supported for HTTP/HTTPS probes. 1929 :type probe_request_path: str 1930 """ 1931 1932 _validation = { 1933 'frontend_port': {'required': True, 'maximum': 65534, 'minimum': 1}, 1934 'backend_port': {'required': True, 'maximum': 65534, 'minimum': 1}, 1935 'protocol': {'required': True}, 1936 'probe_protocol': {'required': True}, 1937 } 1938 1939 _attribute_map = { 1940 'frontend_port': {'key': 'frontendPort', 'type': 'int'}, 1941 'backend_port': {'key': 'backendPort', 'type': 'int'}, 1942 'protocol': {'key': 'protocol', 'type': 'str'}, 1943 'probe_protocol': {'key': 'probeProtocol', 'type': 'str'}, 1944 'probe_request_path': {'key': 'probeRequestPath', 'type': 'str'}, 1945 } 1946 1947 def __init__( 1948 self, 1949 **kwargs 1950 ): 1951 super(LoadBalancingRule, self).__init__(**kwargs) 1952 self.frontend_port = kwargs['frontend_port'] 1953 self.backend_port = kwargs['backend_port'] 1954 self.protocol = kwargs['protocol'] 1955 self.probe_protocol = kwargs['probe_protocol'] 1956 self.probe_request_path = kwargs.get('probe_request_path', None) 1957 1958 1959class ManagedCluster(Resource): 1960 """The manged cluster resource. 1961 1962 Variables are only populated by the server, and will be ignored when sending a request. 1963 1964 All required parameters must be populated in order to send to Azure. 1965 1966 :ivar id: Azure resource identifier. 1967 :vartype id: str 1968 :ivar name: Azure resource name. 1969 :vartype name: str 1970 :ivar type: Azure resource type. 1971 :vartype type: str 1972 :param location: Required. Azure resource location. 1973 :type location: str 1974 :param tags: A set of tags. Azure resource tags. 1975 :type tags: dict[str, str] 1976 :ivar etag: Azure resource etag. 1977 :vartype etag: str 1978 :param sku: The sku of the managed cluster. 1979 :type sku: ~azure.mgmt.servicefabric.models.Sku 1980 :param dns_name: The cluster dns name. 1981 :type dns_name: str 1982 :ivar fqdn: the cluster Fully qualified domain name. 1983 :vartype fqdn: str 1984 :ivar cluster_id: A service generated unique identifier for the cluster resource. 1985 :vartype cluster_id: str 1986 :ivar cluster_state: The current state of the cluster. Possible values include: 1987 "WaitingForNodes", "Deploying", "BaselineUpgrade", "UpdatingUserConfiguration", 1988 "UpdatingUserCertificate", "UpdatingInfrastructure", "EnforcingClusterVersion", 1989 "UpgradeServiceUnreachable", "AutoScale", "Ready". 1990 :vartype cluster_state: str or ~azure.mgmt.servicefabric.models.ClusterState 1991 :ivar cluster_certificate_thumbprint: The cluster certificate thumbprint used node to node 1992 communication. 1993 :vartype cluster_certificate_thumbprint: str 1994 :param client_connection_port: The port used for client connections to the cluster. 1995 :type client_connection_port: int 1996 :param http_gateway_connection_port: The port used for http connections to the cluster. 1997 :type http_gateway_connection_port: int 1998 :param admin_user_name: vm admin user name. 1999 :type admin_user_name: str 2000 :param admin_password: vm admin user password. 2001 :type admin_password: str 2002 :param load_balancing_rules: Describes load balancing rules. 2003 :type load_balancing_rules: list[~azure.mgmt.servicefabric.models.LoadBalancingRule] 2004 :param clients: client certificates for the cluster. 2005 :type clients: list[~azure.mgmt.servicefabric.models.ClientCertificate] 2006 :param azure_active_directory: Azure active directory. 2007 :type azure_active_directory: ~azure.mgmt.servicefabric.models.AzureActiveDirectory 2008 :param fabric_settings: The list of custom fabric settings to configure the cluster. 2009 :type fabric_settings: list[~azure.mgmt.servicefabric.models.SettingsSectionDescription] 2010 :ivar provisioning_state: The provisioning state of the managed cluster resource. Possible 2011 values include: "None", "Creating", "Created", "Updating", "Succeeded", "Failed", "Canceled", 2012 "Deleting", "Deleted", "Other". 2013 :vartype provisioning_state: str or 2014 ~azure.mgmt.servicefabric.models.ManagedResourceProvisioningState 2015 :param cluster_code_version: The Service Fabric runtime version of the cluster. This property 2016 can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available 2017 Service Fabric versions for new clusters use `ClusterVersion API <./ClusterVersion.md>`_. To 2018 get the list of available version for existing clusters use **availableClusterVersions**. 2019 :type cluster_code_version: str 2020 :param addon_features: client certificates for the cluster. 2021 :type addon_features: list[str or ~azure.mgmt.servicefabric.models.ManagedClusterAddOnFeature] 2022 """ 2023 2024 _validation = { 2025 'id': {'readonly': True}, 2026 'name': {'readonly': True}, 2027 'type': {'readonly': True}, 2028 'location': {'required': True}, 2029 'etag': {'readonly': True}, 2030 'fqdn': {'readonly': True}, 2031 'cluster_id': {'readonly': True}, 2032 'cluster_state': {'readonly': True}, 2033 'cluster_certificate_thumbprint': {'readonly': True}, 2034 'provisioning_state': {'readonly': True}, 2035 } 2036 2037 _attribute_map = { 2038 'id': {'key': 'id', 'type': 'str'}, 2039 'name': {'key': 'name', 'type': 'str'}, 2040 'type': {'key': 'type', 'type': 'str'}, 2041 'location': {'key': 'location', 'type': 'str'}, 2042 'tags': {'key': 'tags', 'type': '{str}'}, 2043 'etag': {'key': 'etag', 'type': 'str'}, 2044 'sku': {'key': 'sku', 'type': 'Sku'}, 2045 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, 2046 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 2047 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, 2048 'cluster_state': {'key': 'properties.clusterState', 'type': 'str'}, 2049 'cluster_certificate_thumbprint': {'key': 'properties.clusterCertificateThumbprint', 'type': 'str'}, 2050 'client_connection_port': {'key': 'properties.clientConnectionPort', 'type': 'int'}, 2051 'http_gateway_connection_port': {'key': 'properties.httpGatewayConnectionPort', 'type': 'int'}, 2052 'admin_user_name': {'key': 'properties.adminUserName', 'type': 'str'}, 2053 'admin_password': {'key': 'properties.adminPassword', 'type': 'str'}, 2054 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 2055 'clients': {'key': 'properties.clients', 'type': '[ClientCertificate]'}, 2056 'azure_active_directory': {'key': 'properties.azureActiveDirectory', 'type': 'AzureActiveDirectory'}, 2057 'fabric_settings': {'key': 'properties.fabricSettings', 'type': '[SettingsSectionDescription]'}, 2058 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2059 'cluster_code_version': {'key': 'properties.clusterCodeVersion', 'type': 'str'}, 2060 'addon_features': {'key': 'properties.addonFeatures', 'type': '[str]'}, 2061 } 2062 2063 def __init__( 2064 self, 2065 **kwargs 2066 ): 2067 super(ManagedCluster, self).__init__(**kwargs) 2068 self.sku = kwargs.get('sku', None) 2069 self.dns_name = kwargs.get('dns_name', None) 2070 self.fqdn = None 2071 self.cluster_id = None 2072 self.cluster_state = None 2073 self.cluster_certificate_thumbprint = None 2074 self.client_connection_port = kwargs.get('client_connection_port', 19000) 2075 self.http_gateway_connection_port = kwargs.get('http_gateway_connection_port', 19080) 2076 self.admin_user_name = kwargs.get('admin_user_name', None) 2077 self.admin_password = kwargs.get('admin_password', None) 2078 self.load_balancing_rules = kwargs.get('load_balancing_rules', None) 2079 self.clients = kwargs.get('clients', None) 2080 self.azure_active_directory = kwargs.get('azure_active_directory', None) 2081 self.fabric_settings = kwargs.get('fabric_settings', None) 2082 self.provisioning_state = None 2083 self.cluster_code_version = kwargs.get('cluster_code_version', None) 2084 self.addon_features = kwargs.get('addon_features', None) 2085 2086 2087class ManagedClusterListResult(msrest.serialization.Model): 2088 """Managed Cluster list results. 2089 2090 :param value: 2091 :type value: list[~azure.mgmt.servicefabric.models.ManagedCluster] 2092 :param next_link: The URL to use for getting the next set of results. 2093 :type next_link: str 2094 """ 2095 2096 _attribute_map = { 2097 'value': {'key': 'value', 'type': '[ManagedCluster]'}, 2098 'next_link': {'key': 'nextLink', 'type': 'str'}, 2099 } 2100 2101 def __init__( 2102 self, 2103 **kwargs 2104 ): 2105 super(ManagedClusterListResult, self).__init__(**kwargs) 2106 self.value = kwargs.get('value', None) 2107 self.next_link = kwargs.get('next_link', None) 2108 2109 2110class ManagedClusterUpdateParameters(msrest.serialization.Model): 2111 """Managed cluster update request. 2112 2113 :param tags: A set of tags. Managed cluster update parameters. 2114 :type tags: dict[str, str] 2115 :param client_connection_port: The port used for client connections to the cluster. 2116 :type client_connection_port: int 2117 :param http_gateway_connection_port: The port used for http connections to the cluster. 2118 :type http_gateway_connection_port: int 2119 :param load_balancing_rules: Describes load balancing rules. 2120 :type load_balancing_rules: list[~azure.mgmt.servicefabric.models.LoadBalancingRule] 2121 :param clients: client certificates for the cluster. 2122 :type clients: list[~azure.mgmt.servicefabric.models.ClientCertificate] 2123 :param azure_active_directory: Azure active directory. 2124 :type azure_active_directory: ~azure.mgmt.servicefabric.models.AzureActiveDirectory 2125 :param fabric_settings: The list of custom fabric settings to configure the cluster. 2126 :type fabric_settings: list[~azure.mgmt.servicefabric.models.SettingsSectionDescription] 2127 :param cluster_code_version: The Service Fabric runtime version of the cluster. This property 2128 can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available 2129 Service Fabric versions for new clusters use `ClusterVersion API <./ClusterVersion.md>`_. To 2130 get the list of available version for existing clusters use **availableClusterVersions**. 2131 :type cluster_code_version: str 2132 :param addon_features: client certificates for the cluster. 2133 :type addon_features: list[str or ~azure.mgmt.servicefabric.models.ManagedClusterAddOnFeature] 2134 """ 2135 2136 _attribute_map = { 2137 'tags': {'key': 'tags', 'type': '{str}'}, 2138 'client_connection_port': {'key': 'properties.clientConnectionPort', 'type': 'int'}, 2139 'http_gateway_connection_port': {'key': 'properties.httpGatewayConnectionPort', 'type': 'int'}, 2140 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 2141 'clients': {'key': 'properties.clients', 'type': '[ClientCertificate]'}, 2142 'azure_active_directory': {'key': 'properties.azureActiveDirectory', 'type': 'AzureActiveDirectory'}, 2143 'fabric_settings': {'key': 'properties.fabricSettings', 'type': '[SettingsSectionDescription]'}, 2144 'cluster_code_version': {'key': 'properties.clusterCodeVersion', 'type': 'str'}, 2145 'addon_features': {'key': 'properties.addonFeatures', 'type': '[str]'}, 2146 } 2147 2148 def __init__( 2149 self, 2150 **kwargs 2151 ): 2152 super(ManagedClusterUpdateParameters, self).__init__(**kwargs) 2153 self.tags = kwargs.get('tags', None) 2154 self.client_connection_port = kwargs.get('client_connection_port', None) 2155 self.http_gateway_connection_port = kwargs.get('http_gateway_connection_port', None) 2156 self.load_balancing_rules = kwargs.get('load_balancing_rules', None) 2157 self.clients = kwargs.get('clients', None) 2158 self.azure_active_directory = kwargs.get('azure_active_directory', None) 2159 self.fabric_settings = kwargs.get('fabric_settings', None) 2160 self.cluster_code_version = kwargs.get('cluster_code_version', None) 2161 self.addon_features = kwargs.get('addon_features', None) 2162 2163 2164class ManagedClusterVersionDetails(msrest.serialization.Model): 2165 """The detail of the Service Fabric runtime version. 2166 2167 :param msi_version: The Service Fabric runtime version of the cluster. 2168 :type msi_version: str 2169 :param support_expiry_utc: The date of expiry of support of the version. 2170 :type support_expiry_utc: str 2171 :param os_type: Indicates the operating system of the cluster. Possible values include: 2172 "Windows", "Ubuntu", "RedHat", "Ubuntu18_04". 2173 :type os_type: str or ~azure.mgmt.servicefabric.models.ClusterOsType 2174 """ 2175 2176 _attribute_map = { 2177 'msi_version': {'key': 'msiVersion', 'type': 'str'}, 2178 'support_expiry_utc': {'key': 'supportExpiryUtc', 'type': 'str'}, 2179 'os_type': {'key': 'osType', 'type': 'str'}, 2180 } 2181 2182 def __init__( 2183 self, 2184 **kwargs 2185 ): 2186 super(ManagedClusterVersionDetails, self).__init__(**kwargs) 2187 self.msi_version = kwargs.get('msi_version', None) 2188 self.support_expiry_utc = kwargs.get('support_expiry_utc', None) 2189 self.os_type = kwargs.get('os_type', None) 2190 2191 2192class ManagedIdentity(msrest.serialization.Model): 2193 """Describes the managed identities for an Azure resource. 2194 2195 Variables are only populated by the server, and will be ignored when sending a request. 2196 2197 :ivar principal_id: The principal id of the managed identity. This property will only be 2198 provided for a system assigned identity. 2199 :vartype principal_id: str 2200 :ivar tenant_id: The tenant id of the managed identity. This property will only be provided for 2201 a system assigned identity. 2202 :vartype tenant_id: str 2203 :param type: The type of managed identity for the resource. Possible values include: 2204 "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None". 2205 :type type: str or ~azure.mgmt.servicefabric.models.ManagedIdentityType 2206 :param user_assigned_identities: The list of user identities associated with the resource. The 2207 user identity dictionary key references will be ARM resource ids in the form: 2208 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 2209 :type user_assigned_identities: dict[str, 2210 ~azure.mgmt.servicefabric.models.UserAssignedIdentity] 2211 """ 2212 2213 _validation = { 2214 'principal_id': {'readonly': True}, 2215 'tenant_id': {'readonly': True}, 2216 } 2217 2218 _attribute_map = { 2219 'principal_id': {'key': 'principalId', 'type': 'str'}, 2220 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 2221 'type': {'key': 'type', 'type': 'str'}, 2222 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentity}'}, 2223 } 2224 2225 def __init__( 2226 self, 2227 **kwargs 2228 ): 2229 super(ManagedIdentity, self).__init__(**kwargs) 2230 self.principal_id = None 2231 self.tenant_id = None 2232 self.type = kwargs.get('type', None) 2233 self.user_assigned_identities = kwargs.get('user_assigned_identities', None) 2234 2235 2236class ManagedProxyResource(msrest.serialization.Model): 2237 """The resource model definition for proxy-only resource. 2238 2239 Variables are only populated by the server, and will be ignored when sending a request. 2240 2241 :ivar id: Azure resource identifier. 2242 :vartype id: str 2243 :ivar name: Azure resource name. 2244 :vartype name: str 2245 :ivar type: Azure resource type. 2246 :vartype type: str 2247 :param tags: A set of tags. Azure resource tags. 2248 :type tags: dict[str, str] 2249 """ 2250 2251 _validation = { 2252 'id': {'readonly': True}, 2253 'name': {'readonly': True}, 2254 'type': {'readonly': True}, 2255 } 2256 2257 _attribute_map = { 2258 'id': {'key': 'id', 'type': 'str'}, 2259 'name': {'key': 'name', 'type': 'str'}, 2260 'type': {'key': 'type', 'type': 'str'}, 2261 'tags': {'key': 'tags', 'type': '{str}'}, 2262 } 2263 2264 def __init__( 2265 self, 2266 **kwargs 2267 ): 2268 super(ManagedProxyResource, self).__init__(**kwargs) 2269 self.id = None 2270 self.name = None 2271 self.type = None 2272 self.tags = kwargs.get('tags', None) 2273 2274 2275class PartitionSchemeDescription(msrest.serialization.Model): 2276 """Describes how the service is partitioned. 2277 2278 You probably want to use the sub-classes and not this class directly. Known 2279 sub-classes are: NamedPartitionSchemeDescription, SingletonPartitionSchemeDescription, UniformInt64RangePartitionSchemeDescription. 2280 2281 All required parameters must be populated in order to send to Azure. 2282 2283 :param partition_scheme: Required. Specifies how the service is partitioned.Constant filled by 2284 server. Possible values include: "Invalid", "Singleton", "UniformInt64Range", "Named". 2285 :type partition_scheme: str or ~azure.mgmt.servicefabric.models.PartitionScheme 2286 """ 2287 2288 _validation = { 2289 'partition_scheme': {'required': True}, 2290 } 2291 2292 _attribute_map = { 2293 'partition_scheme': {'key': 'partitionScheme', 'type': 'str'}, 2294 } 2295 2296 _subtype_map = { 2297 'partition_scheme': {'Named': 'NamedPartitionSchemeDescription', 'Singleton': 'SingletonPartitionSchemeDescription', 'UniformInt64Range': 'UniformInt64RangePartitionSchemeDescription'} 2298 } 2299 2300 def __init__( 2301 self, 2302 **kwargs 2303 ): 2304 super(PartitionSchemeDescription, self).__init__(**kwargs) 2305 self.partition_scheme = None # type: Optional[str] 2306 2307 2308class NamedPartitionSchemeDescription(PartitionSchemeDescription): 2309 """Describes the named partition scheme of the service. 2310 2311 All required parameters must be populated in order to send to Azure. 2312 2313 :param partition_scheme: Required. Specifies how the service is partitioned.Constant filled by 2314 server. Possible values include: "Invalid", "Singleton", "UniformInt64Range", "Named". 2315 :type partition_scheme: str or ~azure.mgmt.servicefabric.models.PartitionScheme 2316 :param count: Required. The number of partitions. 2317 :type count: int 2318 :param names: Required. Array of size specified by the ‘count’ parameter, for the names of the 2319 partitions. 2320 :type names: list[str] 2321 """ 2322 2323 _validation = { 2324 'partition_scheme': {'required': True}, 2325 'count': {'required': True}, 2326 'names': {'required': True}, 2327 } 2328 2329 _attribute_map = { 2330 'partition_scheme': {'key': 'partitionScheme', 'type': 'str'}, 2331 'count': {'key': 'count', 'type': 'int'}, 2332 'names': {'key': 'names', 'type': '[str]'}, 2333 } 2334 2335 def __init__( 2336 self, 2337 **kwargs 2338 ): 2339 super(NamedPartitionSchemeDescription, self).__init__(**kwargs) 2340 self.partition_scheme = 'Named' # type: str 2341 self.count = kwargs['count'] 2342 self.names = kwargs['names'] 2343 2344 2345class NodeType(ManagedProxyResource): 2346 """Describes a node type in the cluster, each node type represents sub set of nodes in the cluster. 2347 2348 Variables are only populated by the server, and will be ignored when sending a request. 2349 2350 :ivar id: Azure resource identifier. 2351 :vartype id: str 2352 :ivar name: Azure resource name. 2353 :vartype name: str 2354 :ivar type: Azure resource type. 2355 :vartype type: str 2356 :param tags: A set of tags. Azure resource tags. 2357 :type tags: dict[str, str] 2358 :param is_primary: The node type on which system services will run. Only one node type should 2359 be marked as primary. Primary node type cannot be deleted or changed for existing clusters. 2360 :type is_primary: bool 2361 :param vm_instance_count: The number of nodes in the node type. 2362 :type vm_instance_count: int 2363 :param data_disk_size_gb: Disk size for each vm in the node type in GBs. 2364 :type data_disk_size_gb: int 2365 :param placement_properties: The placement tags applied to nodes in the node type, which can be 2366 used to indicate where certain services (workload) should run. 2367 :type placement_properties: dict[str, str] 2368 :param capacities: The capacity tags applied to the nodes in the node type, the cluster 2369 resource manager uses these tags to understand how much resource a node has. 2370 :type capacities: dict[str, str] 2371 :param application_ports: The range of ports from which cluster assigned port to Service Fabric 2372 applications. 2373 :type application_ports: ~azure.mgmt.servicefabric.models.EndpointRangeDescription 2374 :param ephemeral_ports: The range of ephemeral ports that nodes in this node type should be 2375 configured with. 2376 :type ephemeral_ports: ~azure.mgmt.servicefabric.models.EndpointRangeDescription 2377 :param vm_size: The size of virtual machines in the pool. All virtual machines in a pool are 2378 the same size. For example, Standard_D3. 2379 :type vm_size: str 2380 :param vm_image_publisher: The publisher of the Azure Virtual Machines Marketplace image. For 2381 example, Canonical or MicrosoftWindowsServer. 2382 :type vm_image_publisher: str 2383 :param vm_image_offer: The offer type of the Azure Virtual Machines Marketplace image. For 2384 example, UbuntuServer or WindowsServer. 2385 :type vm_image_offer: str 2386 :param vm_image_sku: The SKU of the Azure Virtual Machines Marketplace image. For example, 2387 14.04.0-LTS or 2012-R2-Datacenter. 2388 :type vm_image_sku: str 2389 :param vm_image_version: The version of the Azure Virtual Machines Marketplace image. A value 2390 of 'latest' can be specified to select the latest version of an image. If omitted, the default 2391 is 'latest'. 2392 :type vm_image_version: str 2393 :param vm_secrets: The secrets to install in the virtual machines. 2394 :type vm_secrets: list[~azure.mgmt.servicefabric.models.VaultSecretGroup] 2395 :param vm_extensions: Set of extensions that should be installed onto the virtual machines. 2396 :type vm_extensions: list[~azure.mgmt.servicefabric.models.VMSSExtension] 2397 :ivar provisioning_state: The provisioning state of the managed cluster resource. Possible 2398 values include: "None", "Creating", "Created", "Updating", "Succeeded", "Failed", "Canceled", 2399 "Deleting", "Deleted", "Other". 2400 :vartype provisioning_state: str or 2401 ~azure.mgmt.servicefabric.models.ManagedResourceProvisioningState 2402 """ 2403 2404 _validation = { 2405 'id': {'readonly': True}, 2406 'name': {'readonly': True}, 2407 'type': {'readonly': True}, 2408 'vm_instance_count': {'maximum': 2147483647, 'minimum': 1}, 2409 'provisioning_state': {'readonly': True}, 2410 } 2411 2412 _attribute_map = { 2413 'id': {'key': 'id', 'type': 'str'}, 2414 'name': {'key': 'name', 'type': 'str'}, 2415 'type': {'key': 'type', 'type': 'str'}, 2416 'tags': {'key': 'tags', 'type': '{str}'}, 2417 'is_primary': {'key': 'properties.isPrimary', 'type': 'bool'}, 2418 'vm_instance_count': {'key': 'properties.vmInstanceCount', 'type': 'int'}, 2419 'data_disk_size_gb': {'key': 'properties.dataDiskSizeGB', 'type': 'int'}, 2420 'placement_properties': {'key': 'properties.placementProperties', 'type': '{str}'}, 2421 'capacities': {'key': 'properties.capacities', 'type': '{str}'}, 2422 'application_ports': {'key': 'properties.applicationPorts', 'type': 'EndpointRangeDescription'}, 2423 'ephemeral_ports': {'key': 'properties.ephemeralPorts', 'type': 'EndpointRangeDescription'}, 2424 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, 2425 'vm_image_publisher': {'key': 'properties.vmImagePublisher', 'type': 'str'}, 2426 'vm_image_offer': {'key': 'properties.vmImageOffer', 'type': 'str'}, 2427 'vm_image_sku': {'key': 'properties.vmImageSku', 'type': 'str'}, 2428 'vm_image_version': {'key': 'properties.vmImageVersion', 'type': 'str'}, 2429 'vm_secrets': {'key': 'properties.vmSecrets', 'type': '[VaultSecretGroup]'}, 2430 'vm_extensions': {'key': 'properties.vmExtensions', 'type': '[VMSSExtension]'}, 2431 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2432 } 2433 2434 def __init__( 2435 self, 2436 **kwargs 2437 ): 2438 super(NodeType, self).__init__(**kwargs) 2439 self.is_primary = kwargs.get('is_primary', None) 2440 self.vm_instance_count = kwargs.get('vm_instance_count', None) 2441 self.data_disk_size_gb = kwargs.get('data_disk_size_gb', None) 2442 self.placement_properties = kwargs.get('placement_properties', None) 2443 self.capacities = kwargs.get('capacities', None) 2444 self.application_ports = kwargs.get('application_ports', None) 2445 self.ephemeral_ports = kwargs.get('ephemeral_ports', None) 2446 self.vm_size = kwargs.get('vm_size', None) 2447 self.vm_image_publisher = kwargs.get('vm_image_publisher', None) 2448 self.vm_image_offer = kwargs.get('vm_image_offer', None) 2449 self.vm_image_sku = kwargs.get('vm_image_sku', None) 2450 self.vm_image_version = kwargs.get('vm_image_version', None) 2451 self.vm_secrets = kwargs.get('vm_secrets', None) 2452 self.vm_extensions = kwargs.get('vm_extensions', None) 2453 self.provisioning_state = None 2454 2455 2456class NodeTypeActionParameters(msrest.serialization.Model): 2457 """Parameters for Node type action. 2458 2459 All required parameters must be populated in order to send to Azure. 2460 2461 :param nodes: Required. List of node names from the node type. 2462 :type nodes: list[str] 2463 :param force: Force the action to go through. 2464 :type force: bool 2465 """ 2466 2467 _validation = { 2468 'nodes': {'required': True}, 2469 } 2470 2471 _attribute_map = { 2472 'nodes': {'key': 'nodes', 'type': '[str]'}, 2473 'force': {'key': 'force', 'type': 'bool'}, 2474 } 2475 2476 def __init__( 2477 self, 2478 **kwargs 2479 ): 2480 super(NodeTypeActionParameters, self).__init__(**kwargs) 2481 self.nodes = kwargs['nodes'] 2482 self.force = kwargs.get('force', None) 2483 2484 2485class NodeTypeDescription(msrest.serialization.Model): 2486 """Describes a node type in the cluster, each node type represents sub set of nodes in the cluster. 2487 2488 All required parameters must be populated in order to send to Azure. 2489 2490 :param name: Required. The name of the node type. 2491 :type name: str 2492 :param placement_properties: The placement tags applied to nodes in the node type, which can be 2493 used to indicate where certain services (workload) should run. 2494 :type placement_properties: dict[str, str] 2495 :param capacities: The capacity tags applied to the nodes in the node type, the cluster 2496 resource manager uses these tags to understand how much resource a node has. 2497 :type capacities: dict[str, str] 2498 :param client_connection_endpoint_port: Required. The TCP cluster management endpoint port. 2499 :type client_connection_endpoint_port: int 2500 :param http_gateway_endpoint_port: Required. The HTTP cluster management endpoint port. 2501 :type http_gateway_endpoint_port: int 2502 :param durability_level: The durability level of the node type. Learn about `DurabilityLevel 2503 <https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity>`_. 2504 2505 2506 * Bronze - No privileges. This is the default. 2507 * Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD. 2508 * Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold 2509 durability can be enabled only on full node VM skus like D15_V2, G5 etc. Possible values 2510 include: "Bronze", "Silver", "Gold". 2511 :type durability_level: str or ~azure.mgmt.servicefabric.models.DurabilityLevel 2512 :param application_ports: The range of ports from which cluster assigned port to Service Fabric 2513 applications. 2514 :type application_ports: ~azure.mgmt.servicefabric.models.EndpointRangeDescription 2515 :param ephemeral_ports: The range of ephemeral ports that nodes in this node type should be 2516 configured with. 2517 :type ephemeral_ports: ~azure.mgmt.servicefabric.models.EndpointRangeDescription 2518 :param is_primary: Required. The node type on which system services will run. Only one node 2519 type should be marked as primary. Primary node type cannot be deleted or changed for existing 2520 clusters. 2521 :type is_primary: bool 2522 :param vm_instance_count: Required. The number of nodes in the node type. This count should 2523 match the capacity property in the corresponding VirtualMachineScaleSet resource. 2524 :type vm_instance_count: int 2525 :param reverse_proxy_endpoint_port: The endpoint used by reverse proxy. 2526 :type reverse_proxy_endpoint_port: int 2527 """ 2528 2529 _validation = { 2530 'name': {'required': True}, 2531 'client_connection_endpoint_port': {'required': True}, 2532 'http_gateway_endpoint_port': {'required': True}, 2533 'is_primary': {'required': True}, 2534 'vm_instance_count': {'required': True, 'maximum': 2147483647, 'minimum': 1}, 2535 } 2536 2537 _attribute_map = { 2538 'name': {'key': 'name', 'type': 'str'}, 2539 'placement_properties': {'key': 'placementProperties', 'type': '{str}'}, 2540 'capacities': {'key': 'capacities', 'type': '{str}'}, 2541 'client_connection_endpoint_port': {'key': 'clientConnectionEndpointPort', 'type': 'int'}, 2542 'http_gateway_endpoint_port': {'key': 'httpGatewayEndpointPort', 'type': 'int'}, 2543 'durability_level': {'key': 'durabilityLevel', 'type': 'str'}, 2544 'application_ports': {'key': 'applicationPorts', 'type': 'EndpointRangeDescription'}, 2545 'ephemeral_ports': {'key': 'ephemeralPorts', 'type': 'EndpointRangeDescription'}, 2546 'is_primary': {'key': 'isPrimary', 'type': 'bool'}, 2547 'vm_instance_count': {'key': 'vmInstanceCount', 'type': 'int'}, 2548 'reverse_proxy_endpoint_port': {'key': 'reverseProxyEndpointPort', 'type': 'int'}, 2549 } 2550 2551 def __init__( 2552 self, 2553 **kwargs 2554 ): 2555 super(NodeTypeDescription, self).__init__(**kwargs) 2556 self.name = kwargs['name'] 2557 self.placement_properties = kwargs.get('placement_properties', None) 2558 self.capacities = kwargs.get('capacities', None) 2559 self.client_connection_endpoint_port = kwargs['client_connection_endpoint_port'] 2560 self.http_gateway_endpoint_port = kwargs['http_gateway_endpoint_port'] 2561 self.durability_level = kwargs.get('durability_level', None) 2562 self.application_ports = kwargs.get('application_ports', None) 2563 self.ephemeral_ports = kwargs.get('ephemeral_ports', None) 2564 self.is_primary = kwargs['is_primary'] 2565 self.vm_instance_count = kwargs['vm_instance_count'] 2566 self.reverse_proxy_endpoint_port = kwargs.get('reverse_proxy_endpoint_port', None) 2567 2568 2569class NodeTypeListResult(msrest.serialization.Model): 2570 """Node type list results. 2571 2572 :param value: The list of node types. 2573 :type value: list[~azure.mgmt.servicefabric.models.NodeType] 2574 :param next_link: The URL to use for getting the next set of results. 2575 :type next_link: str 2576 """ 2577 2578 _attribute_map = { 2579 'value': {'key': 'value', 'type': '[NodeType]'}, 2580 'next_link': {'key': 'nextLink', 'type': 'str'}, 2581 } 2582 2583 def __init__( 2584 self, 2585 **kwargs 2586 ): 2587 super(NodeTypeListResult, self).__init__(**kwargs) 2588 self.value = kwargs.get('value', None) 2589 self.next_link = kwargs.get('next_link', None) 2590 2591 2592class NodeTypeUpdateParameters(msrest.serialization.Model): 2593 """Node type update request. 2594 2595 :param tags: A set of tags. Node type update parameters. 2596 :type tags: dict[str, str] 2597 :param vm_instance_count: The number of nodes in the node type. 2598 :type vm_instance_count: int 2599 :param placement_properties: The placement tags applied to nodes in the node type, which can be 2600 used to indicate where certain services (workload) should run. 2601 :type placement_properties: dict[str, str] 2602 :param capacities: The capacity tags applied to the nodes in the node type, the cluster 2603 resource manager uses these tags to understand how much resource a node has. 2604 :type capacities: dict[str, str] 2605 :param application_ports: The range of ports from which cluster assigned port to Service Fabric 2606 applications. 2607 :type application_ports: ~azure.mgmt.servicefabric.models.EndpointRangeDescription 2608 :param ephemeral_ports: The range of ephemeral ports that nodes in this node type should be 2609 configured with. 2610 :type ephemeral_ports: ~azure.mgmt.servicefabric.models.EndpointRangeDescription 2611 :param vm_secrets: The secrets to install in the virtual machines. 2612 :type vm_secrets: list[~azure.mgmt.servicefabric.models.VaultSecretGroup] 2613 :param vm_extensions: Set of extensions that should be installed onto the virtual machines. 2614 :type vm_extensions: list[~azure.mgmt.servicefabric.models.VMSSExtension] 2615 """ 2616 2617 _validation = { 2618 'vm_instance_count': {'maximum': 2147483647, 'minimum': 1}, 2619 } 2620 2621 _attribute_map = { 2622 'tags': {'key': 'tags', 'type': '{str}'}, 2623 'vm_instance_count': {'key': 'properties.vmInstanceCount', 'type': 'int'}, 2624 'placement_properties': {'key': 'properties.placementProperties', 'type': '{str}'}, 2625 'capacities': {'key': 'properties.capacities', 'type': '{str}'}, 2626 'application_ports': {'key': 'properties.applicationPorts', 'type': 'EndpointRangeDescription'}, 2627 'ephemeral_ports': {'key': 'properties.ephemeralPorts', 'type': 'EndpointRangeDescription'}, 2628 'vm_secrets': {'key': 'properties.vmSecrets', 'type': '[VaultSecretGroup]'}, 2629 'vm_extensions': {'key': 'properties.vmExtensions', 'type': '[VMSSExtension]'}, 2630 } 2631 2632 def __init__( 2633 self, 2634 **kwargs 2635 ): 2636 super(NodeTypeUpdateParameters, self).__init__(**kwargs) 2637 self.tags = kwargs.get('tags', None) 2638 self.vm_instance_count = kwargs.get('vm_instance_count', None) 2639 self.placement_properties = kwargs.get('placement_properties', None) 2640 self.capacities = kwargs.get('capacities', None) 2641 self.application_ports = kwargs.get('application_ports', None) 2642 self.ephemeral_ports = kwargs.get('ephemeral_ports', None) 2643 self.vm_secrets = kwargs.get('vm_secrets', None) 2644 self.vm_extensions = kwargs.get('vm_extensions', None) 2645 2646 2647class OperationListResult(msrest.serialization.Model): 2648 """Describes the result of the request to list Service Fabric resource provider operations. 2649 2650 Variables are only populated by the server, and will be ignored when sending a request. 2651 2652 :param value: List of operations supported by the Service Fabric resource provider. 2653 :type value: list[~azure.mgmt.servicefabric.models.OperationResult] 2654 :ivar next_link: URL to get the next set of operation list results if there are any. 2655 :vartype next_link: str 2656 """ 2657 2658 _validation = { 2659 'next_link': {'readonly': True}, 2660 } 2661 2662 _attribute_map = { 2663 'value': {'key': 'value', 'type': '[OperationResult]'}, 2664 'next_link': {'key': 'nextLink', 'type': 'str'}, 2665 } 2666 2667 def __init__( 2668 self, 2669 **kwargs 2670 ): 2671 super(OperationListResult, self).__init__(**kwargs) 2672 self.value = kwargs.get('value', None) 2673 self.next_link = None 2674 2675 2676class OperationResult(msrest.serialization.Model): 2677 """Available operation list result. 2678 2679 :param name: The name of the operation. 2680 :type name: str 2681 :param display: The object that represents the operation. 2682 :type display: ~azure.mgmt.servicefabric.models.AvailableOperationDisplay 2683 :param origin: Origin result. 2684 :type origin: str 2685 :param next_link: The URL to use for getting the next set of results. 2686 :type next_link: str 2687 """ 2688 2689 _attribute_map = { 2690 'name': {'key': 'name', 'type': 'str'}, 2691 'display': {'key': 'display', 'type': 'AvailableOperationDisplay'}, 2692 'origin': {'key': 'origin', 'type': 'str'}, 2693 'next_link': {'key': 'nextLink', 'type': 'str'}, 2694 } 2695 2696 def __init__( 2697 self, 2698 **kwargs 2699 ): 2700 super(OperationResult, self).__init__(**kwargs) 2701 self.name = kwargs.get('name', None) 2702 self.display = kwargs.get('display', None) 2703 self.origin = kwargs.get('origin', None) 2704 self.next_link = kwargs.get('next_link', None) 2705 2706 2707class ServerCertificateCommonName(msrest.serialization.Model): 2708 """Describes the server certificate details using common name. 2709 2710 All required parameters must be populated in order to send to Azure. 2711 2712 :param certificate_common_name: Required. The common name of the server certificate. 2713 :type certificate_common_name: str 2714 :param certificate_issuer_thumbprint: Required. The issuer thumbprint of the server 2715 certificate. 2716 :type certificate_issuer_thumbprint: str 2717 """ 2718 2719 _validation = { 2720 'certificate_common_name': {'required': True}, 2721 'certificate_issuer_thumbprint': {'required': True}, 2722 } 2723 2724 _attribute_map = { 2725 'certificate_common_name': {'key': 'certificateCommonName', 'type': 'str'}, 2726 'certificate_issuer_thumbprint': {'key': 'certificateIssuerThumbprint', 'type': 'str'}, 2727 } 2728 2729 def __init__( 2730 self, 2731 **kwargs 2732 ): 2733 super(ServerCertificateCommonName, self).__init__(**kwargs) 2734 self.certificate_common_name = kwargs['certificate_common_name'] 2735 self.certificate_issuer_thumbprint = kwargs['certificate_issuer_thumbprint'] 2736 2737 2738class ServerCertificateCommonNames(msrest.serialization.Model): 2739 """Describes a list of server certificates referenced by common name that are used to secure the cluster. 2740 2741 :param common_names: The list of server certificates referenced by common name that are used to 2742 secure the cluster. 2743 :type common_names: list[~azure.mgmt.servicefabric.models.ServerCertificateCommonName] 2744 :param x509_store_name: The local certificate store location. Possible values include: 2745 "AddressBook", "AuthRoot", "CertificateAuthority", "Disallowed", "My", "Root", "TrustedPeople", 2746 "TrustedPublisher". 2747 :type x509_store_name: str or ~azure.mgmt.servicefabric.models.StoreName 2748 """ 2749 2750 _attribute_map = { 2751 'common_names': {'key': 'commonNames', 'type': '[ServerCertificateCommonName]'}, 2752 'x509_store_name': {'key': 'x509StoreName', 'type': 'str'}, 2753 } 2754 2755 def __init__( 2756 self, 2757 **kwargs 2758 ): 2759 super(ServerCertificateCommonNames, self).__init__(**kwargs) 2760 self.common_names = kwargs.get('common_names', None) 2761 self.x509_store_name = kwargs.get('x509_store_name', None) 2762 2763 2764class ServiceCorrelationDescription(msrest.serialization.Model): 2765 """Creates a particular correlation between services. 2766 2767 All required parameters must be populated in order to send to Azure. 2768 2769 :param scheme: Required. The ServiceCorrelationScheme which describes the relationship between 2770 this service and the service specified via ServiceName. Possible values include: "Invalid", 2771 "Affinity", "AlignedAffinity", "NonAlignedAffinity". 2772 :type scheme: str or ~azure.mgmt.servicefabric.models.ServiceCorrelationScheme 2773 :param service_name: Required. The name of the service that the correlation relationship is 2774 established with. 2775 :type service_name: str 2776 """ 2777 2778 _validation = { 2779 'scheme': {'required': True}, 2780 'service_name': {'required': True}, 2781 } 2782 2783 _attribute_map = { 2784 'scheme': {'key': 'scheme', 'type': 'str'}, 2785 'service_name': {'key': 'serviceName', 'type': 'str'}, 2786 } 2787 2788 def __init__( 2789 self, 2790 **kwargs 2791 ): 2792 super(ServiceCorrelationDescription, self).__init__(**kwargs) 2793 self.scheme = kwargs['scheme'] 2794 self.service_name = kwargs['service_name'] 2795 2796 2797class ServiceLoadMetricDescription(msrest.serialization.Model): 2798 """Specifies a metric to load balance a service during runtime. 2799 2800 All required parameters must be populated in order to send to Azure. 2801 2802 :param name: Required. The name of the metric. If the service chooses to report load during 2803 runtime, the load metric name should match the name that is specified in Name exactly. Note 2804 that metric names are case sensitive. 2805 :type name: str 2806 :param weight: The service load metric relative weight, compared to other metrics configured 2807 for this service, as a number. Possible values include: "Zero", "Low", "Medium", "High". 2808 :type weight: str or ~azure.mgmt.servicefabric.models.ServiceLoadMetricWeight 2809 :param primary_default_load: Used only for Stateful services. The default amount of load, as a 2810 number, that this service creates for this metric when it is a Primary replica. 2811 :type primary_default_load: int 2812 :param secondary_default_load: Used only for Stateful services. The default amount of load, as 2813 a number, that this service creates for this metric when it is a Secondary replica. 2814 :type secondary_default_load: int 2815 :param default_load: Used only for Stateless services. The default amount of load, as a number, 2816 that this service creates for this metric. 2817 :type default_load: int 2818 """ 2819 2820 _validation = { 2821 'name': {'required': True}, 2822 } 2823 2824 _attribute_map = { 2825 'name': {'key': 'name', 'type': 'str'}, 2826 'weight': {'key': 'weight', 'type': 'str'}, 2827 'primary_default_load': {'key': 'primaryDefaultLoad', 'type': 'int'}, 2828 'secondary_default_load': {'key': 'secondaryDefaultLoad', 'type': 'int'}, 2829 'default_load': {'key': 'defaultLoad', 'type': 'int'}, 2830 } 2831 2832 def __init__( 2833 self, 2834 **kwargs 2835 ): 2836 super(ServiceLoadMetricDescription, self).__init__(**kwargs) 2837 self.name = kwargs['name'] 2838 self.weight = kwargs.get('weight', None) 2839 self.primary_default_load = kwargs.get('primary_default_load', None) 2840 self.secondary_default_load = kwargs.get('secondary_default_load', None) 2841 self.default_load = kwargs.get('default_load', None) 2842 2843 2844class ServicePlacementPolicyDescription(msrest.serialization.Model): 2845 """Describes the policy to be used for placement of a Service Fabric service. 2846 2847 You probably want to use the sub-classes and not this class directly. Known 2848 sub-classes are: . 2849 2850 All required parameters must be populated in order to send to Azure. 2851 2852 :param type: Required. The type of placement policy for a service fabric service. Following are 2853 the possible values.Constant filled by server. Possible values include: "Invalid", 2854 "InvalidDomain", "RequiredDomain", "PreferredPrimaryDomain", "RequiredDomainDistribution", 2855 "NonPartiallyPlaceService". 2856 :type type: str or ~azure.mgmt.servicefabric.models.ServicePlacementPolicyType 2857 """ 2858 2859 _validation = { 2860 'type': {'required': True}, 2861 } 2862 2863 _attribute_map = { 2864 'type': {'key': 'type', 'type': 'str'}, 2865 } 2866 2867 _subtype_map = { 2868 'type': {} 2869 } 2870 2871 def __init__( 2872 self, 2873 **kwargs 2874 ): 2875 super(ServicePlacementPolicyDescription, self).__init__(**kwargs) 2876 self.type = None # type: Optional[str] 2877 2878 2879class ServiceResource(ProxyResource): 2880 """The service resource. 2881 2882 Variables are only populated by the server, and will be ignored when sending a request. 2883 2884 :ivar id: Azure resource identifier. 2885 :vartype id: str 2886 :ivar name: Azure resource name. 2887 :vartype name: str 2888 :ivar type: Azure resource type. 2889 :vartype type: str 2890 :param location: It will be deprecated in New API, resource location depends on the parent 2891 resource. 2892 :type location: str 2893 :param tags: A set of tags. Azure resource tags. 2894 :type tags: dict[str, str] 2895 :ivar etag: Azure resource etag. 2896 :vartype etag: str 2897 :param placement_constraints: The placement constraints as a string. Placement constraints are 2898 boolean expressions on node properties and allow for restricting a service to particular nodes 2899 based on the service requirements. For example, to place a service on nodes where NodeType is 2900 blue specify the following: "NodeColor == blue)". 2901 :type placement_constraints: str 2902 :param correlation_scheme: A list that describes the correlation of the service with other 2903 services. 2904 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 2905 :param service_load_metrics: The service load metrics is given as an array of 2906 ServiceLoadMetricDescription objects. 2907 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 2908 :param service_placement_policies: A list that describes the correlation of the service with 2909 other services. 2910 :type service_placement_policies: 2911 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 2912 :param default_move_cost: Specifies the move cost for the service. Possible values include: 2913 "Zero", "Low", "Medium", "High". 2914 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 2915 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 2916 the response. 2917 :vartype provisioning_state: str 2918 :param service_kind: The kind of service (Stateless or Stateful).Constant filled by server. 2919 Possible values include: "Invalid", "Stateless", "Stateful". 2920 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 2921 :param service_type_name: The name of the service type. 2922 :type service_type_name: str 2923 :param partition_description: Describes how the service is partitioned. 2924 :type partition_description: ~azure.mgmt.servicefabric.models.PartitionSchemeDescription 2925 :param service_package_activation_mode: The activation Mode of the service package. Possible 2926 values include: "SharedProcess", "ExclusiveProcess". 2927 :type service_package_activation_mode: str or 2928 ~azure.mgmt.servicefabric.models.ArmServicePackageActivationMode 2929 :param service_dns_name: Dns name used for the service. If this is specified, then the service 2930 can be accessed via its DNS name instead of service name. 2931 :type service_dns_name: str 2932 """ 2933 2934 _validation = { 2935 'id': {'readonly': True}, 2936 'name': {'readonly': True}, 2937 'type': {'readonly': True}, 2938 'etag': {'readonly': True}, 2939 'provisioning_state': {'readonly': True}, 2940 } 2941 2942 _attribute_map = { 2943 'id': {'key': 'id', 'type': 'str'}, 2944 'name': {'key': 'name', 'type': 'str'}, 2945 'type': {'key': 'type', 'type': 'str'}, 2946 'location': {'key': 'location', 'type': 'str'}, 2947 'tags': {'key': 'tags', 'type': '{str}'}, 2948 'etag': {'key': 'etag', 'type': 'str'}, 2949 'placement_constraints': {'key': 'properties.placementConstraints', 'type': 'str'}, 2950 'correlation_scheme': {'key': 'properties.correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 2951 'service_load_metrics': {'key': 'properties.serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 2952 'service_placement_policies': {'key': 'properties.servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 2953 'default_move_cost': {'key': 'properties.defaultMoveCost', 'type': 'str'}, 2954 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2955 'service_kind': {'key': 'properties.serviceKind', 'type': 'str'}, 2956 'service_type_name': {'key': 'properties.serviceTypeName', 'type': 'str'}, 2957 'partition_description': {'key': 'properties.partitionDescription', 'type': 'PartitionSchemeDescription'}, 2958 'service_package_activation_mode': {'key': 'properties.servicePackageActivationMode', 'type': 'str'}, 2959 'service_dns_name': {'key': 'properties.serviceDnsName', 'type': 'str'}, 2960 } 2961 2962 def __init__( 2963 self, 2964 **kwargs 2965 ): 2966 super(ServiceResource, self).__init__(**kwargs) 2967 self.placement_constraints = kwargs.get('placement_constraints', None) 2968 self.correlation_scheme = kwargs.get('correlation_scheme', None) 2969 self.service_load_metrics = kwargs.get('service_load_metrics', None) 2970 self.service_placement_policies = kwargs.get('service_placement_policies', None) 2971 self.default_move_cost = kwargs.get('default_move_cost', None) 2972 self.provisioning_state = None 2973 self.service_kind = None # type: Optional[str] 2974 self.service_type_name = kwargs.get('service_type_name', None) 2975 self.partition_description = kwargs.get('partition_description', None) 2976 self.service_package_activation_mode = kwargs.get('service_package_activation_mode', None) 2977 self.service_dns_name = kwargs.get('service_dns_name', None) 2978 2979 2980class ServiceResourceList(msrest.serialization.Model): 2981 """The list of service resources. 2982 2983 Variables are only populated by the server, and will be ignored when sending a request. 2984 2985 :param value: 2986 :type value: list[~azure.mgmt.servicefabric.models.ServiceResource] 2987 :ivar next_link: URL to get the next set of service list results if there are any. 2988 :vartype next_link: str 2989 """ 2990 2991 _validation = { 2992 'next_link': {'readonly': True}, 2993 } 2994 2995 _attribute_map = { 2996 'value': {'key': 'value', 'type': '[ServiceResource]'}, 2997 'next_link': {'key': 'nextLink', 'type': 'str'}, 2998 } 2999 3000 def __init__( 3001 self, 3002 **kwargs 3003 ): 3004 super(ServiceResourceList, self).__init__(**kwargs) 3005 self.value = kwargs.get('value', None) 3006 self.next_link = None 3007 3008 3009class ServiceResourcePropertiesBase(msrest.serialization.Model): 3010 """The common service resource properties. 3011 3012 :param placement_constraints: The placement constraints as a string. Placement constraints are 3013 boolean expressions on node properties and allow for restricting a service to particular nodes 3014 based on the service requirements. For example, to place a service on nodes where NodeType is 3015 blue specify the following: "NodeColor == blue)". 3016 :type placement_constraints: str 3017 :param correlation_scheme: A list that describes the correlation of the service with other 3018 services. 3019 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3020 :param service_load_metrics: The service load metrics is given as an array of 3021 ServiceLoadMetricDescription objects. 3022 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3023 :param service_placement_policies: A list that describes the correlation of the service with 3024 other services. 3025 :type service_placement_policies: 3026 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3027 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3028 "Zero", "Low", "Medium", "High". 3029 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3030 """ 3031 3032 _attribute_map = { 3033 'placement_constraints': {'key': 'placementConstraints', 'type': 'str'}, 3034 'correlation_scheme': {'key': 'correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3035 'service_load_metrics': {'key': 'serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3036 'service_placement_policies': {'key': 'servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3037 'default_move_cost': {'key': 'defaultMoveCost', 'type': 'str'}, 3038 } 3039 3040 def __init__( 3041 self, 3042 **kwargs 3043 ): 3044 super(ServiceResourcePropertiesBase, self).__init__(**kwargs) 3045 self.placement_constraints = kwargs.get('placement_constraints', None) 3046 self.correlation_scheme = kwargs.get('correlation_scheme', None) 3047 self.service_load_metrics = kwargs.get('service_load_metrics', None) 3048 self.service_placement_policies = kwargs.get('service_placement_policies', None) 3049 self.default_move_cost = kwargs.get('default_move_cost', None) 3050 3051 3052class ServiceResourceProperties(ServiceResourcePropertiesBase): 3053 """The service resource properties. 3054 3055 You probably want to use the sub-classes and not this class directly. Known 3056 sub-classes are: StatefulServiceProperties, StatelessServiceProperties. 3057 3058 Variables are only populated by the server, and will be ignored when sending a request. 3059 3060 All required parameters must be populated in order to send to Azure. 3061 3062 :param placement_constraints: The placement constraints as a string. Placement constraints are 3063 boolean expressions on node properties and allow for restricting a service to particular nodes 3064 based on the service requirements. For example, to place a service on nodes where NodeType is 3065 blue specify the following: "NodeColor == blue)". 3066 :type placement_constraints: str 3067 :param correlation_scheme: A list that describes the correlation of the service with other 3068 services. 3069 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3070 :param service_load_metrics: The service load metrics is given as an array of 3071 ServiceLoadMetricDescription objects. 3072 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3073 :param service_placement_policies: A list that describes the correlation of the service with 3074 other services. 3075 :type service_placement_policies: 3076 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3077 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3078 "Zero", "Low", "Medium", "High". 3079 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3080 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 3081 the response. 3082 :vartype provisioning_state: str 3083 :param service_kind: Required. The kind of service (Stateless or Stateful).Constant filled by 3084 server. Possible values include: "Invalid", "Stateless", "Stateful". 3085 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 3086 :param service_type_name: The name of the service type. 3087 :type service_type_name: str 3088 :param partition_description: Describes how the service is partitioned. 3089 :type partition_description: ~azure.mgmt.servicefabric.models.PartitionSchemeDescription 3090 :param service_package_activation_mode: The activation Mode of the service package. Possible 3091 values include: "SharedProcess", "ExclusiveProcess". 3092 :type service_package_activation_mode: str or 3093 ~azure.mgmt.servicefabric.models.ArmServicePackageActivationMode 3094 :param service_dns_name: Dns name used for the service. If this is specified, then the service 3095 can be accessed via its DNS name instead of service name. 3096 :type service_dns_name: str 3097 """ 3098 3099 _validation = { 3100 'provisioning_state': {'readonly': True}, 3101 'service_kind': {'required': True}, 3102 } 3103 3104 _attribute_map = { 3105 'placement_constraints': {'key': 'placementConstraints', 'type': 'str'}, 3106 'correlation_scheme': {'key': 'correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3107 'service_load_metrics': {'key': 'serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3108 'service_placement_policies': {'key': 'servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3109 'default_move_cost': {'key': 'defaultMoveCost', 'type': 'str'}, 3110 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 3111 'service_kind': {'key': 'serviceKind', 'type': 'str'}, 3112 'service_type_name': {'key': 'serviceTypeName', 'type': 'str'}, 3113 'partition_description': {'key': 'partitionDescription', 'type': 'PartitionSchemeDescription'}, 3114 'service_package_activation_mode': {'key': 'servicePackageActivationMode', 'type': 'str'}, 3115 'service_dns_name': {'key': 'serviceDnsName', 'type': 'str'}, 3116 } 3117 3118 _subtype_map = { 3119 'service_kind': {'Stateful': 'StatefulServiceProperties', 'Stateless': 'StatelessServiceProperties'} 3120 } 3121 3122 def __init__( 3123 self, 3124 **kwargs 3125 ): 3126 super(ServiceResourceProperties, self).__init__(**kwargs) 3127 self.provisioning_state = None 3128 self.service_kind = 'ServiceResourceProperties' # type: str 3129 self.service_type_name = kwargs.get('service_type_name', None) 3130 self.partition_description = kwargs.get('partition_description', None) 3131 self.service_package_activation_mode = kwargs.get('service_package_activation_mode', None) 3132 self.service_dns_name = kwargs.get('service_dns_name', None) 3133 3134 3135class ServiceResourceUpdate(ProxyResource): 3136 """The service resource for patch operations. 3137 3138 Variables are only populated by the server, and will be ignored when sending a request. 3139 3140 :ivar id: Azure resource identifier. 3141 :vartype id: str 3142 :ivar name: Azure resource name. 3143 :vartype name: str 3144 :ivar type: Azure resource type. 3145 :vartype type: str 3146 :param location: It will be deprecated in New API, resource location depends on the parent 3147 resource. 3148 :type location: str 3149 :param tags: A set of tags. Azure resource tags. 3150 :type tags: dict[str, str] 3151 :ivar etag: Azure resource etag. 3152 :vartype etag: str 3153 :param placement_constraints: The placement constraints as a string. Placement constraints are 3154 boolean expressions on node properties and allow for restricting a service to particular nodes 3155 based on the service requirements. For example, to place a service on nodes where NodeType is 3156 blue specify the following: "NodeColor == blue)". 3157 :type placement_constraints: str 3158 :param correlation_scheme: A list that describes the correlation of the service with other 3159 services. 3160 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3161 :param service_load_metrics: The service load metrics is given as an array of 3162 ServiceLoadMetricDescription objects. 3163 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3164 :param service_placement_policies: A list that describes the correlation of the service with 3165 other services. 3166 :type service_placement_policies: 3167 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3168 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3169 "Zero", "Low", "Medium", "High". 3170 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3171 :param service_kind: The kind of service (Stateless or Stateful).Constant filled by server. 3172 Possible values include: "Invalid", "Stateless", "Stateful". 3173 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 3174 """ 3175 3176 _validation = { 3177 'id': {'readonly': True}, 3178 'name': {'readonly': True}, 3179 'type': {'readonly': True}, 3180 'etag': {'readonly': True}, 3181 } 3182 3183 _attribute_map = { 3184 'id': {'key': 'id', 'type': 'str'}, 3185 'name': {'key': 'name', 'type': 'str'}, 3186 'type': {'key': 'type', 'type': 'str'}, 3187 'location': {'key': 'location', 'type': 'str'}, 3188 'tags': {'key': 'tags', 'type': '{str}'}, 3189 'etag': {'key': 'etag', 'type': 'str'}, 3190 'placement_constraints': {'key': 'properties.placementConstraints', 'type': 'str'}, 3191 'correlation_scheme': {'key': 'properties.correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3192 'service_load_metrics': {'key': 'properties.serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3193 'service_placement_policies': {'key': 'properties.servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3194 'default_move_cost': {'key': 'properties.defaultMoveCost', 'type': 'str'}, 3195 'service_kind': {'key': 'properties.serviceKind', 'type': 'str'}, 3196 } 3197 3198 def __init__( 3199 self, 3200 **kwargs 3201 ): 3202 super(ServiceResourceUpdate, self).__init__(**kwargs) 3203 self.placement_constraints = kwargs.get('placement_constraints', None) 3204 self.correlation_scheme = kwargs.get('correlation_scheme', None) 3205 self.service_load_metrics = kwargs.get('service_load_metrics', None) 3206 self.service_placement_policies = kwargs.get('service_placement_policies', None) 3207 self.default_move_cost = kwargs.get('default_move_cost', None) 3208 self.service_kind = None # type: Optional[str] 3209 3210 3211class ServiceResourceUpdateProperties(ServiceResourcePropertiesBase): 3212 """The service resource properties for patch operations. 3213 3214 You probably want to use the sub-classes and not this class directly. Known 3215 sub-classes are: StatefulServiceUpdateProperties, StatelessServiceUpdateProperties. 3216 3217 All required parameters must be populated in order to send to Azure. 3218 3219 :param placement_constraints: The placement constraints as a string. Placement constraints are 3220 boolean expressions on node properties and allow for restricting a service to particular nodes 3221 based on the service requirements. For example, to place a service on nodes where NodeType is 3222 blue specify the following: "NodeColor == blue)". 3223 :type placement_constraints: str 3224 :param correlation_scheme: A list that describes the correlation of the service with other 3225 services. 3226 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3227 :param service_load_metrics: The service load metrics is given as an array of 3228 ServiceLoadMetricDescription objects. 3229 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3230 :param service_placement_policies: A list that describes the correlation of the service with 3231 other services. 3232 :type service_placement_policies: 3233 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3234 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3235 "Zero", "Low", "Medium", "High". 3236 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3237 :param service_kind: Required. The kind of service (Stateless or Stateful).Constant filled by 3238 server. Possible values include: "Invalid", "Stateless", "Stateful". 3239 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 3240 """ 3241 3242 _validation = { 3243 'service_kind': {'required': True}, 3244 } 3245 3246 _attribute_map = { 3247 'placement_constraints': {'key': 'placementConstraints', 'type': 'str'}, 3248 'correlation_scheme': {'key': 'correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3249 'service_load_metrics': {'key': 'serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3250 'service_placement_policies': {'key': 'servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3251 'default_move_cost': {'key': 'defaultMoveCost', 'type': 'str'}, 3252 'service_kind': {'key': 'serviceKind', 'type': 'str'}, 3253 } 3254 3255 _subtype_map = { 3256 'service_kind': {'Stateful': 'StatefulServiceUpdateProperties', 'Stateless': 'StatelessServiceUpdateProperties'} 3257 } 3258 3259 def __init__( 3260 self, 3261 **kwargs 3262 ): 3263 super(ServiceResourceUpdateProperties, self).__init__(**kwargs) 3264 self.service_kind = 'ServiceResourceUpdateProperties' # type: str 3265 3266 3267class ServiceTypeDeltaHealthPolicy(msrest.serialization.Model): 3268 """Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster. 3269 3270 :param max_percent_delta_unhealthy_services: The maximum allowed percentage of services health 3271 degradation allowed during cluster upgrades. 3272 The delta is measured between the state of the services at the beginning of upgrade and the 3273 state of the services at the time of the health evaluation. 3274 The check is performed after every upgrade domain upgrade completion to make sure the global 3275 state of the cluster is within tolerated limits. 3276 :type max_percent_delta_unhealthy_services: int 3277 """ 3278 3279 _validation = { 3280 'max_percent_delta_unhealthy_services': {'maximum': 100, 'minimum': 0}, 3281 } 3282 3283 _attribute_map = { 3284 'max_percent_delta_unhealthy_services': {'key': 'maxPercentDeltaUnhealthyServices', 'type': 'int'}, 3285 } 3286 3287 def __init__( 3288 self, 3289 **kwargs 3290 ): 3291 super(ServiceTypeDeltaHealthPolicy, self).__init__(**kwargs) 3292 self.max_percent_delta_unhealthy_services = kwargs.get('max_percent_delta_unhealthy_services', 0) 3293 3294 3295class ServiceTypeHealthPolicy(msrest.serialization.Model): 3296 """Represents the health policy used to evaluate the health of services belonging to a service type. 3297 3298 :param max_percent_unhealthy_services: The maximum percentage of services allowed to be 3299 unhealthy before your application is considered in error. 3300 :type max_percent_unhealthy_services: int 3301 """ 3302 3303 _validation = { 3304 'max_percent_unhealthy_services': {'maximum': 100, 'minimum': 0}, 3305 } 3306 3307 _attribute_map = { 3308 'max_percent_unhealthy_services': {'key': 'maxPercentUnhealthyServices', 'type': 'int'}, 3309 } 3310 3311 def __init__( 3312 self, 3313 **kwargs 3314 ): 3315 super(ServiceTypeHealthPolicy, self).__init__(**kwargs) 3316 self.max_percent_unhealthy_services = kwargs.get('max_percent_unhealthy_services', 0) 3317 3318 3319class SettingsParameterDescription(msrest.serialization.Model): 3320 """Describes a parameter in fabric settings of the cluster. 3321 3322 All required parameters must be populated in order to send to Azure. 3323 3324 :param name: Required. The parameter name of fabric setting. 3325 :type name: str 3326 :param value: Required. The parameter value of fabric setting. 3327 :type value: str 3328 """ 3329 3330 _validation = { 3331 'name': {'required': True}, 3332 'value': {'required': True}, 3333 } 3334 3335 _attribute_map = { 3336 'name': {'key': 'name', 'type': 'str'}, 3337 'value': {'key': 'value', 'type': 'str'}, 3338 } 3339 3340 def __init__( 3341 self, 3342 **kwargs 3343 ): 3344 super(SettingsParameterDescription, self).__init__(**kwargs) 3345 self.name = kwargs['name'] 3346 self.value = kwargs['value'] 3347 3348 3349class SettingsSectionDescription(msrest.serialization.Model): 3350 """Describes a section in the fabric settings of the cluster. 3351 3352 All required parameters must be populated in order to send to Azure. 3353 3354 :param name: Required. The section name of the fabric settings. 3355 :type name: str 3356 :param parameters: Required. The collection of parameters in the section. 3357 :type parameters: list[~azure.mgmt.servicefabric.models.SettingsParameterDescription] 3358 """ 3359 3360 _validation = { 3361 'name': {'required': True}, 3362 'parameters': {'required': True}, 3363 } 3364 3365 _attribute_map = { 3366 'name': {'key': 'name', 'type': 'str'}, 3367 'parameters': {'key': 'parameters', 'type': '[SettingsParameterDescription]'}, 3368 } 3369 3370 def __init__( 3371 self, 3372 **kwargs 3373 ): 3374 super(SettingsSectionDescription, self).__init__(**kwargs) 3375 self.name = kwargs['name'] 3376 self.parameters = kwargs['parameters'] 3377 3378 3379class SingletonPartitionSchemeDescription(PartitionSchemeDescription): 3380 """SingletonPartitionSchemeDescription. 3381 3382 All required parameters must be populated in order to send to Azure. 3383 3384 :param partition_scheme: Required. Specifies how the service is partitioned.Constant filled by 3385 server. Possible values include: "Invalid", "Singleton", "UniformInt64Range", "Named". 3386 :type partition_scheme: str or ~azure.mgmt.servicefabric.models.PartitionScheme 3387 """ 3388 3389 _validation = { 3390 'partition_scheme': {'required': True}, 3391 } 3392 3393 _attribute_map = { 3394 'partition_scheme': {'key': 'partitionScheme', 'type': 'str'}, 3395 } 3396 3397 def __init__( 3398 self, 3399 **kwargs 3400 ): 3401 super(SingletonPartitionSchemeDescription, self).__init__(**kwargs) 3402 self.partition_scheme = 'Singleton' # type: str 3403 3404 3405class Sku(msrest.serialization.Model): 3406 """Sku definition. 3407 3408 All required parameters must be populated in order to send to Azure. 3409 3410 :param name: Required. Sku Name. Possible values include: "Basic", "Standard". 3411 :type name: str or ~azure.mgmt.servicefabric.models.SkuName 3412 """ 3413 3414 _validation = { 3415 'name': {'required': True}, 3416 } 3417 3418 _attribute_map = { 3419 'name': {'key': 'name', 'type': 'str'}, 3420 } 3421 3422 def __init__( 3423 self, 3424 **kwargs 3425 ): 3426 super(Sku, self).__init__(**kwargs) 3427 self.name = kwargs['name'] 3428 3429 3430class StatefulServiceProperties(ServiceResourceProperties): 3431 """The properties of a stateful service resource. 3432 3433 Variables are only populated by the server, and will be ignored when sending a request. 3434 3435 All required parameters must be populated in order to send to Azure. 3436 3437 :param placement_constraints: The placement constraints as a string. Placement constraints are 3438 boolean expressions on node properties and allow for restricting a service to particular nodes 3439 based on the service requirements. For example, to place a service on nodes where NodeType is 3440 blue specify the following: "NodeColor == blue)". 3441 :type placement_constraints: str 3442 :param correlation_scheme: A list that describes the correlation of the service with other 3443 services. 3444 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3445 :param service_load_metrics: The service load metrics is given as an array of 3446 ServiceLoadMetricDescription objects. 3447 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3448 :param service_placement_policies: A list that describes the correlation of the service with 3449 other services. 3450 :type service_placement_policies: 3451 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3452 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3453 "Zero", "Low", "Medium", "High". 3454 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3455 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 3456 the response. 3457 :vartype provisioning_state: str 3458 :param service_kind: Required. The kind of service (Stateless or Stateful).Constant filled by 3459 server. Possible values include: "Invalid", "Stateless", "Stateful". 3460 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 3461 :param service_type_name: The name of the service type. 3462 :type service_type_name: str 3463 :param partition_description: Describes how the service is partitioned. 3464 :type partition_description: ~azure.mgmt.servicefabric.models.PartitionSchemeDescription 3465 :param service_package_activation_mode: The activation Mode of the service package. Possible 3466 values include: "SharedProcess", "ExclusiveProcess". 3467 :type service_package_activation_mode: str or 3468 ~azure.mgmt.servicefabric.models.ArmServicePackageActivationMode 3469 :param service_dns_name: Dns name used for the service. If this is specified, then the service 3470 can be accessed via its DNS name instead of service name. 3471 :type service_dns_name: str 3472 :param has_persisted_state: A flag indicating whether this is a persistent service which stores 3473 states on the local disk. If it is then the value of this property is true, if not it is false. 3474 :type has_persisted_state: bool 3475 :param target_replica_set_size: The target replica set size as a number. 3476 :type target_replica_set_size: int 3477 :param min_replica_set_size: The minimum replica set size as a number. 3478 :type min_replica_set_size: int 3479 :param replica_restart_wait_duration: The duration between when a replica goes down and when a 3480 new replica is created, represented in ISO 8601 format (hh:mm:ss.s). 3481 :type replica_restart_wait_duration: ~datetime.datetime 3482 :param quorum_loss_wait_duration: The maximum duration for which a partition is allowed to be 3483 in a state of quorum loss, represented in ISO 8601 format (hh:mm:ss.s). 3484 :type quorum_loss_wait_duration: ~datetime.datetime 3485 :param stand_by_replica_keep_duration: The definition on how long StandBy replicas should be 3486 maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s). 3487 :type stand_by_replica_keep_duration: ~datetime.datetime 3488 """ 3489 3490 _validation = { 3491 'provisioning_state': {'readonly': True}, 3492 'service_kind': {'required': True}, 3493 'target_replica_set_size': {'minimum': 1}, 3494 'min_replica_set_size': {'minimum': 1}, 3495 } 3496 3497 _attribute_map = { 3498 'placement_constraints': {'key': 'placementConstraints', 'type': 'str'}, 3499 'correlation_scheme': {'key': 'correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3500 'service_load_metrics': {'key': 'serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3501 'service_placement_policies': {'key': 'servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3502 'default_move_cost': {'key': 'defaultMoveCost', 'type': 'str'}, 3503 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 3504 'service_kind': {'key': 'serviceKind', 'type': 'str'}, 3505 'service_type_name': {'key': 'serviceTypeName', 'type': 'str'}, 3506 'partition_description': {'key': 'partitionDescription', 'type': 'PartitionSchemeDescription'}, 3507 'service_package_activation_mode': {'key': 'servicePackageActivationMode', 'type': 'str'}, 3508 'service_dns_name': {'key': 'serviceDnsName', 'type': 'str'}, 3509 'has_persisted_state': {'key': 'hasPersistedState', 'type': 'bool'}, 3510 'target_replica_set_size': {'key': 'targetReplicaSetSize', 'type': 'int'}, 3511 'min_replica_set_size': {'key': 'minReplicaSetSize', 'type': 'int'}, 3512 'replica_restart_wait_duration': {'key': 'replicaRestartWaitDuration', 'type': 'iso-8601'}, 3513 'quorum_loss_wait_duration': {'key': 'quorumLossWaitDuration', 'type': 'iso-8601'}, 3514 'stand_by_replica_keep_duration': {'key': 'standByReplicaKeepDuration', 'type': 'iso-8601'}, 3515 } 3516 3517 def __init__( 3518 self, 3519 **kwargs 3520 ): 3521 super(StatefulServiceProperties, self).__init__(**kwargs) 3522 self.service_kind = 'Stateful' # type: str 3523 self.has_persisted_state = kwargs.get('has_persisted_state', None) 3524 self.target_replica_set_size = kwargs.get('target_replica_set_size', None) 3525 self.min_replica_set_size = kwargs.get('min_replica_set_size', None) 3526 self.replica_restart_wait_duration = kwargs.get('replica_restart_wait_duration', None) 3527 self.quorum_loss_wait_duration = kwargs.get('quorum_loss_wait_duration', None) 3528 self.stand_by_replica_keep_duration = kwargs.get('stand_by_replica_keep_duration', None) 3529 3530 3531class StatefulServiceUpdateProperties(ServiceResourceUpdateProperties): 3532 """The properties of a stateful service resource for patch operations. 3533 3534 All required parameters must be populated in order to send to Azure. 3535 3536 :param placement_constraints: The placement constraints as a string. Placement constraints are 3537 boolean expressions on node properties and allow for restricting a service to particular nodes 3538 based on the service requirements. For example, to place a service on nodes where NodeType is 3539 blue specify the following: "NodeColor == blue)". 3540 :type placement_constraints: str 3541 :param correlation_scheme: A list that describes the correlation of the service with other 3542 services. 3543 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3544 :param service_load_metrics: The service load metrics is given as an array of 3545 ServiceLoadMetricDescription objects. 3546 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3547 :param service_placement_policies: A list that describes the correlation of the service with 3548 other services. 3549 :type service_placement_policies: 3550 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3551 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3552 "Zero", "Low", "Medium", "High". 3553 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3554 :param service_kind: Required. The kind of service (Stateless or Stateful).Constant filled by 3555 server. Possible values include: "Invalid", "Stateless", "Stateful". 3556 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 3557 :param target_replica_set_size: The target replica set size as a number. 3558 :type target_replica_set_size: int 3559 :param min_replica_set_size: The minimum replica set size as a number. 3560 :type min_replica_set_size: int 3561 :param replica_restart_wait_duration: The duration between when a replica goes down and when a 3562 new replica is created, represented in ISO 8601 format (hh:mm:ss.s). 3563 :type replica_restart_wait_duration: ~datetime.datetime 3564 :param quorum_loss_wait_duration: The maximum duration for which a partition is allowed to be 3565 in a state of quorum loss, represented in ISO 8601 format (hh:mm:ss.s). 3566 :type quorum_loss_wait_duration: ~datetime.datetime 3567 :param stand_by_replica_keep_duration: The definition on how long StandBy replicas should be 3568 maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s). 3569 :type stand_by_replica_keep_duration: ~datetime.datetime 3570 """ 3571 3572 _validation = { 3573 'service_kind': {'required': True}, 3574 'target_replica_set_size': {'minimum': 1}, 3575 'min_replica_set_size': {'minimum': 1}, 3576 } 3577 3578 _attribute_map = { 3579 'placement_constraints': {'key': 'placementConstraints', 'type': 'str'}, 3580 'correlation_scheme': {'key': 'correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3581 'service_load_metrics': {'key': 'serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3582 'service_placement_policies': {'key': 'servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3583 'default_move_cost': {'key': 'defaultMoveCost', 'type': 'str'}, 3584 'service_kind': {'key': 'serviceKind', 'type': 'str'}, 3585 'target_replica_set_size': {'key': 'targetReplicaSetSize', 'type': 'int'}, 3586 'min_replica_set_size': {'key': 'minReplicaSetSize', 'type': 'int'}, 3587 'replica_restart_wait_duration': {'key': 'replicaRestartWaitDuration', 'type': 'iso-8601'}, 3588 'quorum_loss_wait_duration': {'key': 'quorumLossWaitDuration', 'type': 'iso-8601'}, 3589 'stand_by_replica_keep_duration': {'key': 'standByReplicaKeepDuration', 'type': 'iso-8601'}, 3590 } 3591 3592 def __init__( 3593 self, 3594 **kwargs 3595 ): 3596 super(StatefulServiceUpdateProperties, self).__init__(**kwargs) 3597 self.service_kind = 'Stateful' # type: str 3598 self.target_replica_set_size = kwargs.get('target_replica_set_size', None) 3599 self.min_replica_set_size = kwargs.get('min_replica_set_size', None) 3600 self.replica_restart_wait_duration = kwargs.get('replica_restart_wait_duration', None) 3601 self.quorum_loss_wait_duration = kwargs.get('quorum_loss_wait_duration', None) 3602 self.stand_by_replica_keep_duration = kwargs.get('stand_by_replica_keep_duration', None) 3603 3604 3605class StatelessServiceProperties(ServiceResourceProperties): 3606 """The properties of a stateless service resource. 3607 3608 Variables are only populated by the server, and will be ignored when sending a request. 3609 3610 All required parameters must be populated in order to send to Azure. 3611 3612 :param placement_constraints: The placement constraints as a string. Placement constraints are 3613 boolean expressions on node properties and allow for restricting a service to particular nodes 3614 based on the service requirements. For example, to place a service on nodes where NodeType is 3615 blue specify the following: "NodeColor == blue)". 3616 :type placement_constraints: str 3617 :param correlation_scheme: A list that describes the correlation of the service with other 3618 services. 3619 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3620 :param service_load_metrics: The service load metrics is given as an array of 3621 ServiceLoadMetricDescription objects. 3622 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3623 :param service_placement_policies: A list that describes the correlation of the service with 3624 other services. 3625 :type service_placement_policies: 3626 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3627 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3628 "Zero", "Low", "Medium", "High". 3629 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3630 :ivar provisioning_state: The current deployment or provisioning state, which only appears in 3631 the response. 3632 :vartype provisioning_state: str 3633 :param service_kind: Required. The kind of service (Stateless or Stateful).Constant filled by 3634 server. Possible values include: "Invalid", "Stateless", "Stateful". 3635 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 3636 :param service_type_name: The name of the service type. 3637 :type service_type_name: str 3638 :param partition_description: Describes how the service is partitioned. 3639 :type partition_description: ~azure.mgmt.servicefabric.models.PartitionSchemeDescription 3640 :param service_package_activation_mode: The activation Mode of the service package. Possible 3641 values include: "SharedProcess", "ExclusiveProcess". 3642 :type service_package_activation_mode: str or 3643 ~azure.mgmt.servicefabric.models.ArmServicePackageActivationMode 3644 :param service_dns_name: Dns name used for the service. If this is specified, then the service 3645 can be accessed via its DNS name instead of service name. 3646 :type service_dns_name: str 3647 :param instance_count: The instance count. 3648 :type instance_count: int 3649 :param instance_close_delay_duration: Delay duration for RequestDrain feature to ensures that 3650 the endpoint advertised by the stateless instance is removed before the delay starts prior to 3651 closing the instance. This delay enables existing requests to drain gracefully before the 3652 instance actually goes down 3653 (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-upgrade-advanced#avoid-connection-drops-during-stateless-service-planned-downtime-preview). 3654 It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it 3655 is interpreted as a number representing the total number of milliseconds. 3656 :type instance_close_delay_duration: str 3657 """ 3658 3659 _validation = { 3660 'provisioning_state': {'readonly': True}, 3661 'service_kind': {'required': True}, 3662 'instance_count': {'minimum': -1}, 3663 } 3664 3665 _attribute_map = { 3666 'placement_constraints': {'key': 'placementConstraints', 'type': 'str'}, 3667 'correlation_scheme': {'key': 'correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3668 'service_load_metrics': {'key': 'serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3669 'service_placement_policies': {'key': 'servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3670 'default_move_cost': {'key': 'defaultMoveCost', 'type': 'str'}, 3671 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 3672 'service_kind': {'key': 'serviceKind', 'type': 'str'}, 3673 'service_type_name': {'key': 'serviceTypeName', 'type': 'str'}, 3674 'partition_description': {'key': 'partitionDescription', 'type': 'PartitionSchemeDescription'}, 3675 'service_package_activation_mode': {'key': 'servicePackageActivationMode', 'type': 'str'}, 3676 'service_dns_name': {'key': 'serviceDnsName', 'type': 'str'}, 3677 'instance_count': {'key': 'instanceCount', 'type': 'int'}, 3678 'instance_close_delay_duration': {'key': 'instanceCloseDelayDuration', 'type': 'str'}, 3679 } 3680 3681 def __init__( 3682 self, 3683 **kwargs 3684 ): 3685 super(StatelessServiceProperties, self).__init__(**kwargs) 3686 self.service_kind = 'Stateless' # type: str 3687 self.instance_count = kwargs.get('instance_count', None) 3688 self.instance_close_delay_duration = kwargs.get('instance_close_delay_duration', None) 3689 3690 3691class StatelessServiceUpdateProperties(ServiceResourceUpdateProperties): 3692 """The properties of a stateless service resource for patch operations. 3693 3694 All required parameters must be populated in order to send to Azure. 3695 3696 :param placement_constraints: The placement constraints as a string. Placement constraints are 3697 boolean expressions on node properties and allow for restricting a service to particular nodes 3698 based on the service requirements. For example, to place a service on nodes where NodeType is 3699 blue specify the following: "NodeColor == blue)". 3700 :type placement_constraints: str 3701 :param correlation_scheme: A list that describes the correlation of the service with other 3702 services. 3703 :type correlation_scheme: list[~azure.mgmt.servicefabric.models.ServiceCorrelationDescription] 3704 :param service_load_metrics: The service load metrics is given as an array of 3705 ServiceLoadMetricDescription objects. 3706 :type service_load_metrics: list[~azure.mgmt.servicefabric.models.ServiceLoadMetricDescription] 3707 :param service_placement_policies: A list that describes the correlation of the service with 3708 other services. 3709 :type service_placement_policies: 3710 list[~azure.mgmt.servicefabric.models.ServicePlacementPolicyDescription] 3711 :param default_move_cost: Specifies the move cost for the service. Possible values include: 3712 "Zero", "Low", "Medium", "High". 3713 :type default_move_cost: str or ~azure.mgmt.servicefabric.models.MoveCost 3714 :param service_kind: Required. The kind of service (Stateless or Stateful).Constant filled by 3715 server. Possible values include: "Invalid", "Stateless", "Stateful". 3716 :type service_kind: str or ~azure.mgmt.servicefabric.models.ServiceKind 3717 :param instance_count: The instance count. 3718 :type instance_count: int 3719 :param instance_close_delay_duration: Delay duration for RequestDrain feature to ensures that 3720 the endpoint advertised by the stateless instance is removed before the delay starts prior to 3721 closing the instance. This delay enables existing requests to drain gracefully before the 3722 instance actually goes down 3723 (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-upgrade-advanced#avoid-connection-drops-during-stateless-service-planned-downtime-preview). 3724 It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it 3725 is interpreted as a number representing the total number of milliseconds. 3726 :type instance_close_delay_duration: str 3727 """ 3728 3729 _validation = { 3730 'service_kind': {'required': True}, 3731 'instance_count': {'minimum': -1}, 3732 } 3733 3734 _attribute_map = { 3735 'placement_constraints': {'key': 'placementConstraints', 'type': 'str'}, 3736 'correlation_scheme': {'key': 'correlationScheme', 'type': '[ServiceCorrelationDescription]'}, 3737 'service_load_metrics': {'key': 'serviceLoadMetrics', 'type': '[ServiceLoadMetricDescription]'}, 3738 'service_placement_policies': {'key': 'servicePlacementPolicies', 'type': '[ServicePlacementPolicyDescription]'}, 3739 'default_move_cost': {'key': 'defaultMoveCost', 'type': 'str'}, 3740 'service_kind': {'key': 'serviceKind', 'type': 'str'}, 3741 'instance_count': {'key': 'instanceCount', 'type': 'int'}, 3742 'instance_close_delay_duration': {'key': 'instanceCloseDelayDuration', 'type': 'str'}, 3743 } 3744 3745 def __init__( 3746 self, 3747 **kwargs 3748 ): 3749 super(StatelessServiceUpdateProperties, self).__init__(**kwargs) 3750 self.service_kind = 'Stateless' # type: str 3751 self.instance_count = kwargs.get('instance_count', None) 3752 self.instance_close_delay_duration = kwargs.get('instance_close_delay_duration', None) 3753 3754 3755class SubResource(msrest.serialization.Model): 3756 """Azure resource identifier. 3757 3758 :param id: Azure resource identifier. 3759 :type id: str 3760 """ 3761 3762 _attribute_map = { 3763 'id': {'key': 'id', 'type': 'str'}, 3764 } 3765 3766 def __init__( 3767 self, 3768 **kwargs 3769 ): 3770 super(SubResource, self).__init__(**kwargs) 3771 self.id = kwargs.get('id', None) 3772 3773 3774class UniformInt64RangePartitionSchemeDescription(PartitionSchemeDescription): 3775 """Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions. 3776 3777 All required parameters must be populated in order to send to Azure. 3778 3779 :param partition_scheme: Required. Specifies how the service is partitioned.Constant filled by 3780 server. Possible values include: "Invalid", "Singleton", "UniformInt64Range", "Named". 3781 :type partition_scheme: str or ~azure.mgmt.servicefabric.models.PartitionScheme 3782 :param count: Required. The number of partitions. 3783 :type count: int 3784 :param low_key: Required. String indicating the lower bound of the partition key range that 3785 should be split between the partition ‘count’. 3786 :type low_key: str 3787 :param high_key: Required. String indicating the upper bound of the partition key range that 3788 should be split between the partition ‘count’. 3789 :type high_key: str 3790 """ 3791 3792 _validation = { 3793 'partition_scheme': {'required': True}, 3794 'count': {'required': True}, 3795 'low_key': {'required': True}, 3796 'high_key': {'required': True}, 3797 } 3798 3799 _attribute_map = { 3800 'partition_scheme': {'key': 'partitionScheme', 'type': 'str'}, 3801 'count': {'key': 'count', 'type': 'int'}, 3802 'low_key': {'key': 'lowKey', 'type': 'str'}, 3803 'high_key': {'key': 'highKey', 'type': 'str'}, 3804 } 3805 3806 def __init__( 3807 self, 3808 **kwargs 3809 ): 3810 super(UniformInt64RangePartitionSchemeDescription, self).__init__(**kwargs) 3811 self.partition_scheme = 'UniformInt64Range' # type: str 3812 self.count = kwargs['count'] 3813 self.low_key = kwargs['low_key'] 3814 self.high_key = kwargs['high_key'] 3815 3816 3817class UserAssignedIdentity(msrest.serialization.Model): 3818 """UserAssignedIdentity. 3819 3820 Variables are only populated by the server, and will be ignored when sending a request. 3821 3822 :ivar principal_id: The principal id of user assigned identity. 3823 :vartype principal_id: str 3824 :ivar client_id: The client id of user assigned identity. 3825 :vartype client_id: str 3826 """ 3827 3828 _validation = { 3829 'principal_id': {'readonly': True}, 3830 'client_id': {'readonly': True}, 3831 } 3832 3833 _attribute_map = { 3834 'principal_id': {'key': 'principalId', 'type': 'str'}, 3835 'client_id': {'key': 'clientId', 'type': 'str'}, 3836 } 3837 3838 def __init__( 3839 self, 3840 **kwargs 3841 ): 3842 super(UserAssignedIdentity, self).__init__(**kwargs) 3843 self.principal_id = None 3844 self.client_id = None 3845 3846 3847class VaultCertificate(msrest.serialization.Model): 3848 """Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. 3849 3850 All required parameters must be populated in order to send to Azure. 3851 3852 :param certificate_url: Required. This is the URL of a certificate that has been uploaded to 3853 Key Vault as a secret. For adding a secret to the Key Vault, see `Add a key or secret to the 3854 key vault <https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add>`_. In this 3855 case, your certificate needs to be It is the Base64 encoding of the following JSON Object which 3856 is encoded in UTF-8: :code:`<br>`:code:`<br>` {:code:`<br>` 3857 "data":":code:`<Base64-encoded-certificate>`",:code:`<br>` "dataType":"pfx",:code:`<br>` 3858 "password":":code:`<pfx-file-password>`":code:`<br>`}. 3859 :type certificate_url: str 3860 :param certificate_store: Required. For Windows VMs, specifies the certificate store on the 3861 Virtual Machine to which the certificate should be added. The specified certificate store is 3862 implicitly in the LocalMachine account. :code:`<br>`:code:`<br>`For Linux VMs, the certificate 3863 file is placed under the /var/lib/waagent directory, with the file name 3864 :code:`<UppercaseThumbprint>`.crt for the X509 certificate file and 3865 :code:`<UppercaseThumbprint>`.prv for private key. Both of these files are .pem formatted. 3866 :type certificate_store: str 3867 """ 3868 3869 _validation = { 3870 'certificate_url': {'required': True}, 3871 'certificate_store': {'required': True}, 3872 } 3873 3874 _attribute_map = { 3875 'certificate_url': {'key': 'certificateUrl', 'type': 'str'}, 3876 'certificate_store': {'key': 'certificateStore', 'type': 'str'}, 3877 } 3878 3879 def __init__( 3880 self, 3881 **kwargs 3882 ): 3883 super(VaultCertificate, self).__init__(**kwargs) 3884 self.certificate_url = kwargs['certificate_url'] 3885 self.certificate_store = kwargs['certificate_store'] 3886 3887 3888class VaultSecretGroup(msrest.serialization.Model): 3889 """Specifies set of certificates that should be installed onto the virtual machines. 3890 3891 All required parameters must be populated in order to send to Azure. 3892 3893 :param source_vault: Required. The relative URL of the Key Vault containing all of the 3894 certificates in VaultCertificates. 3895 :type source_vault: ~azure.mgmt.servicefabric.models.SubResource 3896 :param vault_certificates: Required. The list of key vault references in SourceVault which 3897 contain certificates. 3898 :type vault_certificates: list[~azure.mgmt.servicefabric.models.VaultCertificate] 3899 """ 3900 3901 _validation = { 3902 'source_vault': {'required': True}, 3903 'vault_certificates': {'required': True}, 3904 } 3905 3906 _attribute_map = { 3907 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 3908 'vault_certificates': {'key': 'vaultCertificates', 'type': '[VaultCertificate]'}, 3909 } 3910 3911 def __init__( 3912 self, 3913 **kwargs 3914 ): 3915 super(VaultSecretGroup, self).__init__(**kwargs) 3916 self.source_vault = kwargs['source_vault'] 3917 self.vault_certificates = kwargs['vault_certificates'] 3918 3919 3920class VMSSExtension(msrest.serialization.Model): 3921 """Specifies set of extensions that should be installed onto the virtual machines. 3922 3923 Variables are only populated by the server, and will be ignored when sending a request. 3924 3925 All required parameters must be populated in order to send to Azure. 3926 3927 :param name: Required. The name of the extension. 3928 :type name: str 3929 :param publisher: Required. The name of the extension handler publisher. 3930 :type publisher: str 3931 :param type: Required. Specifies the type of the extension; an example is 3932 "CustomScriptExtension". 3933 :type type: str 3934 :param type_handler_version: Required. Specifies the version of the script handler. 3935 :type type_handler_version: str 3936 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 3937 version if one is available at deployment time. Once deployed, however, the extension will not 3938 upgrade minor versions unless redeployed, even with this property set to true. 3939 :type auto_upgrade_minor_version: bool 3940 :param settings: Json formatted public settings for the extension. 3941 :type settings: any 3942 :param protected_settings: The extension can contain either protectedSettings or 3943 protectedSettingsFromKeyVault or no protected settings at all. 3944 :type protected_settings: any 3945 :param force_update_tag: If a value is provided and is different from the previous value, the 3946 extension handler will be forced to update even if the extension configuration has not changed. 3947 :type force_update_tag: str 3948 :param provision_after_extensions: Collection of extension names after which this extension 3949 needs to be provisioned. 3950 :type provision_after_extensions: list[str] 3951 :ivar provisioning_state: The provisioning state, which only appears in the response. 3952 :vartype provisioning_state: str 3953 """ 3954 3955 _validation = { 3956 'name': {'required': True}, 3957 'publisher': {'required': True}, 3958 'type': {'required': True}, 3959 'type_handler_version': {'required': True}, 3960 'provisioning_state': {'readonly': True}, 3961 } 3962 3963 _attribute_map = { 3964 'name': {'key': 'name', 'type': 'str'}, 3965 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 3966 'type': {'key': 'properties.type', 'type': 'str'}, 3967 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 3968 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 3969 'settings': {'key': 'properties.settings', 'type': 'object'}, 3970 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 3971 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 3972 'provision_after_extensions': {'key': 'properties.provisionAfterExtensions', 'type': '[str]'}, 3973 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3974 } 3975 3976 def __init__( 3977 self, 3978 **kwargs 3979 ): 3980 super(VMSSExtension, self).__init__(**kwargs) 3981 self.name = kwargs['name'] 3982 self.publisher = kwargs['publisher'] 3983 self.type = kwargs['type'] 3984 self.type_handler_version = kwargs['type_handler_version'] 3985 self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None) 3986 self.settings = kwargs.get('settings', None) 3987 self.protected_settings = kwargs.get('protected_settings', None) 3988 self.force_update_tag = kwargs.get('force_update_tag', None) 3989 self.provision_after_extensions = kwargs.get('provision_after_extensions', None) 3990 self.provisioning_state = None 3991