fastly 5.3.1 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +85 -63
  5. data/docs/AclEntry.md +1 -1
  6. data/docs/AclEntryApi.md +176 -0
  7. data/docs/AclEntryResponse.md +1 -1
  8. data/docs/ApexRedirectApi.md +56 -0
  9. data/docs/BulkUpdateAclEntry.md +1 -1
  10. data/docs/ClientKey.md +12 -0
  11. data/docs/ContactApi.md +50 -0
  12. data/docs/Content.md +2 -2
  13. data/docs/ContentApi.md +52 -0
  14. data/docs/DirectorApi.md +42 -0
  15. data/docs/DomainInspector.md +12 -0
  16. data/docs/DomainInspectorEntry.md +11 -0
  17. data/docs/DomainInspectorEntryDimensions.md +12 -0
  18. data/docs/DomainInspectorHistoricalApi.md +72 -0
  19. data/docs/DomainInspectorMeasurements.md +71 -0
  20. data/docs/DomainInspectorRealtimeApi.md +132 -0
  21. data/docs/DomainInspectorRealtimeEntry.md +12 -0
  22. data/docs/EventAttributes.md +1 -1
  23. data/docs/{EventsResponseAllOf.md → EventData.md} +1 -1
  24. data/docs/HistoricalDomains.md +13 -0
  25. data/docs/HistoricalDomainsData.md +11 -0
  26. data/docs/HistoricalDomainsMeta.md +18 -0
  27. data/docs/HistoricalDomainsMetaFilters.md +12 -0
  28. data/docs/HistoricalDomainsResponse.md +13 -0
  29. data/docs/HistoricalDomainsResponseAllOf.md +10 -0
  30. data/docs/{HistoricalFieldResultsAttributesAllOf.md → HistoricalFieldResultsAttributesAdditional.md} +1 -1
  31. data/docs/HistoricalOriginsResponse.md +13 -0
  32. data/docs/HistoricalOriginsResponseAllOf.md +10 -0
  33. data/docs/IamRolesApi.md +157 -0
  34. data/docs/IamServiceGroupsApi.md +157 -0
  35. data/docs/IamUserGroupsApi.md +315 -0
  36. data/docs/InlineResponse2005.md +11 -0
  37. data/docs/InlineResponse2006.md +11 -0
  38. data/docs/InlineResponse2007.md +10 -0
  39. data/docs/InlineResponse400.md +10 -0
  40. data/docs/LegacyWafConfigurationSet.md +11 -0
  41. data/docs/LegacyWafConfigurationSetsApi.md +125 -0
  42. data/docs/LegacyWafFirewall.md +18 -0
  43. data/docs/LegacyWafFirewallApi.md +352 -0
  44. data/docs/LegacyWafOwasp.md +38 -0
  45. data/docs/LegacyWafOwaspApi.md +138 -0
  46. data/docs/LegacyWafRule.md +14 -0
  47. data/docs/LegacyWafRuleApi.md +184 -0
  48. data/docs/LegacyWafRuleStatus.md +12 -0
  49. data/docs/LegacyWafRuleStatusApi.md +202 -0
  50. data/docs/LegacyWafRuleset.md +11 -0
  51. data/docs/LegacyWafRulesetApi.md +136 -0
  52. data/docs/LegacyWafTag.md +10 -0
  53. data/docs/LegacyWafTagApi.md +58 -0
  54. data/docs/LegacyWafUpdateStatus.md +15 -0
  55. data/docs/LegacyWafUpdateStatusApi.md +102 -0
  56. data/docs/LoggingKafkaApi.md +42 -0
  57. data/docs/LoggingKinesisApi.md +42 -0
  58. data/docs/OriginInspector.md +12 -0
  59. data/docs/OriginInspectorDimensions.md +12 -0
  60. data/docs/OriginInspectorEntry.md +11 -0
  61. data/docs/OriginInspectorHistorical.md +13 -0
  62. data/docs/OriginInspectorHistoricalApi.md +72 -0
  63. data/docs/OriginInspectorHistoricalData.md +11 -0
  64. data/docs/OriginInspectorHistoricalMeta.md +18 -0
  65. data/docs/OriginInspectorHistoricalMetaFilters.md +12 -0
  66. data/docs/OriginInspectorMeasurements.md +161 -0
  67. data/docs/OriginInspectorRealtimeApi.md +132 -0
  68. data/docs/OriginInspectorRealtimeEntry.md +12 -0
  69. data/docs/OriginInspectorRealtimeEntryRecorded.md +9 -0
  70. data/docs/OriginInspectorSubsequentRequestTimestamp.md +9 -0
  71. data/docs/OriginInspectorValues.md +161 -0
  72. data/docs/PaginationCursorMeta.md +11 -0
  73. data/docs/ReadOnlyServiceId.md +9 -0
  74. data/docs/ReadOnlyVersion.md +9 -0
  75. data/docs/RealtimeEntry.md +2 -2
  76. data/docs/RealtimeEntryAggregated.md +227 -0
  77. data/docs/RealtimeEntryRecorded.md +9 -0
  78. data/docs/RealtimeMeasurements.md +1 -1
  79. data/docs/RecordedTimestamp.md +9 -0
  80. data/docs/RequestSettingsApi.md +40 -0
  81. data/docs/ResponseObjectApi.md +82 -0
  82. data/docs/Secret.md +12 -0
  83. data/docs/SecretResponse.md +13 -0
  84. data/docs/SecretStore.md +10 -0
  85. data/docs/SecretStoreApi.md +233 -0
  86. data/docs/SecretStoreItemApi.md +255 -0
  87. data/docs/SecretStoreResponse.md +12 -0
  88. data/docs/ServiceAuthorizationsApi.md +76 -0
  89. data/docs/SigningKey.md +10 -0
  90. data/docs/SnippetApi.md +42 -0
  91. data/docs/SubsequentRequestTimestamp.md +9 -0
  92. data/docs/SudoApi.md +52 -0
  93. data/docs/SudoGenericTokenError.md +10 -0
  94. data/docs/SudoRequest.md +12 -0
  95. data/docs/SudoResponse.md +10 -0
  96. data/docs/TokensApi.md +70 -0
  97. data/docs/Values.md +71 -0
  98. data/docs/WafActiveRulesApi.md +41 -0
  99. data/lib/fastly/api/acl_entry_api.rb +332 -0
  100. data/lib/fastly/api/apex_redirect_api.rb +111 -0
  101. data/lib/fastly/api/contact_api.rb +90 -0
  102. data/lib/fastly/api/content_api.rb +79 -0
  103. data/lib/fastly/api/director_api.rb +82 -0
  104. data/lib/fastly/api/domain_inspector_historical_api.rb +125 -0
  105. data/lib/fastly/api/domain_inspector_realtime_api.rb +223 -0
  106. data/lib/fastly/api/iam_roles_api.rb +271 -0
  107. data/lib/fastly/api/iam_service_groups_api.rb +271 -0
  108. data/lib/fastly/api/iam_user_groups_api.rb +547 -0
  109. data/lib/fastly/api/legacy_waf_configuration_sets_api.rb +209 -0
  110. data/lib/fastly/api/legacy_waf_firewall_api.rb +627 -0
  111. data/lib/fastly/api/legacy_waf_owasp_api.rb +244 -0
  112. data/lib/fastly/api/legacy_waf_rule_api.rb +307 -0
  113. data/lib/fastly/api/legacy_waf_rule_status_api.rb +366 -0
  114. data/lib/fastly/api/legacy_waf_ruleset_api.rb +237 -0
  115. data/lib/fastly/api/legacy_waf_tag_api.rb +96 -0
  116. data/lib/fastly/api/legacy_waf_update_status_api.rb +184 -0
  117. data/lib/fastly/api/logging_kafka_api.rb +82 -0
  118. data/lib/fastly/api/logging_kinesis_api.rb +82 -0
  119. data/lib/fastly/api/origin_inspector_historical_api.rb +125 -0
  120. data/lib/fastly/api/origin_inspector_realtime_api.rb +223 -0
  121. data/lib/fastly/api/request_settings_api.rb +75 -0
  122. data/lib/fastly/api/response_object_api.rb +157 -0
  123. data/lib/fastly/api/secret_store_api.rb +381 -0
  124. data/lib/fastly/api/secret_store_item_api.rb +437 -0
  125. data/lib/fastly/api/service_authorizations_api.rb +126 -0
  126. data/lib/fastly/api/snippet_api.rb +82 -0
  127. data/lib/fastly/api/sudo_api.rb +83 -0
  128. data/lib/fastly/api/tokens_api.rb +122 -0
  129. data/lib/fastly/api/waf_active_rules_api.rb +75 -0
  130. data/lib/fastly/configuration.rb +504 -0
  131. data/lib/fastly/models/acl_entry.rb +1 -1
  132. data/lib/fastly/models/acl_entry_response.rb +1 -1
  133. data/lib/fastly/models/bulk_update_acl_entry.rb +1 -1
  134. data/lib/fastly/models/client_key.rb +239 -0
  135. data/lib/fastly/models/content.rb +8 -4
  136. data/lib/fastly/models/domain.rb +1 -0
  137. data/lib/fastly/models/domain_inspector.rb +238 -0
  138. data/lib/fastly/models/domain_inspector_entry.rb +228 -0
  139. data/lib/fastly/models/domain_inspector_entry_dimensions.rb +238 -0
  140. data/lib/fastly/models/domain_inspector_measurements.rb +828 -0
  141. data/lib/fastly/models/domain_inspector_realtime_entry.rb +241 -0
  142. data/lib/fastly/models/event_attributes.rb +4 -2
  143. data/lib/fastly/models/{events_response_all_of.rb → event_data.rb} +3 -3
  144. data/lib/fastly/models/events_response.rb +1 -1
  145. data/lib/fastly/models/historical_domains.rb +249 -0
  146. data/lib/fastly/models/historical_domains_data.rb +228 -0
  147. data/lib/fastly/models/historical_domains_meta.rb +297 -0
  148. data/lib/fastly/models/historical_domains_meta_filters.rb +235 -0
  149. data/lib/fastly/models/historical_domains_response.rb +257 -0
  150. data/lib/fastly/models/historical_domains_response_all_of.rb +219 -0
  151. data/lib/fastly/models/historical_field_results_attributes.rb +1 -1
  152. data/lib/fastly/models/{historical_field_results_attributes_all_of.rb → historical_field_results_attributes_additional.rb} +3 -3
  153. data/lib/fastly/models/historical_origins_response.rb +257 -0
  154. data/lib/fastly/models/historical_origins_response_all_of.rb +219 -0
  155. data/lib/fastly/models/inline_response2005.rb +227 -0
  156. data/lib/fastly/models/inline_response2006.rb +227 -0
  157. data/lib/fastly/models/inline_response2007.rb +218 -0
  158. data/lib/fastly/models/inline_response400.rb +250 -0
  159. data/lib/fastly/models/legacy_waf_configuration_set.rb +227 -0
  160. data/lib/fastly/models/legacy_waf_firewall.rb +297 -0
  161. data/lib/fastly/models/legacy_waf_owasp.rb +527 -0
  162. data/lib/fastly/models/legacy_waf_rule.rb +257 -0
  163. data/lib/fastly/models/legacy_waf_rule_status.rb +237 -0
  164. data/lib/fastly/models/legacy_waf_ruleset.rb +227 -0
  165. data/lib/fastly/models/legacy_waf_tag.rb +217 -0
  166. data/lib/fastly/models/legacy_waf_update_status.rb +267 -0
  167. data/lib/fastly/models/origin_inspector.rb +238 -0
  168. data/lib/fastly/models/origin_inspector_dimensions.rb +238 -0
  169. data/lib/fastly/models/origin_inspector_entry.rb +228 -0
  170. data/lib/fastly/models/origin_inspector_historical.rb +249 -0
  171. data/lib/fastly/models/origin_inspector_historical_data.rb +225 -0
  172. data/lib/fastly/models/origin_inspector_historical_meta.rb +297 -0
  173. data/lib/fastly/models/origin_inspector_historical_meta_filters.rb +235 -0
  174. data/lib/fastly/models/origin_inspector_measurements.rb +1728 -0
  175. data/lib/fastly/models/origin_inspector_realtime_entry.rb +241 -0
  176. data/lib/fastly/models/origin_inspector_realtime_entry_recorded.rb +208 -0
  177. data/lib/fastly/models/origin_inspector_subsequent_request_timestamp.rb +208 -0
  178. data/lib/fastly/models/origin_inspector_values.rb +1728 -0
  179. data/lib/fastly/models/pagination_cursor_meta.rb +227 -0
  180. data/lib/fastly/models/read_only_service_id.rb +207 -0
  181. data/lib/fastly/models/read_only_version.rb +207 -0
  182. data/lib/fastly/models/realtime_entry.rb +2 -7
  183. data/lib/fastly/models/realtime_entry_aggregated.rb +2397 -0
  184. data/lib/fastly/models/realtime_entry_recorded.rb +208 -0
  185. data/lib/fastly/models/realtime_measurements.rb +4 -2
  186. data/lib/fastly/models/recorded_timestamp.rb +208 -0
  187. data/lib/fastly/models/secret.rb +238 -0
  188. data/lib/fastly/models/secret_response.rb +249 -0
  189. data/lib/fastly/models/secret_store.rb +217 -0
  190. data/lib/fastly/models/secret_store_response.rb +238 -0
  191. data/lib/fastly/models/signing_key.rb +218 -0
  192. data/lib/fastly/models/subsequent_request_timestamp.rb +208 -0
  193. data/lib/fastly/models/sudo_generic_token_error.rb +216 -0
  194. data/lib/fastly/models/sudo_request.rb +244 -0
  195. data/lib/fastly/models/sudo_response.rb +217 -0
  196. data/lib/fastly/models/values.rb +828 -0
  197. data/lib/fastly/version.rb +1 -1
  198. data/lib/fastly.rb +72 -2
  199. data/sig.json +1 -1
  200. metadata +146 -6
