azure_mgmt_service_fabric 0.15.2 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2016-09-01/generated/azure_mgmt_service_fabric/cluster_versions.rb +51 -44
  3. data/lib/2016-09-01/generated/azure_mgmt_service_fabric/clusters.rb +62 -58
  4. data/lib/2016-09-01/generated/azure_mgmt_service_fabric/operations.rb +15 -13
  5. data/lib/2016-09-01/generated/azure_mgmt_service_fabric/service_fabric_management_client.rb +4 -1
  6. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric.rb +91 -0
  7. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/application.rb +691 -0
  8. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/application_type.rb +487 -0
  9. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/cluster_versions.rb +471 -0
  10. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/clusters.rb +778 -0
  11. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_health_policy.rb +104 -0
  12. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_metric_description.rb +113 -0
  13. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_parameter.rb +58 -0
  14. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_resource.rb +206 -0
  15. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_resource_list.rb +55 -0
  16. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_resource_update.rb +182 -0
  17. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_type_resource.rb +83 -0
  18. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_type_resource_list.rb +55 -0
  19. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/application_upgrade_policy.rb +81 -0
  20. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/available_operation_display.rb +79 -0
  21. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/azure_active_directory.rb +68 -0
  22. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/certificate_description.rb +70 -0
  23. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/client_certificate_common_name.rb +70 -0
  24. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/client_certificate_thumbprint.rb +59 -0
  25. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster.rb +398 -0
  26. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_code_versions_list_result.rb +66 -0
  27. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_code_versions_result.rb +102 -0
  28. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_health_policy.rb +70 -0
  29. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_list_result.rb +66 -0
  30. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_update_parameters.rb +246 -0
  31. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_upgrade_delta_health_policy.rb +97 -0
  32. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_upgrade_policy.rb +156 -0
  33. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/cluster_version_details.rb +69 -0
  34. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/diagnostics_storage_account_config.rb +91 -0
  35. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/endpoint_range_description.rb +57 -0
  36. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/error_model.rb +57 -0
  37. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/named_partition_scheme_description.rb +81 -0
  38. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/node_type_description.rb +189 -0
  39. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/operation_list_result.rb +101 -0
  40. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/operation_result.rb +81 -0
  41. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/partition_scheme_description.rb +48 -0
  42. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/provisioning_state.rb +18 -0
  43. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/proxy_resource.rb +82 -0
  44. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/resource.rb +101 -0
  45. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/rolling_upgrade_monitoring_policy.rb +90 -0
  46. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_correlation_description.rb +58 -0
  47. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_load_metric_description.rb +98 -0
  48. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_placement_policy_description.rb +46 -0
  49. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_properties.rb +151 -0
  50. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_properties_base.rb +123 -0
  51. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_resource.rb +207 -0
  52. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_resource_list.rb +55 -0
  53. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_resource_update.rb +169 -0
  54. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_type_delta_health_policy.rb +51 -0
  55. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_type_health_policy.rb +108 -0
  56. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_type_health_policy_map_item.rb +60 -0
  57. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/service_update_properties.rb +113 -0
  58. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/settings_parameter_description.rb +57 -0
  59. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/settings_section_description.rb +67 -0
  60. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/singleton_partition_scheme_description.rb +51 -0
  61. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/stateful_service_properties.rb +227 -0
  62. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/stateful_service_update_properties.rb +186 -0
  63. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/stateless_service_properties.rb +161 -0
  64. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/stateless_service_update_properties.rb +133 -0
  65. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/uniform_int64range_partition_scheme_description.rb +91 -0
  66. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/version_resource.rb +115 -0
  67. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/version_resource_list.rb +55 -0
  68. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/module_definition.rb +9 -0
  69. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/operations.rb +230 -0
  70. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/service.rb +735 -0
  71. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/service_fabric_management_client.rb +147 -0
  72. data/lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/version.rb +559 -0
  73. data/lib/azure_mgmt_service_fabric.rb +1 -0
  74. data/lib/profiles/latest/modules/servicefabric_profile_module.rb +269 -114
  75. data/lib/profiles/latest/servicefabric_latest_profile_client.rb +28 -9
  76. data/lib/profiles/latest/servicefabric_module_definition.rb +0 -1
  77. data/lib/version.rb +1 -1
  78. metadata +70 -3
