azure_mgmt_insights 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/lib/azure_mgmt_insights.rb +5 -0
- data/lib/generated/azure_mgmt_insights.rb +77 -0
- data/lib/generated/azure_mgmt_insights/alert_rule_incidents.rb +121 -0
- data/lib/generated/azure_mgmt_insights/alert_rules.rb +410 -0
- data/lib/generated/azure_mgmt_insights/autoscale_settings.rb +521 -0
- data/lib/generated/azure_mgmt_insights/incidents.rb +117 -0
- data/lib/generated/azure_mgmt_insights/insights_management_client.rb +147 -0
- data/lib/generated/azure_mgmt_insights/log_profiles.rb +375 -0
- data/lib/generated/azure_mgmt_insights/models/alert_rule_resource.rb +156 -0
- data/lib/generated/azure_mgmt_insights/models/alert_rule_resource_collection.rb +53 -0
- data/lib/generated/azure_mgmt_insights/models/autoscale_notification.rb +77 -0
- data/lib/generated/azure_mgmt_insights/models/autoscale_profile.rb +100 -0
- data/lib/generated/azure_mgmt_insights/models/autoscale_setting_resource.rb +152 -0
- data/lib/generated/azure_mgmt_insights/models/autoscale_setting_resource_collection.rb +94 -0
- data/lib/generated/azure_mgmt_insights/models/comparison_operation_type.rb +20 -0
- data/lib/generated/azure_mgmt_insights/models/condition_operator.rb +18 -0
- data/lib/generated/azure_mgmt_insights/models/email_notification.rb +73 -0
- data/lib/generated/azure_mgmt_insights/models/incident.rb +92 -0
- data/lib/generated/azure_mgmt_insights/models/incident_list_result.rb +52 -0
- data/lib/generated/azure_mgmt_insights/models/location_threshold_rule_condition.rb +85 -0
- data/lib/generated/azure_mgmt_insights/models/log_profile_collection.rb +52 -0
- data/lib/generated/azure_mgmt_insights/models/log_profile_create_or_update_parameters.rb +99 -0
- data/lib/generated/azure_mgmt_insights/models/log_profile_resource.rb +143 -0
- data/lib/generated/azure_mgmt_insights/models/log_settings.rb +66 -0
- data/lib/generated/azure_mgmt_insights/models/management_event_aggregation_condition.rb +69 -0
- data/lib/generated/azure_mgmt_insights/models/management_event_rule_condition.rb +74 -0
- data/lib/generated/azure_mgmt_insights/models/metric_settings.rb +66 -0
- data/lib/generated/azure_mgmt_insights/models/metric_statistic_type.rb +18 -0
- data/lib/generated/azure_mgmt_insights/models/metric_trigger.rb +133 -0
- data/lib/generated/azure_mgmt_insights/models/recurrence.rb +61 -0
- data/lib/generated/azure_mgmt_insights/models/recurrence_frequency.rb +22 -0
- data/lib/generated/azure_mgmt_insights/models/recurrent_schedule.rb +101 -0
- data/lib/generated/azure_mgmt_insights/models/retention_policy.rb +55 -0
- data/lib/generated/azure_mgmt_insights/models/rule_action.rb +47 -0
- data/lib/generated/azure_mgmt_insights/models/rule_condition.rb +47 -0
- data/lib/generated/azure_mgmt_insights/models/rule_data_source.rb +46 -0
- data/lib/generated/azure_mgmt_insights/models/rule_email_action.rb +78 -0
- data/lib/generated/azure_mgmt_insights/models/rule_management_event_claims_data_source.rb +44 -0
- data/lib/generated/azure_mgmt_insights/models/rule_management_event_data_source.rb +151 -0
- data/lib/generated/azure_mgmt_insights/models/rule_metric_data_source.rb +70 -0
- data/lib/generated/azure_mgmt_insights/models/rule_webhook_action.rb +77 -0
- data/lib/generated/azure_mgmt_insights/models/scale_action.rb +85 -0
- data/lib/generated/azure_mgmt_insights/models/scale_capacity.rb +67 -0
- data/lib/generated/azure_mgmt_insights/models/scale_direction.rb +17 -0
- data/lib/generated/azure_mgmt_insights/models/scale_rule.rb +57 -0
- data/lib/generated/azure_mgmt_insights/models/service_diagnostic_settings_create_or_update_parameters.rb +101 -0
- data/lib/generated/azure_mgmt_insights/models/service_diagnostic_settings_resource.rb +144 -0
- data/lib/generated/azure_mgmt_insights/models/threshold_rule_condition.rb +111 -0
- data/lib/generated/azure_mgmt_insights/models/time_aggregation_operator.rb +19 -0
- data/lib/generated/azure_mgmt_insights/models/time_aggregation_type.rb +19 -0
- data/lib/generated/azure_mgmt_insights/models/time_window.rb +67 -0
- data/lib/generated/azure_mgmt_insights/models/webhook_notification.rb +61 -0
- data/lib/generated/azure_mgmt_insights/module_definition.rb +8 -0
- data/lib/generated/azure_mgmt_insights/service_diagnostic_settings_operations.rb +216 -0
- data/lib/generated/azure_mgmt_insights/version.rb +8 -0
- metadata +169 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Insights
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# The action that is performed when the alert rule becomes active, and when
|
10
|
+
# an alert condition is resolved.
|
11
|
+
#
|
12
|
+
class RuleAction
|
13
|
+
|
14
|
+
include MsRestAzure
|
15
|
+
|
16
|
+
@@discriminatorMap = Hash.new
|
17
|
+
@@discriminatorMap["Microsoft.Azure.Management.Insights.Models.RuleEmailAction"] = "RuleEmailAction"
|
18
|
+
@@discriminatorMap["Microsoft.Azure.Management.Insights.Models.RuleWebhookAction"] = "RuleWebhookAction"
|
19
|
+
|
20
|
+
def initialize
|
21
|
+
@odata.type = "RuleAction"
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_accessor :odata.type
|
25
|
+
|
26
|
+
|
27
|
+
#
|
28
|
+
# Mapper for RuleAction class as Ruby Hash.
|
29
|
+
# This will be used for serialization/deserialization.
|
30
|
+
#
|
31
|
+
def self.mapper()
|
32
|
+
{
|
33
|
+
required: false,
|
34
|
+
serialized_name: 'RuleAction',
|
35
|
+
type: {
|
36
|
+
name: 'Composite',
|
37
|
+
polymorphic_discriminator: 'odata.type',
|
38
|
+
uber_parent: 'RuleAction',
|
39
|
+
class_name: 'RuleAction',
|
40
|
+
model_properties: {
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Insights
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# The condition that results in the alert rule being activated.
|
10
|
+
#
|
11
|
+
class RuleCondition
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
@@discriminatorMap = Hash.new
|
16
|
+
@@discriminatorMap["Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition"] = "ThresholdRuleCondition"
|
17
|
+
@@discriminatorMap["Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition"] = "LocationThresholdRuleCondition"
|
18
|
+
@@discriminatorMap["Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition"] = "ManagementEventRuleCondition"
|
19
|
+
|
20
|
+
def initialize
|
21
|
+
@odata.type = "RuleCondition"
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_accessor :odata.type
|
25
|
+
|
26
|
+
|
27
|
+
#
|
28
|
+
# Mapper for RuleCondition class as Ruby Hash.
|
29
|
+
# This will be used for serialization/deserialization.
|
30
|
+
#
|
31
|
+
def self.mapper()
|
32
|
+
{
|
33
|
+
required: false,
|
34
|
+
serialized_name: 'RuleCondition',
|
35
|
+
type: {
|
36
|
+
name: 'Composite',
|
37
|
+
polymorphic_discriminator: 'odata.type',
|
38
|
+
uber_parent: 'RuleCondition',
|
39
|
+
class_name: 'RuleCondition',
|
40
|
+
model_properties: {
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Insights
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# The resource from which the rule collects its data.
|
10
|
+
#
|
11
|
+
class RuleDataSource
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
@@discriminatorMap = Hash.new
|
16
|
+
@@discriminatorMap["Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource"] = "RuleMetricDataSource"
|
17
|
+
@@discriminatorMap["Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource"] = "RuleManagementEventDataSource"
|
18
|
+
|
19
|
+
def initialize
|
20
|
+
@odata.type = "RuleDataSource"
|
21
|
+
end
|
22
|
+
|
23
|
+
attr_accessor :odata.type
|
24
|
+
|
25
|
+
|
26
|
+
#
|
27
|
+
# Mapper for RuleDataSource class as Ruby Hash.
|
28
|
+
# This will be used for serialization/deserialization.
|
29
|
+
#
|
30
|
+
def self.mapper()
|
31
|
+
{
|
32
|
+
required: false,
|
33
|
+
serialized_name: 'RuleDataSource',
|
34
|
+
type: {
|
35
|
+
name: 'Composite',
|
36
|
+
polymorphic_discriminator: 'odata.type',
|
37
|
+
uber_parent: 'RuleDataSource',
|
38
|
+
class_name: 'RuleDataSource',
|
39
|
+
model_properties: {
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Insights
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# Specifies the action to send email when the rule condition is evaluated.
|
10
|
+
#
|
11
|
+
class RuleEmailAction < RuleAction
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
|
16
|
+
def initialize
|
17
|
+
@odata.type = "Microsoft.Azure.Management.Insights.Models.RuleEmailAction"
|
18
|
+
end
|
19
|
+
|
20
|
+
attr_accessor :odata.type
|
21
|
+
|
22
|
+
# @return [Boolean] the flag to send e-mails to the service owners.
|
23
|
+
# Whether the administrators (service and co-adiminstrators) of the
|
24
|
+
# service should be notified when the alert is activated.
|
25
|
+
attr_accessor :send_to_service_owners
|
26
|
+
|
27
|
+
# @return [Array<String>] the list of administrator's custom email
|
28
|
+
# addresses notifiy of the activation of the alert.
|
29
|
+
attr_accessor :custom_emails
|
30
|
+
|
31
|
+
|
32
|
+
#
|
33
|
+
# Mapper for RuleEmailAction class as Ruby Hash.
|
34
|
+
# This will be used for serialization/deserialization.
|
35
|
+
#
|
36
|
+
def self.mapper()
|
37
|
+
{
|
38
|
+
required: false,
|
39
|
+
serialized_name: 'Microsoft.Azure.Management.Insights.Models.RuleEmailAction',
|
40
|
+
type: {
|
41
|
+
name: 'Composite',
|
42
|
+
class_name: 'RuleEmailAction',
|
43
|
+
model_properties: {
|
44
|
+
odata.type: {
|
45
|
+
required: true,
|
46
|
+
serialized_name: 'odata.type',
|
47
|
+
type: {
|
48
|
+
name: 'String'
|
49
|
+
}
|
50
|
+
},
|
51
|
+
send_to_service_owners: {
|
52
|
+
required: false,
|
53
|
+
serialized_name: 'sendToServiceOwners',
|
54
|
+
type: {
|
55
|
+
name: 'Boolean'
|
56
|
+
}
|
57
|
+
},
|
58
|
+
custom_emails: {
|
59
|
+
required: false,
|
60
|
+
serialized_name: 'customEmails',
|
61
|
+
type: {
|
62
|
+
name: 'Sequence',
|
63
|
+
element: {
|
64
|
+
required: false,
|
65
|
+
serialized_name: 'StringElementType',
|
66
|
+
type: {
|
67
|
+
name: 'String'
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Insights
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# The claims for a rule management event data source.
|
10
|
+
#
|
11
|
+
class RuleManagementEventClaimsDataSource
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
# @return [String] the email address.
|
16
|
+
attr_accessor :email_address
|
17
|
+
|
18
|
+
|
19
|
+
#
|
20
|
+
# Mapper for RuleManagementEventClaimsDataSource class as Ruby Hash.
|
21
|
+
# This will be used for serialization/deserialization.
|
22
|
+
#
|
23
|
+
def self.mapper()
|
24
|
+
{
|
25
|
+
required: false,
|
26
|
+
serialized_name: 'RuleManagementEventClaimsDataSource',
|
27
|
+
type: {
|
28
|
+
name: 'Composite',
|
29
|
+
class_name: 'RuleManagementEventClaimsDataSource',
|
30
|
+
model_properties: {
|
31
|
+
email_address: {
|
32
|
+
required: false,
|
33
|
+
serialized_name: 'emailAddress',
|
34
|
+
type: {
|
35
|
+
name: 'String'
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,151 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Insights
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# A rule management event data source.
|
10
|
+
#
|
11
|
+
class RuleManagementEventDataSource < RuleDataSource
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
|
16
|
+
def initialize
|
17
|
+
@odata.type = "Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource"
|
18
|
+
end
|
19
|
+
|
20
|
+
attr_accessor :odata.type
|
21
|
+
|
22
|
+
# @return [String] the event name.
|
23
|
+
attr_accessor :event_name
|
24
|
+
|
25
|
+
# @return [String] the event source.
|
26
|
+
attr_accessor :event_source
|
27
|
+
|
28
|
+
# @return [String] the level.
|
29
|
+
attr_accessor :level
|
30
|
+
|
31
|
+
# @return [String] The name of the operation that should be checked for.
|
32
|
+
# If no name is provided, any operation will match.
|
33
|
+
attr_accessor :operation_name
|
34
|
+
|
35
|
+
# @return [String] the resource group name.
|
36
|
+
attr_accessor :resource_group_name
|
37
|
+
|
38
|
+
# @return [String] the resource provider name.
|
39
|
+
attr_accessor :resource_provider_name
|
40
|
+
|
41
|
+
# @return [String] the resource uri.
|
42
|
+
attr_accessor :resource_uri
|
43
|
+
|
44
|
+
# @return [String] The status of the operation that should be checked
|
45
|
+
# for. If no status is provided, any status will match.
|
46
|
+
attr_accessor :status
|
47
|
+
|
48
|
+
# @return [String] the substatus.
|
49
|
+
attr_accessor :sub_status
|
50
|
+
|
51
|
+
# @return [RuleManagementEventClaimsDataSource] the claims.
|
52
|
+
attr_accessor :claims
|
53
|
+
|
54
|
+
|
55
|
+
#
|
56
|
+
# Mapper for RuleManagementEventDataSource class as Ruby Hash.
|
57
|
+
# This will be used for serialization/deserialization.
|
58
|
+
#
|
59
|
+
def self.mapper()
|
60
|
+
{
|
61
|
+
required: false,
|
62
|
+
serialized_name: 'Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource',
|
63
|
+
type: {
|
64
|
+
name: 'Composite',
|
65
|
+
class_name: 'RuleManagementEventDataSource',
|
66
|
+
model_properties: {
|
67
|
+
odata.type: {
|
68
|
+
required: true,
|
69
|
+
serialized_name: 'odata.type',
|
70
|
+
type: {
|
71
|
+
name: 'String'
|
72
|
+
}
|
73
|
+
},
|
74
|
+
event_name: {
|
75
|
+
required: false,
|
76
|
+
serialized_name: 'eventName',
|
77
|
+
type: {
|
78
|
+
name: 'String'
|
79
|
+
}
|
80
|
+
},
|
81
|
+
event_source: {
|
82
|
+
required: false,
|
83
|
+
serialized_name: 'eventSource',
|
84
|
+
type: {
|
85
|
+
name: 'String'
|
86
|
+
}
|
87
|
+
},
|
88
|
+
level: {
|
89
|
+
required: false,
|
90
|
+
serialized_name: 'level',
|
91
|
+
type: {
|
92
|
+
name: 'String'
|
93
|
+
}
|
94
|
+
},
|
95
|
+
operation_name: {
|
96
|
+
required: false,
|
97
|
+
serialized_name: 'operationName',
|
98
|
+
type: {
|
99
|
+
name: 'String'
|
100
|
+
}
|
101
|
+
},
|
102
|
+
resource_group_name: {
|
103
|
+
required: false,
|
104
|
+
serialized_name: 'resourceGroupName',
|
105
|
+
type: {
|
106
|
+
name: 'String'
|
107
|
+
}
|
108
|
+
},
|
109
|
+
resource_provider_name: {
|
110
|
+
required: false,
|
111
|
+
serialized_name: 'resourceProviderName',
|
112
|
+
type: {
|
113
|
+
name: 'String'
|
114
|
+
}
|
115
|
+
},
|
116
|
+
resource_uri: {
|
117
|
+
required: false,
|
118
|
+
serialized_name: 'resourceUri',
|
119
|
+
type: {
|
120
|
+
name: 'String'
|
121
|
+
}
|
122
|
+
},
|
123
|
+
status: {
|
124
|
+
required: false,
|
125
|
+
serialized_name: 'status',
|
126
|
+
type: {
|
127
|
+
name: 'String'
|
128
|
+
}
|
129
|
+
},
|
130
|
+
sub_status: {
|
131
|
+
required: false,
|
132
|
+
serialized_name: 'subStatus',
|
133
|
+
type: {
|
134
|
+
name: 'String'
|
135
|
+
}
|
136
|
+
},
|
137
|
+
claims: {
|
138
|
+
required: false,
|
139
|
+
serialized_name: 'claims',
|
140
|
+
type: {
|
141
|
+
name: 'Composite',
|
142
|
+
class_name: 'RuleManagementEventClaimsDataSource'
|
143
|
+
}
|
144
|
+
}
|
145
|
+
}
|
146
|
+
}
|
147
|
+
}
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Insights
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# A rule metric data source.
|
10
|
+
#
|
11
|
+
class RuleMetricDataSource < RuleDataSource
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
|
16
|
+
def initialize
|
17
|
+
@odata.type = "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource"
|
18
|
+
end
|
19
|
+
|
20
|
+
attr_accessor :odata.type
|
21
|
+
|
22
|
+
# @return [String] the resource identifier of the resource the rule
|
23
|
+
# monitors.
|
24
|
+
attr_accessor :resource_uri
|
25
|
+
|
26
|
+
# @return [String] the name of the metric that defines what the rule
|
27
|
+
# monitors.
|
28
|
+
attr_accessor :metric_name
|
29
|
+
|
30
|
+
|
31
|
+
#
|
32
|
+
# Mapper for RuleMetricDataSource class as Ruby Hash.
|
33
|
+
# This will be used for serialization/deserialization.
|
34
|
+
#
|
35
|
+
def self.mapper()
|
36
|
+
{
|
37
|
+
required: false,
|
38
|
+
serialized_name: 'Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource',
|
39
|
+
type: {
|
40
|
+
name: 'Composite',
|
41
|
+
class_name: 'RuleMetricDataSource',
|
42
|
+
model_properties: {
|
43
|
+
odata.type: {
|
44
|
+
required: true,
|
45
|
+
serialized_name: 'odata.type',
|
46
|
+
type: {
|
47
|
+
name: 'String'
|
48
|
+
}
|
49
|
+
},
|
50
|
+
resource_uri: {
|
51
|
+
required: false,
|
52
|
+
serialized_name: 'resourceUri',
|
53
|
+
type: {
|
54
|
+
name: 'String'
|
55
|
+
}
|
56
|
+
},
|
57
|
+
metric_name: {
|
58
|
+
required: false,
|
59
|
+
serialized_name: 'metricName',
|
60
|
+
type: {
|
61
|
+
name: 'String'
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|