@@ -0,0 +1,527 @@
1
+ =begin
2
+ #Fastly API
3
+
4
+ #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://developer.fastly.com/reference/api/)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: oss@fastly.com
8
+
9
+ =end
10
+
11
+ require 'date'
12
+ require 'time'
13
+
14
+ module Fastly
15
+ class LegacyWafOwasp
16
+ # Allowed HTTP versions.
17
+ attr_accessor :allowed_http_versions
18
+
19
+ # A space-separated list of HTTP method names.
20
+ attr_accessor :allowed_methods
21
+
22
+ # Allowed request content types.
23
+ attr_accessor :allowed_request_content_type
24
+
25
+ # The maximum allowed length of an argument.
26
+ attr_accessor :arg_length
27
+
28
+ # The maximum allowed argument name length.
29
+ attr_accessor :arg_name_length
30
+
31
+ # The maximum allowed size of all files (in bytes).
32
+ attr_accessor :combined_file_sizes
33
+
34
+ # Date and time that the settings object was created.
35
+ attr_accessor :created_at
36
+
37
+ # Score value to add for critical anomalies.
38
+ attr_accessor :critical_anomaly_score
39
+
40
+ # CRS validate UTF8 encoding.
41
+ attr_accessor :crs_validate_utf8_encoding
42
+
43
+ # Score value to add for error anomalies.
44
+ attr_accessor :error_anomaly_score
45
+
46
+ # A space-separated list of country codes in ISO 3166-1 (two-letter) format.
47
+ attr_accessor :high_risk_country_codes
48
+
49
+ # HTTP violation threshold.
50
+ attr_accessor :http_violation_score_threshold
51
+
52
+ # Inbound anomaly threshold.
53
+ attr_accessor :inbound_anomaly_score_threshold
54
+
55
+ # Local file inclusion attack threshold.
56
+ attr_accessor :lfi_score_threshold
57
+
58
+ # The maximum allowed file size (in bytes).
59
+ attr_accessor :max_file_size
60
+
61
+ # The maximum number of arguments allowed.
62
+ attr_accessor :max_num_args
63
+
64
+ # Score value to add for notice anomalies.
65
+ attr_accessor :notice_anomaly_score
66
+
67
+ # The configured paranoia level.
68
+ attr_accessor :paranoia_level
69
+
70
+ # PHP injection threshold.
71
+ attr_accessor :php_injection_score_threshold
72
+
73
+ # Remote code execution threshold.
74
+ attr_accessor :rce_score_threshold
75
+
76
+ # A space-separated list of disallowed file extensions.
77
+ attr_accessor :restricted_extensions
78
+
79
+ # A space-separated list of disallowed header names.
80
+ attr_accessor :restricted_headers
81
+
82
+ # Remote file inclusion attack threshold.
83
+ attr_accessor :rfi_score_threshold
84
+
85
+ # Session fixation attack threshold.
86
+ attr_accessor :session_fixation_score_threshold
87
+
88
+ # SQL injection attack threshold.
89
+ attr_accessor :sql_injection_score_threshold
90
+
91
+ # The maximum size of argument names and values.
92
+ attr_accessor :total_arg_length
93
+
94
+ # Date and time that the settings object was last updated.
95
+ attr_accessor :updated_at
96
+
97
+ # Score value to add for warning anomalies.
98
+ attr_accessor :warning_anomaly_score
99
+
100
+ # XSS attack threshold.
101
+ attr_accessor :xss_score_threshold
102
+
103
+ # Attribute mapping from ruby-style variable name to JSON key.
104
+ def self.attribute_map
105
+ {
106
+ :'allowed_http_versions' => :'allowed_http_versions',
107
+ :'allowed_methods' => :'allowed_methods',
108
+ :'allowed_request_content_type' => :'allowed_request_content_type',
109
+ :'arg_length' => :'arg_length',
110
+ :'arg_name_length' => :'arg_name_length',
111
+ :'combined_file_sizes' => :'combined_file_sizes',
112
+ :'created_at' => :'created_at',
113
+ :'critical_anomaly_score' => :'critical_anomaly_score',
114
+ :'crs_validate_utf8_encoding' => :'crs_validate_utf8_encoding',
115
+ :'error_anomaly_score' => :'error_anomaly_score',
116
+ :'high_risk_country_codes' => :'high_risk_country_codes',
117
+ :'http_violation_score_threshold' => :'http_violation_score_threshold',
118
+ :'inbound_anomaly_score_threshold' => :'inbound_anomaly_score_threshold',
119
+ :'lfi_score_threshold' => :'lfi_score_threshold',
120
+ :'max_file_size' => :'max_file_size',
121
+ :'max_num_args' => :'max_num_args',
122
+ :'notice_anomaly_score' => :'notice_anomaly_score',
123
+ :'paranoia_level' => :'paranoia_level',
124
+ :'php_injection_score_threshold' => :'php_injection_score_threshold',
125
+ :'rce_score_threshold' => :'rce_score_threshold',
126
+ :'restricted_extensions' => :'restricted_extensions',
127
+ :'restricted_headers' => :'restricted_headers',
128
+ :'rfi_score_threshold' => :'rfi_score_threshold',
129
+ :'session_fixation_score_threshold' => :'session_fixation_score_threshold',
130
+ :'sql_injection_score_threshold' => :'sql_injection_score_threshold',
131
+ :'total_arg_length' => :'total_arg_length',
132
+ :'updated_at' => :'updated_at',
133
+ :'warning_anomaly_score' => :'warning_anomaly_score',
134
+ :'xss_score_threshold' => :'xss_score_threshold'
135
+ }
136
+ end
137
+
138
+ # Returns all the JSON keys this model knows about
139
+ def self.acceptable_attributes
140
+ attribute_map.values
141
+ end
142
+
143
+ # Attribute type mapping.
144
+ def self.fastly_types
145
+ {
146
+ :'allowed_http_versions' => :'String',
147
+ :'allowed_methods' => :'String',
148
+ :'allowed_request_content_type' => :'String',
149
+ :'arg_length' => :'Integer',
150
+ :'arg_name_length' => :'Integer',
151
+ :'combined_file_sizes' => :'Integer',
152
+ :'created_at' => :'String',
153
+ :'critical_anomaly_score' => :'Integer',
154
+ :'crs_validate_utf8_encoding' => :'Boolean',
155
+ :'error_anomaly_score' => :'Integer',
156
+ :'high_risk_country_codes' => :'String',
157
+ :'http_violation_score_threshold' => :'Integer',
158
+ :'inbound_anomaly_score_threshold' => :'Integer',
159
+ :'lfi_score_threshold' => :'Integer',
160
+ :'max_file_size' => :'Integer',
161
+ :'max_num_args' => :'Integer',
162
+ :'notice_anomaly_score' => :'Integer',
163
+ :'paranoia_level' => :'Integer',
164
+ :'php_injection_score_threshold' => :'Integer',
165
+ :'rce_score_threshold' => :'Integer',
166
+ :'restricted_extensions' => :'String',
167
+ :'restricted_headers' => :'String',
168
+ :'rfi_score_threshold' => :'Integer',
169
+ :'session_fixation_score_threshold' => :'Integer',
170
+ :'sql_injection_score_threshold' => :'Integer',
171
+ :'total_arg_length' => :'Integer',
172
+ :'updated_at' => :'String',
173
+ :'warning_anomaly_score' => :'Integer',
174
+ :'xss_score_threshold' => :'Integer'
175
+ }
176
+ end
177
+
178
+ # List of attributes with nullable: true
179
+ def self.fastly_nullable
180
+ Set.new([
181
+ ])
182
+ end
183
+
184
+ # Initializes the object
185
+ # @param [Hash] attributes Model attributes in the form of hash
186
+ def initialize(attributes = {})
187
+ if (!attributes.is_a?(Hash))
188
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::LegacyWafOwasp` initialize method"
189
+ end
190
+
191
+ # check to see if the attribute exists and convert string to symbol for hash key
192
+ attributes = attributes.each_with_object({}) { |(k, v), h|
193
+ if (!self.class.attribute_map.key?(k.to_sym))
194
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::LegacyWafOwasp`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
195
+ end
196
+ h[k.to_sym] = v
197
+ }
198
+
199
+ if attributes.key?(:'allowed_http_versions')
200
+ self.allowed_http_versions = attributes[:'allowed_http_versions']
201
+ else
202
+ self.allowed_http_versions = 'HTTP/1.0 HTTP/1.1 HTTP/2'
203
+ end
204
+
205
+ if attributes.key?(:'allowed_methods')
206
+ self.allowed_methods = attributes[:'allowed_methods']
207
+ else
208
+ self.allowed_methods = 'GET HEAD POST OPTIONS PUT PATCH DELETE'
209
+ end
210
+
211
+ if attributes.key?(:'allowed_request_content_type')
212
+ self.allowed_request_content_type = attributes[:'allowed_request_content_type']
213
+ else
214
+ self.allowed_request_content_type = 'application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf|application/json|text/plain'
215
+ end
216
+
217
+ if attributes.key?(:'arg_length')
218
+ self.arg_length = attributes[:'arg_length']
219
+ else
220
+ self.arg_length = 400
221
+ end
222
+
223
+ if attributes.key?(:'arg_name_length')
224
+ self.arg_name_length = attributes[:'arg_name_length']
225
+ else
226
+ self.arg_name_length = 100
227
+ end
228
+
229
+ if attributes.key?(:'combined_file_sizes')
230
+ self.combined_file_sizes = attributes[:'combined_file_sizes']
231
+ else
232
+ self.combined_file_sizes = 10000000
233
+ end
234
+
235
+ if attributes.key?(:'created_at')
236
+ self.created_at = attributes[:'created_at']
237
+ end
238
+
239
+ if attributes.key?(:'critical_anomaly_score')
240
+ self.critical_anomaly_score = attributes[:'critical_anomaly_score']
241
+ else
242
+ self.critical_anomaly_score = 6
243
+ end
244
+
245
+ if attributes.key?(:'crs_validate_utf8_encoding')
246
+ self.crs_validate_utf8_encoding = attributes[:'crs_validate_utf8_encoding']
247
+ end
248
+
249
+ if attributes.key?(:'error_anomaly_score')
250
+ self.error_anomaly_score = attributes[:'error_anomaly_score']
251
+ else
252
+ self.error_anomaly_score = 5
253
+ end
254
+
255
+ if attributes.key?(:'high_risk_country_codes')
256
+ self.high_risk_country_codes = attributes[:'high_risk_country_codes']
257
+ end
258
+
259
+ if attributes.key?(:'http_violation_score_threshold')
260
+ self.http_violation_score_threshold = attributes[:'http_violation_score_threshold']
261
+ end
262
+
263
+ if attributes.key?(:'inbound_anomaly_score_threshold')
264
+ self.inbound_anomaly_score_threshold = attributes[:'inbound_anomaly_score_threshold']
265
+ end
266
+
267
+ if attributes.key?(:'lfi_score_threshold')
268
+ self.lfi_score_threshold = attributes[:'lfi_score_threshold']
269
+ end
270
+
271
+ if attributes.key?(:'max_file_size')
272
+ self.max_file_size = attributes[:'max_file_size']
273
+ else
274
+ self.max_file_size = 10000000
275
+ end
276
+
277
+ if attributes.key?(:'max_num_args')
278
+ self.max_num_args = attributes[:'max_num_args']
279
+ else
280
+ self.max_num_args = 255
281
+ end
282
+
283
+ if attributes.key?(:'notice_anomaly_score')
284
+ self.notice_anomaly_score = attributes[:'notice_anomaly_score']
285
+ else
286
+ self.notice_anomaly_score = 4
287
+ end
288
+
289
+ if attributes.key?(:'paranoia_level')
290
+ self.paranoia_level = attributes[:'paranoia_level']
291
+ else
292
+ self.paranoia_level = 1
293
+ end
294
+
295
+ if attributes.key?(:'php_injection_score_threshold')
296
+ self.php_injection_score_threshold = attributes[:'php_injection_score_threshold']
297
+ end
298
+
299
+ if attributes.key?(:'rce_score_threshold')
300
+ self.rce_score_threshold = attributes[:'rce_score_threshold']
301
+ end
302
+
303
+ if attributes.key?(:'restricted_extensions')
304
+ self.restricted_extensions = attributes[:'restricted_extensions']
305
+ else
306
+ self.restricted_extensions = '.asa/ .asax/ .ascx/ .axd/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pol/ .printer/ .pwd/ .resources/ .resx/ .sql/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx'
307
+ end
308
+
309
+ if attributes.key?(:'restricted_headers')
310
+ self.restricted_headers = attributes[:'restricted_headers']
311
+ else
312
+ self.restricted_headers = '/proxy/ /lock-token/ /content-range/ /translate/ /if/'
313
+ end
314
+
315
+ if attributes.key?(:'rfi_score_threshold')
316
+ self.rfi_score_threshold = attributes[:'rfi_score_threshold']
317
+ end
318
+
319
+ if attributes.key?(:'session_fixation_score_threshold')
320
+ self.session_fixation_score_threshold = attributes[:'session_fixation_score_threshold']
321
+ end
322
+
323
+ if attributes.key?(:'sql_injection_score_threshold')
324
+ self.sql_injection_score_threshold = attributes[:'sql_injection_score_threshold']
325
+ end
326
+
327
+ if attributes.key?(:'total_arg_length')
328
+ self.total_arg_length = attributes[:'total_arg_length']
329
+ else
330
+ self.total_arg_length = 6400
331
+ end
332
+
333
+ if attributes.key?(:'updated_at')
334
+ self.updated_at = attributes[:'updated_at']
335
+ end
336
+
337
+ if attributes.key?(:'warning_anomaly_score')
338
+ self.warning_anomaly_score = attributes[:'warning_anomaly_score']
339
+ end
340
+
341
+ if attributes.key?(:'xss_score_threshold')
342
+ self.xss_score_threshold = attributes[:'xss_score_threshold']
343
+ end
344
+ end
345
+
346
+ # Show invalid properties with the reasons. Usually used together with valid?
347
+ # @return Array for valid properties with the reasons
348
+ def list_invalid_properties
349
+ invalid_properties = Array.new
350
+ invalid_properties
351
+ end
352
+
353
+ # Check to see if the all the properties in the model are valid
354
+ # @return true if the model is valid
355
+ def valid?
356
+ true
357
+ end
358
+
359
+ # Checks equality by comparing each attribute.
360
+ # @param [Object] Object to be compared
361
+ def ==(o)
362
+ return true if self.equal?(o)
363
+ self.class == o.class &&
364
+ allowed_http_versions == o.allowed_http_versions &&
365
+ allowed_methods == o.allowed_methods &&
366
+ allowed_request_content_type == o.allowed_request_content_type &&
367
+ arg_length == o.arg_length &&
368
+ arg_name_length == o.arg_name_length &&
369
+ combined_file_sizes == o.combined_file_sizes &&
370
+ created_at == o.created_at &&
371
+ critical_anomaly_score == o.critical_anomaly_score &&
372
+ crs_validate_utf8_encoding == o.crs_validate_utf8_encoding &&
373
+ error_anomaly_score == o.error_anomaly_score &&
374
+ high_risk_country_codes == o.high_risk_country_codes &&
375
+ http_violation_score_threshold == o.http_violation_score_threshold &&
376
+ inbound_anomaly_score_threshold == o.inbound_anomaly_score_threshold &&
377
+ lfi_score_threshold == o.lfi_score_threshold &&
378
+ max_file_size == o.max_file_size &&
379
+ max_num_args == o.max_num_args &&
380
+ notice_anomaly_score == o.notice_anomaly_score &&
381
+ paranoia_level == o.paranoia_level &&
382
+ php_injection_score_threshold == o.php_injection_score_threshold &&
383
+ rce_score_threshold == o.rce_score_threshold &&
384
+ restricted_extensions == o.restricted_extensions &&
385
+ restricted_headers == o.restricted_headers &&
386
+ rfi_score_threshold == o.rfi_score_threshold &&
387
+ session_fixation_score_threshold == o.session_fixation_score_threshold &&
388
+ sql_injection_score_threshold == o.sql_injection_score_threshold &&
389
+ total_arg_length == o.total_arg_length &&
390
+ updated_at == o.updated_at &&
391
+ warning_anomaly_score == o.warning_anomaly_score &&
392
+ xss_score_threshold == o.xss_score_threshold
393
+ end
394
+
395
+ # @see the `==` method
396
+ # @param [Object] Object to be compared
397
+ def eql?(o)
398
+ self == o
399
+ end
400
+
401
+ # Calculates hash code according to all attributes.
402
+ # @return [Integer] Hash code
403
+ def hash
404
+ [allowed_http_versions, allowed_methods, allowed_request_content_type, arg_length, arg_name_length, combined_file_sizes, created_at, critical_anomaly_score, crs_validate_utf8_encoding, error_anomaly_score, high_risk_country_codes, http_violation_score_threshold, inbound_anomaly_score_threshold, lfi_score_threshold, max_file_size, max_num_args, notice_anomaly_score, paranoia_level, php_injection_score_threshold, rce_score_threshold, restricted_extensions, restricted_headers, rfi_score_threshold, session_fixation_score_threshold, sql_injection_score_threshold, total_arg_length, updated_at, warning_anomaly_score, xss_score_threshold].hash
405
+ end
406
+
407
+ # Builds the object from hash
408
+ # @param [Hash] attributes Model attributes in the form of hash
409
+ # @return [Object] Returns the model itself
410
+ def self.build_from_hash(attributes)
411
+ new.build_from_hash(attributes)
412
+ end
413
+
414
+ # Builds the object from hash
415
+ # @param [Hash] attributes Model attributes in the form of hash
416
+ # @return [Object] Returns the model itself
417
+ def build_from_hash(attributes)
418
+ return nil unless attributes.is_a?(Hash)
419
+ self.class.fastly_types.each_pair do |key, type|
420
+ if attributes[self.class.attribute_map[key]].nil? && self.class.fastly_nullable.include?(key)
421
+ self.send("#{key}=", nil)
422
+ elsif type =~ /\AArray<(.*)>/i
423
+ # check to ensure the input is an array given that the attribute
424
+ # is documented as an array but the input is not
425
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
426
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
427
+ end
428
+ elsif !attributes[self.class.attribute_map[key]].nil?
429
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
430
+ end
431
+ end
432
+
433
+ self
434
+ end
435
+
436
+ # Deserializes the data based on type
437
+ # @param string type Data type
438
+ # @param string value Value to be deserialized
439
+ # @return [Object] Deserialized data
440
+ def _deserialize(type, value)
441
+ case type.to_sym
442
+ when :Time
443
+ Time.parse(value)
444
+ when :Date
445
+ Date.parse(value)
446
+ when :String
447
+ value.to_s
448
+ when :Integer
449
+ value.to_i
450
+ when :Float
451
+ value.to_f
452
+ when :Boolean
453
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
454
+ true
455
+ else
456
+ false
457
+ end
458
+ when :Object
459
+ # generic object (usually a Hash), return directly
460
+ value
461
+ when /\AArray<(?<inner_type>.+)>\z/
462
+ inner_type = Regexp.last_match[:inner_type]
463
+ value.map { |v| _deserialize(inner_type, v) }
464
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
465
+ k_type = Regexp.last_match[:k_type]
466
+ v_type = Regexp.last_match[:v_type]
467
+ {}.tap do |hash|
468
+ value.each do |k, v|
469
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
470
+ end
471
+ end
472
+ else # model
473
+ # models (e.g. Pet) or oneOf
474
+ klass = Fastly.const_get(type)
475
+ klass.respond_to?(:fastly_one_of) ? klass.build(value) : klass.build_from_hash(value)
476
+ end
477
+ end
478
+
479
+ # Returns the string representation of the object
480
+ # @return [String] String presentation of the object
481
+ def to_s
482
+ to_hash.to_s
483
+ end
484
+
485
+ # to_body is an alias to to_hash (backward compatibility)
486
+ # @return [Hash] Returns the object in the form of hash
487
+ def to_body
488
+ to_hash
489
+ end
490
+
491
+ # Returns the object in the form of hash
492
+ # @return [Hash] Returns the object in the form of hash
493
+ def to_hash
494
+ hash = {}
495
+ self.class.attribute_map.each_pair do |attr, param|
496
+ value = self.send(attr)
497
+ if value.nil?
498
+ is_nullable = self.class.fastly_nullable.include?(attr)
499
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
500
+ end
501
+
502
+ hash[param] = _to_hash(value)
503
+ end
504
+ hash
505
+ end
506
+
507
+ # Outputs non-array value in the form of hash
508
+ # For object, use to_hash. Otherwise, just return the value
509
+ # @param [Object] value Any valid value
510
+ # @return [Hash] Returns the value in the form of hash
511
+ def _to_hash(value)
512
+ if value.is_a?(Array)
513
+ value.compact.map { |v| _to_hash(v) }
514
+ elsif value.is_a?(Hash)
515
+ {}.tap do |hash|
516
+ value.each { |k, v| hash[k] = _to_hash(v) }
517
+ end
518
+ elsif value.respond_to? :to_hash
519
+ value.to_hash
520
+ else
521
+ value
522
+ end
523
+ end
524
+
525
+ end
526
+
527
+ end