@@ -0,0 +1,104 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ServiceFabric::Mgmt::V2017_07_01_preview
7
+ module Models
8
+ #
9
+ # Defines a health policy used to evaluate the health of an application or
10
+ # one of its children entities.
11
+ #
12
+ #
13
+ class ApplicationHealthPolicy
14
+
15
+ include MsRestAzure
16
+
17
+ # @return [Boolean] Indicates whether warnings are treated with the same
18
+ # severity as errors. Default value: false .
19
+ attr_accessor :consider_warning_as_error
20
+
21
+ # @return [Integer] The maximum allowed percentage of unhealthy deployed
22
+ # applications. Allowed values are Byte values from zero to 100.
23
+ # The percentage represents the maximum tolerated percentage of deployed
24
+ # applications that can be unhealthy before the application is considered
25
+ # in error.
26
+ # This is calculated by dividing the number of unhealthy deployed
27
+ # applications over the number of nodes where the application is
28
+ # currently deployed on in the cluster.
29
+ # The computation rounds up to tolerate one failure on small numbers of
30
+ # nodes. Default percentage is zero.
31
+ # . Default value: 0 .
32
+ attr_accessor :max_percent_unhealthy_deployed_applications
33
+
34
+ # @return [ServiceTypeHealthPolicy]
35
+ attr_accessor :default_service_type_health_policy
36
+
37
+ # @return [Array<ServiceTypeHealthPolicyMapItem>]
38
+ attr_accessor :service_type_health_policy_map
39
+
40
+
41
+ #
42
+ # Mapper for ApplicationHealthPolicy class as Ruby Hash.
43
+ # This will be used for serialization/deserialization.
44
+ #
45
+ def self.mapper()
46
+ {
47
+ client_side_validation: true,
48
+ required: false,
49
+ serialized_name: 'ApplicationHealthPolicy',
50
+ type: {
51
+ name: 'Composite',
52
+ class_name: 'ApplicationHealthPolicy',
53
+ model_properties: {
54
+ consider_warning_as_error: {
55
+ client_side_validation: true,
56
+ required: false,
57
+ serialized_name: 'ConsiderWarningAsError',
58
+ default_value: false,
59
+ type: {
60
+ name: 'Boolean'
61
+ }
62
+ },
63
+ max_percent_unhealthy_deployed_applications: {
64
+ client_side_validation: true,
65
+ required: false,
66
+ serialized_name: 'MaxPercentUnhealthyDeployedApplications',
67
+ default_value: 0,
68
+ type: {
69
+ name: 'Number'
70
+ }
71
+ },
72
+ default_service_type_health_policy: {
73
+ client_side_validation: true,
74
+ required: false,
75
+ serialized_name: 'DefaultServiceTypeHealthPolicy',
76
+ type: {
77
+ name: 'Composite',
78
+ class_name: 'ServiceTypeHealthPolicy'
79
+ }
80
+ },
81
+ service_type_health_policy_map: {
82
+ client_side_validation: true,
83
+ required: false,
84
+ serialized_name: 'ServiceTypeHealthPolicyMap',
85
+ type: {
86
+ name: 'Sequence',
87
+ element: {
88
+ client_side_validation: true,
89
+ required: false,
90
+ serialized_name: 'ServiceTypeHealthPolicyMapItemElementType',
91
+ type: {
92
+ name: 'Composite',
93
+ class_name: 'ServiceTypeHealthPolicyMapItem'
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,113 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ServiceFabric::Mgmt::V2017_07_01_preview
7
+ module Models
8
+ #
9
+ # Describes capacity information for a custom resource balancing metric.
10
+ # This can be used to limit the total consumption of this metric by the
11
+ # services of this application.
12
+ #
13
+ #
14
+ class ApplicationMetricDescription
15
+
16
+ include MsRestAzure
17
+
18
+ # @return [String] The name of the metric.
19
+ attr_accessor :name
20
+
21
+ # @return [Integer] The maximum node capacity for Service Fabric
22
+ # application.
23
+ # This is the maximum Load for an instance of this application on a
24
+ # single node. Even if the capacity of node is greater than this value,
25
+ # Service Fabric will limit the total load of services within the
26
+ # application on each node to this value.
27
+ # If set to zero, capacity for this metric is unlimited on each node.
28
+ # When creating a new application with application capacity defined, the
29
+ # product of MaximumNodes and this value must always be smaller than or
30
+ # equal to TotalApplicationCapacity.
31
+ # When updating existing application with application capacity, the
32
+ # product of MaximumNodes and this value must always be smaller than or
33
+ # equal to TotalApplicationCapacity.
34
+ #
35
+ attr_accessor :maximum_capacity
36
+
37
+ # @return [Integer] The node reservation capacity for Service Fabric
38
+ # application.
39
+ # This is the amount of load which is reserved on nodes which have
40
+ # instances of this application.
41
+ # If MinimumNodes is specified, then the product of these values will be
42
+ # the capacity reserved in the cluster for the application.
43
+ # If set to zero, no capacity is reserved for this metric.
44
+ # When setting application capacity or when updating application
45
+ # capacity; this value must be smaller than or equal to MaximumCapacity
46
+ # for each metric.
47
+ #
48
+ attr_accessor :reservation_capacity
49
+
50
+ # @return [Integer] The total metric capacity for Service Fabric
51
+ # application.
52
+ # This is the total metric capacity for this application in the cluster.
53
+ # Service Fabric will try to limit the sum of loads of services within
54
+ # the application to this value.
55
+ # When creating a new application with application capacity defined, the
56
+ # product of MaximumNodes and MaximumCapacity must always be smaller than
57
+ # or equal to this value.
58
+ #
59
+ attr_accessor :total_application_capacity
60
+
61
+
62
+ #
63
+ # Mapper for ApplicationMetricDescription class as Ruby Hash.
64
+ # This will be used for serialization/deserialization.
65
+ #
66
+ def self.mapper()
67
+ {
68
+ client_side_validation: true,
69
+ required: false,
70
+ serialized_name: 'ApplicationMetricDescription',
71
+ type: {
72
+ name: 'Composite',
73
+ class_name: 'ApplicationMetricDescription',
74
+ model_properties: {
75
+ name: {
76
+ client_side_validation: true,
77
+ required: false,
78
+ serialized_name: 'Name',
79
+ type: {
80
+ name: 'String'
81
+ }
82
+ },
83
+ maximum_capacity: {
84
+ client_side_validation: true,
85
+ required: false,
86
+ serialized_name: 'MaximumCapacity',
87
+ type: {
88
+ name: 'Number'
89
+ }
90
+ },
91
+ reservation_capacity: {
92
+ client_side_validation: true,
93
+ required: false,
94
+ serialized_name: 'ReservationCapacity',
95
+ type: {
96
+ name: 'Number'
97
+ }
98
+ },
99
+ total_application_capacity: {
100
+ client_side_validation: true,
101
+ required: false,
102
+ serialized_name: 'TotalApplicationCapacity',
103
+ type: {
104
+ name: 'Number'
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,58 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ServiceFabric::Mgmt::V2017_07_01_preview
7
+ module Models
8
+ #
9
+ # Describes an application parameter override to be applied when creating
10
+ # or upgrading an application.
11
+ #
12
+ class ApplicationParameter
13
+
14
+ include MsRestAzure
15
+
16
+ # @return [String] The name of the parameter.
17
+ attr_accessor :key
18
+
19
+ # @return [String] The value of the parameter.
20
+ attr_accessor :value
21
+
22
+
23
+ #
24
+ # Mapper for ApplicationParameter class as Ruby Hash.
25
+ # This will be used for serialization/deserialization.
26
+ #
27
+ def self.mapper()
28
+ {
29
+ client_side_validation: true,
30
+ required: false,
31
+ serialized_name: 'ApplicationParameter',
32
+ type: {
33
+ name: 'Composite',
34
+ class_name: 'ApplicationParameter',
35
+ model_properties: {
36
+ key: {
37
+ client_side_validation: true,
38
+ required: true,
39
+ serialized_name: 'Key',
40
+ type: {
41
+ name: 'String'
42
+ }
43
+ },
44
+ value: {
45
+ client_side_validation: true,
46
+ required: true,
47
+ serialized_name: 'Value',
48
+ type: {
49
+ name: 'String'
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,206 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ServiceFabric::Mgmt::V2017_07_01_preview
7
+ module Models
8
+ #
9
+ # The application resource.
10
+ #
11
+ class ApplicationResource < ProxyResource
12
+
13
+ include MsRestAzure
14
+
15
+ # @return [String]
16
+ attr_accessor :type_version
17
+
18
+ # @return [Array<ApplicationParameter>]
19
+ attr_accessor :parameters
20
+
21
+ # @return [ApplicationUpgradePolicy]
22
+ attr_accessor :upgrade_policy
23
+
24
+ # @return [Integer] The minimum number of nodes where Service Fabric will
25
+ # reserve capacity for this application. Note that this does not mean
26
+ # that the services of this application will be placed on all of those
27
+ # nodes. If this property is set to zero, no capacity will be reserved.
28
+ # The value of this property cannot be more than the value of the
29
+ # MaximumNodes property.
30
+ attr_accessor :minimum_nodes
31
+
32
+ # @return [Integer] The maximum number of nodes where Service Fabric will
33
+ # reserve capacity for this application. Note that this does not mean
34
+ # that the services of this application will be placed on all of those
35
+ # nodes. By default, the value of this property is zero and it means that
36
+ # the services can be placed on any node. Default value: 0 .
37
+ attr_accessor :maximum_nodes
38
+
39
+ # @return [Boolean] The version of the application type
40
+ attr_accessor :remove_application_capacity
41
+
42
+ # @return [Array<ApplicationMetricDescription>]
43
+ attr_accessor :metrics
44
+
45
+ # @return [String] The current deployment or provisioning state, which
46
+ # only appears in the response
47
+ attr_accessor :provisioning_state
48
+
49
+ # @return [String]
50
+ attr_accessor :type_name
51
+
52
+
53
+ #
54
+ # Mapper for ApplicationResource class as Ruby Hash.
55
+ # This will be used for serialization/deserialization.
56
+ #
57
+ def self.mapper()
58
+ {
59
+ client_side_validation: true,
60
+ required: false,
61
+ serialized_name: 'ApplicationResource',
62
+ type: {
63
+ name: 'Composite',
64
+ class_name: 'ApplicationResource',
65
+ model_properties: {
66
+ id: {
67
+ client_side_validation: true,
68
+ required: false,
69
+ read_only: true,
70
+ serialized_name: 'id',
71
+ type: {
72
+ name: 'String'
73
+ }
74
+ },
75
+ name: {
76
+ client_side_validation: true,
77
+ required: false,
78
+ read_only: true,
79
+ serialized_name: 'name',
80
+ type: {
81
+ name: 'String'
82
+ }
83
+ },
84
+ type: {
85
+ client_side_validation: true,
86
+ required: false,
87
+ read_only: true,
88
+ serialized_name: 'type',
89
+ type: {
90
+ name: 'String'
91
+ }
92
+ },
93
+ location: {
94
+ client_side_validation: true,
95
+ required: true,
96
+ serialized_name: 'location',
97
+ type: {
98
+ name: 'String'
99
+ }
100
+ },
101
+ type_version: {
102
+ client_side_validation: true,
103
+ required: false,
104
+ serialized_name: 'properties.typeVersion',
105
+ type: {
106
+ name: 'String'
107
+ }
108
+ },
109
+ parameters: {
110
+ client_side_validation: true,
111
+ required: false,
112
+ serialized_name: 'properties.parameters',
113
+ type: {
114
+ name: 'Sequence',
115
+ element: {
116
+ client_side_validation: true,
117
+ required: false,
118
+ serialized_name: 'ApplicationParameterElementType',
119
+ type: {
120
+ name: 'Composite',
121
+ class_name: 'ApplicationParameter'
122
+ }
123
+ }
124
+ }
125
+ },
126
+ upgrade_policy: {
127
+ client_side_validation: true,
128
+ required: false,
129
+ serialized_name: 'properties.upgradePolicy',
130
+ type: {
131
+ name: 'Composite',
132
+ class_name: 'ApplicationUpgradePolicy'
133
+ }
134
+ },
135
+ minimum_nodes: {
136
+ client_side_validation: true,
137
+ required: false,
138
+ serialized_name: 'properties.minimumNodes',
139
+ constraints: {
140
+ InclusiveMinimum: 0
141
+ },
142
+ type: {
143
+ name: 'Number'
144
+ }
145
+ },
146
+ maximum_nodes: {
147
+ client_side_validation: true,
148
+ required: false,
149
+ serialized_name: 'properties.maximumNodes',
150
+ default_value: 0,
151
+ constraints: {
152
+ InclusiveMinimum: 0
153
+ },
154
+ type: {
155
+ name: 'Number'
156
+ }
157
+ },
158
+ remove_application_capacity: {
159
+ client_side_validation: true,
160
+ required: false,
161
+ serialized_name: 'properties.removeApplicationCapacity',
162
+ type: {
163
+ name: 'Boolean'
164
+ }
165
+ },
166
+ metrics: {
167
+ client_side_validation: true,
168
+ required: false,
169
+ serialized_name: 'properties.metrics',
170
+ type: {
171
+ name: 'Sequence',
172
+ element: {
173
+ client_side_validation: true,
174
+ required: false,
175
+ serialized_name: 'ApplicationMetricDescriptionElementType',
176
+ type: {
177
+ name: 'Composite',
178
+ class_name: 'ApplicationMetricDescription'
179
+ }
180
+ }
181
+ }
182
+ },
183
+ provisioning_state: {
184
+ client_side_validation: true,
185
+ required: false,
186
+ read_only: true,
187
+ serialized_name: 'properties.provisioningState',
188
+ type: {
189
+ name: 'String'
190
+ }
191
+ },
192
+ type_name: {
193
+ client_side_validation: true,
194
+ required: false,
195
+ serialized_name: 'properties.typeName',
196
+ type: {
197
+ name: 'String'
198
+ }
199
+ }
200
+ }
201
+ }
202
+ }
203
+ end
204
+ end
205
+ end
206
+ end