fastly 13.1.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/Gemfile.lock +4 -4
  4. data/README.md +26 -12
  5. data/docs/ApiDiscoveryResponseBodyGetAllServices.md +13 -0
  6. data/docs/ApiDiscoveryResponseCustomer.md +10 -0
  7. data/docs/{LogTimeseriesGetResponseMetaFilters.md → ApiDiscoveryResponseCustomerCustomer.md} +3 -2
  8. data/docs/ApiDiscoveryResponseEnable.md +12 -0
  9. data/docs/ApiDiscoveryResponseEnabledServices.md +10 -0
  10. data/docs/ApiDiscoveryResponseLinks.md +10 -0
  11. data/docs/ApiDiscoveryResponseLinksGetAllServices.md +10 -0
  12. data/docs/{LogTimeseriesResultDimensions.md → ApiDiscoveryResponseLinksGetAllServicesLinks.md} +2 -2
  13. data/docs/{DdosProtectionAction.md → ApiDiscoveryResponseLinksLinks.md} +2 -1
  14. data/docs/ApiDiscoveryResponseProduct.md +10 -0
  15. data/docs/ApiDiscoveryResponseProductProduct.md +11 -0
  16. data/docs/ApiDiscoveryResponseService.md +10 -0
  17. data/docs/{BotManagementResponseServiceService.md → ApiDiscoveryResponseServiceService.md} +1 -1
  18. data/docs/AttackReport.md +19 -0
  19. data/docs/AttackSignal.md +12 -0
  20. data/docs/AttackSource.md +13 -0
  21. data/docs/Backend.md +4 -4
  22. data/docs/BackendApi.md +10 -10
  23. data/docs/BackendResponse.md +4 -4
  24. data/docs/BotManagementResponseBodyEnable.md +1 -1
  25. data/docs/BotManagementResponseService.md +1 -1
  26. data/docs/BrotliCompressionResponseBodyEnable.md +1 -1
  27. data/docs/BrotliCompressionResponseService.md +1 -1
  28. data/docs/DdosProtectionApi.md +42 -0
  29. data/docs/DdosProtectionAttributeStats.md +1 -1
  30. data/docs/DdosProtectionInvalidRequest.md +13 -0
  31. data/docs/DdosProtectionNotAuthorized.md +11 -0
  32. data/docs/DdosProtectionResponseConfigure.md +1 -1
  33. data/docs/DdosProtectionResponseEnable.md +1 -1
  34. data/docs/DdosProtectionResponseService.md +1 -1
  35. data/docs/DdosProtectionRule.md +1 -1
  36. data/docs/DdosProtectionRuleAllOf.md +1 -1
  37. data/docs/DdosProtectionRulePatch.md +10 -0
  38. data/docs/DdosProtectionRuleWithStats.md +23 -0
  39. data/docs/DdosProtectionRuleWithStatsAllOf.md +10 -0
  40. data/docs/DdosProtectionTrafficStats.md +1 -0
  41. data/docs/DdosProtectionTrafficStatsAllOf.md +1 -0
  42. data/docs/DmDomainsApi.md +220 -0
  43. data/docs/DomainInspectorResponseBodyEnable.md +1 -1
  44. data/docs/DomainInspectorResponseService.md +1 -1
  45. data/docs/DomainOwnershipsApi.md +2 -2
  46. data/docs/FanoutResponseBodyEnable.md +1 -1
  47. data/docs/FanoutResponseService.md +1 -1
  48. data/docs/Healthcheck.md +1 -1
  49. data/docs/HealthcheckApi.md +4 -4
  50. data/docs/HealthcheckResponse.md +1 -1
  51. data/docs/HistoricalApi.md +2 -0
  52. data/docs/IamRolesApi.md +23 -253
  53. data/docs/IamV1RoleListResponse.md +12 -0
  54. data/docs/IamV1RoleResponse.md +13 -0
  55. data/docs/ImageOptimizerResponseBodyEnable.md +1 -1
  56. data/docs/ImageOptimizerResponseService.md +1 -1
  57. data/docs/InlineResponse20010.md +10 -0
  58. data/docs/InlineResponse2003.md +2 -2
  59. data/docs/InlineResponse2004.md +2 -1
  60. data/docs/InlineResponse2005.md +1 -2
  61. data/docs/InlineResponse2006.md +1 -1
  62. data/docs/InlineResponse2007.md +1 -1
  63. data/docs/InlineResponse2008.md +1 -1
  64. data/docs/InlineResponse2009.md +2 -1
  65. data/docs/InvitationDataAttributes.md +1 -0
  66. data/docs/KvStoreApi.md +4 -2
  67. data/docs/KvStoreItemApi.md +2 -2
  68. data/docs/ListAttackReport.md +11 -0
  69. data/docs/ListAttackReportMeta.md +10 -0
  70. data/docs/{DdosProtectionTrafficAttribute.md → ListSignalReport.md} +2 -1
  71. data/docs/LogExplorerApi.md +1 -1
  72. data/docs/LogExplorerInsightsResponseBodyEnable.md +1 -1
  73. data/docs/LogExplorerInsightsResponseService.md +1 -1
  74. data/docs/LoggingHttpsAdditional.md +1 -0
  75. data/docs/LoggingHttpsApi.md +4 -0
  76. data/docs/LoggingHttpsResponse.md +1 -0
  77. data/docs/NgwafReportsApi.md +99 -0
  78. data/docs/NgwafResponseConfigure.md +1 -1
  79. data/docs/NgwafResponseEnable.md +1 -1
  80. data/docs/NgwafResponseService.md +1 -1
  81. data/docs/ObservabilityTimeseriesApi.md +67 -0
  82. data/docs/OriginInspectorResponseBodyEnable.md +1 -1
  83. data/docs/OriginInspectorResponseService.md +1 -1
  84. data/docs/PoolApi.md +4 -4
  85. data/docs/PoolResponse.md +1 -1
  86. data/docs/PoolResponseCommon.md +1 -1
  87. data/docs/PoolResponsePost.md +1 -1
  88. data/docs/ProductApiDiscoveryApi.md +163 -0
  89. data/docs/RealtimeEntryAggregated.md +1 -0
  90. data/docs/RealtimeMeasurements.md +1 -0
  91. data/docs/RequestBodyForCreate.md +12 -0
  92. data/docs/RequestBodyForUpdate.md +11 -0
  93. data/docs/Results.md +1 -0
  94. data/docs/SchemasUserResponse.md +1 -0
  95. data/docs/SecretStoreApi.md +2 -2
  96. data/docs/SecretStoreItemApi.md +2 -2
  97. data/docs/ServiceAuthorizationsApi.md +2 -2
  98. data/docs/SignalReport.md +13 -0
  99. data/docs/SuccessfulResponseAsObject.md +17 -0
  100. data/docs/SuccessfulResponseAsObjectAllOf.md +15 -0
  101. data/docs/TimeseriesGetResponse.md +11 -0
  102. data/docs/TimeseriesMeta.md +13 -0
  103. data/docs/TimeseriesResult.md +11 -0
  104. data/docs/TlsSubscriptionsApi.md +0 -2
  105. data/docs/TopWorkspace.md +12 -0
  106. data/docs/User.md +1 -0
  107. data/docs/UserApi.md +4 -0
  108. data/docs/UserResponse.md +1 -0
  109. data/docs/WebsocketsResponseBodyEnable.md +1 -1
  110. data/docs/WebsocketsResponseService.md +1 -1
  111. data/lib/fastly/api/backend_api.rb +16 -16
  112. data/lib/fastly/api/ddos_protection_api.rb +73 -0
  113. data/lib/fastly/api/dm_domains_api.rb +362 -0
  114. data/lib/fastly/api/domain_ownerships_api.rb +3 -3
  115. data/lib/fastly/api/healthcheck_api.rb +20 -4
  116. data/lib/fastly/api/historical_api.rb +3 -0
  117. data/lib/fastly/api/iam_roles_api.rb +43 -435
  118. data/lib/fastly/api/kv_store_api.rb +6 -3
  119. data/lib/fastly/api/kv_store_item_api.rb +3 -3
  120. data/lib/fastly/api/logging_https_api.rb +6 -0
  121. data/lib/fastly/api/ngwaf_reports_api.rb +161 -0
  122. data/lib/fastly/api/{observability_timeseries_for_logs_api.rb → observability_timeseries_api.rb} +38 -43
  123. data/lib/fastly/api/pool_api.rb +4 -4
  124. data/lib/fastly/api/product_api_discovery_api.rb +263 -0
  125. data/lib/fastly/api/secret_store_api.rb +3 -3
  126. data/lib/fastly/api/secret_store_item_api.rb +3 -3
  127. data/lib/fastly/api/service_authorizations_api.rb +3 -3
  128. data/lib/fastly/api/tls_subscriptions_api.rb +0 -3
  129. data/lib/fastly/api/user_api.rb +6 -0
  130. data/lib/fastly/configuration.rb +75 -39
  131. data/lib/fastly/models/api_discovery_response_body_get_all_services.rb +256 -0
  132. data/lib/fastly/models/api_discovery_response_customer.rb +216 -0
  133. data/lib/fastly/models/api_discovery_response_customer_customer.rb +227 -0
  134. data/lib/fastly/models/api_discovery_response_enable.rb +243 -0
  135. data/lib/fastly/models/{log_timeseries_get_response_meta_filters.rb → api_discovery_response_enabled_services.rb} +12 -13
  136. data/lib/fastly/models/api_discovery_response_links.rb +216 -0
  137. data/lib/fastly/models/api_discovery_response_links_get_all_services.rb +216 -0
  138. data/lib/fastly/models/api_discovery_response_links_get_all_services_links.rb +217 -0
  139. data/lib/fastly/models/api_discovery_response_links_links.rb +217 -0
  140. data/lib/fastly/models/api_discovery_response_product.rb +216 -0
  141. data/lib/fastly/models/api_discovery_response_product_product.rb +227 -0
  142. data/lib/fastly/models/api_discovery_response_service.rb +216 -0
  143. data/lib/fastly/models/{bot_management_response_service_service.rb → api_discovery_response_service_service.rb} +3 -3
  144. data/lib/fastly/models/attack_report.rb +359 -0
  145. data/lib/fastly/models/attack_signal.rb +252 -0
  146. data/lib/fastly/models/attack_source.rb +267 -0
  147. data/lib/fastly/models/backend.rb +7 -1
  148. data/lib/fastly/models/backend_response.rb +7 -1
  149. data/lib/fastly/models/bot_management_response_body_enable.rb +1 -1
  150. data/lib/fastly/models/bot_management_response_service.rb +1 -1
  151. data/lib/fastly/models/brotli_compression_response_body_enable.rb +1 -1
  152. data/lib/fastly/models/brotli_compression_response_service.rb +1 -1
  153. data/lib/fastly/models/ddos_protection_attribute_stats.rb +2 -1
  154. data/lib/fastly/models/ddos_protection_invalid_request.rb +309 -0
  155. data/lib/fastly/models/{log_timeseries_filter_field_item.rb → ddos_protection_not_authorized.rb} +24 -36
  156. data/lib/fastly/models/ddos_protection_response_configure.rb +1 -1
  157. data/lib/fastly/models/ddos_protection_response_enable.rb +1 -1
  158. data/lib/fastly/models/ddos_protection_response_service.rb +1 -1
  159. data/lib/fastly/models/ddos_protection_rule.rb +2 -1
  160. data/lib/fastly/models/ddos_protection_rule_all_of.rb +2 -1
  161. data/lib/fastly/models/ddos_protection_rule_patch.rb +219 -0
  162. data/lib/fastly/models/ddos_protection_rule_with_stats.rb +365 -0
  163. data/lib/fastly/models/ddos_protection_rule_with_stats_all_of.rb +216 -0
  164. data/lib/fastly/models/ddos_protection_traffic_stats.rb +20 -4
  165. data/lib/fastly/models/ddos_protection_traffic_stats_all_of.rb +20 -4
  166. data/lib/fastly/models/domain_inspector_response_body_enable.rb +1 -1
  167. data/lib/fastly/models/domain_inspector_response_service.rb +1 -1
  168. data/lib/fastly/models/fanout_response_body_enable.rb +1 -1
  169. data/lib/fastly/models/fanout_response_service.rb +1 -1
  170. data/lib/fastly/models/healthcheck.rb +25 -1
  171. data/lib/fastly/models/healthcheck_response.rb +25 -1
  172. data/lib/fastly/models/iam_v1_role_list_response.rb +240 -0
  173. data/lib/fastly/models/{iam_role_all_of.rb → iam_v1_role_response.rb} +14 -34
  174. data/lib/fastly/models/image_optimizer_response_body_enable.rb +1 -1
  175. data/lib/fastly/models/image_optimizer_response_service.rb +1 -1
  176. data/lib/fastly/models/inline_response20010.rb +218 -0
  177. data/lib/fastly/models/inline_response2003.rb +11 -1
  178. data/lib/fastly/models/inline_response2004.rb +20 -8
  179. data/lib/fastly/models/inline_response2005.rb +8 -18
  180. data/lib/fastly/models/inline_response2006.rb +1 -1
  181. data/lib/fastly/models/inline_response2007.rb +1 -1
  182. data/lib/fastly/models/inline_response2008.rb +1 -1
  183. data/lib/fastly/models/inline_response2009.rb +13 -4
  184. data/lib/fastly/models/invitation_data_attributes.rb +12 -1
  185. data/lib/fastly/models/{log_timeseries_get_response.rb → list_attack_report.rb} +5 -5
  186. data/lib/fastly/models/list_attack_report_meta.rb +218 -0
  187. data/lib/fastly/models/{log_timeseries_result_dimensions.rb → list_signal_report.rb} +12 -10
  188. data/lib/fastly/models/log_explorer_insights_response_body_enable.rb +1 -1
  189. data/lib/fastly/models/log_explorer_insights_response_service.rb +1 -1
  190. data/lib/fastly/models/logging_https_additional.rb +16 -4
  191. data/lib/fastly/models/logging_https_response.rb +13 -1
  192. data/lib/fastly/models/ngwaf_response_configure.rb +1 -1
  193. data/lib/fastly/models/ngwaf_response_enable.rb +1 -1
  194. data/lib/fastly/models/ngwaf_response_service.rb +1 -1
  195. data/lib/fastly/models/origin_inspector_response_body_enable.rb +1 -1
  196. data/lib/fastly/models/origin_inspector_response_service.rb +1 -1
  197. data/lib/fastly/models/pool_response.rb +1 -1
  198. data/lib/fastly/models/pool_response_common.rb +1 -1
  199. data/lib/fastly/models/pool_response_post.rb +1 -1
  200. data/lib/fastly/models/realtime_entry_aggregated.rb +14 -4
  201. data/lib/fastly/models/realtime_measurements.rb +14 -4
  202. data/lib/fastly/models/request_body_for_create.rb +244 -0
  203. data/lib/fastly/models/request_body_for_update.rb +229 -0
  204. data/lib/fastly/models/results.rb +11 -1
  205. data/lib/fastly/models/role_user.rb +2 -0
  206. data/lib/fastly/models/schemas_user_response.rb +13 -1
  207. data/lib/fastly/models/signal_report.rb +249 -0
  208. data/lib/fastly/models/{iam_role.rb → successful_response_as_object.rb} +37 -35
  209. data/lib/fastly/models/successful_response_as_object_all_of.rb +268 -0
  210. data/lib/fastly/models/timeseries_get_response.rb +227 -0
  211. data/lib/fastly/models/{log_timeseries_get_response_meta.rb → timeseries_meta.rb} +23 -32
  212. data/lib/fastly/models/{log_timeseries_result.rb → timeseries_result.rb} +9 -5
  213. data/lib/fastly/models/top_workspace.rb +238 -0
  214. data/lib/fastly/models/user.rb +13 -1
  215. data/lib/fastly/models/user_response.rb +13 -1
  216. data/lib/fastly/models/websockets_response_body_enable.rb +1 -1
  217. data/lib/fastly/models/websockets_response_service.rb +1 -1
  218. data/lib/fastly/version.rb +1 -1
  219. data/lib/fastly.rb +40 -13
  220. data/sig.json +1 -1
  221. metadata +82 -28
  222. data/docs/IamRole.md +0 -17
  223. data/docs/IamRoleAllOf.md +0 -15
  224. data/docs/LogTimeseriesFilterFieldItem.md +0 -12
  225. data/docs/LogTimeseriesGetResponse.md +0 -11
  226. data/docs/LogTimeseriesGetResponseMeta.md +0 -14
  227. data/docs/LogTimeseriesResult.md +0 -11
  228. data/docs/LogTimeseriesValueField.md +0 -59
  229. data/docs/ObservabilityTimeseriesForLogsApi.md +0 -67
  230. data/lib/fastly/models/ddos_protection_action.rb +0 -37
  231. data/lib/fastly/models/ddos_protection_traffic_attribute.rb +0 -40
  232. data/lib/fastly/models/log_timeseries_value_field.rb +0 -108
@@ -0,0 +1,238 @@
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://www.fastly.com/documentation/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
+ # This object, found within the `top_workspaces` array, contains the workspace information and count for the requested signal.
16
+ class TopWorkspace
17
+ # ID of the workspace.
18
+ attr_accessor :id
19
+
20
+ # Name of the workspace.
21
+ attr_accessor :name
22
+
23
+ # Count of attacks on this workspace for the specific attack type.
24
+ attr_accessor :count
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'id' => :'id',
30
+ :'name' => :'name',
31
+ :'count' => :'count'
32
+ }
33
+ end
34
+
35
+ # Returns all the JSON keys this model knows about
36
+ def self.acceptable_attributes
37
+ attribute_map.values
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.fastly_types
42
+ {
43
+ :'id' => :'String',
44
+ :'name' => :'String',
45
+ :'count' => :'Integer'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.fastly_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::TopWorkspace` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}) { |(k, v), h|
64
+ if (!self.class.attribute_map.key?(k.to_sym))
65
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::TopWorkspace`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
+ end
67
+ h[k.to_sym] = v
68
+ }
69
+
70
+ if attributes.key?(:'id')
71
+ self.id = attributes[:'id']
72
+ end
73
+
74
+ if attributes.key?(:'name')
75
+ self.name = attributes[:'name']
76
+ end
77
+
78
+ if attributes.key?(:'count')
79
+ self.count = attributes[:'count']
80
+ end
81
+ end
82
+
83
+ # Show invalid properties with the reasons. Usually used together with valid?
84
+ # @return Array for valid properties with the reasons
85
+ def list_invalid_properties
86
+ invalid_properties = Array.new
87
+ invalid_properties
88
+ end
89
+
90
+ # Check to see if the all the properties in the model are valid
91
+ # @return true if the model is valid
92
+ def valid?
93
+ true
94
+ end
95
+
96
+ # Checks equality by comparing each attribute.
97
+ # @param [Object] Object to be compared
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ id == o.id &&
102
+ name == o.name &&
103
+ count == o.count
104
+ end
105
+
106
+ # @see the `==` method
107
+ # @param [Object] Object to be compared
108
+ def eql?(o)
109
+ self == o
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Integer] Hash code
114
+ def hash
115
+ [id, name, count].hash
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def self.build_from_hash(attributes)
122
+ new.build_from_hash(attributes)
123
+ end
124
+
125
+ # Builds the object from hash
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @return [Object] Returns the model itself
128
+ def build_from_hash(attributes)
129
+ return nil unless attributes.is_a?(Hash)
130
+ self.class.fastly_types.each_pair do |key, type|
131
+ if attributes[self.class.attribute_map[key]].nil? && self.class.fastly_nullable.include?(key)
132
+ self.send("#{key}=", nil)
133
+ elsif type =~ /\AArray<(.*)>/i
134
+ # check to ensure the input is an array given that the attribute
135
+ # is documented as an array but the input is not
136
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
137
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
138
+ end
139
+ elsif !attributes[self.class.attribute_map[key]].nil?
140
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
141
+ end
142
+ end
143
+
144
+ self
145
+ end
146
+
147
+ # Deserializes the data based on type
148
+ # @param string type Data type
149
+ # @param string value Value to be deserialized
150
+ # @return [Object] Deserialized data
151
+ def _deserialize(type, value)
152
+ case type.to_sym
153
+ when :Time
154
+ Time.parse(value)
155
+ when :Date
156
+ Date.parse(value)
157
+ when :String
158
+ value.to_s
159
+ when :Integer
160
+ value.to_i
161
+ when :Float
162
+ value.to_f
163
+ when :Boolean
164
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
165
+ true
166
+ else
167
+ false
168
+ end
169
+ when :Object
170
+ # generic object (usually a Hash), return directly
171
+ value
172
+ when /\AArray<(?<inner_type>.+)>\z/
173
+ inner_type = Regexp.last_match[:inner_type]
174
+ value.map { |v| _deserialize(inner_type, v) }
175
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
176
+ k_type = Regexp.last_match[:k_type]
177
+ v_type = Regexp.last_match[:v_type]
178
+ {}.tap do |hash|
179
+ value.each do |k, v|
180
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
181
+ end
182
+ end
183
+ else # model
184
+ # models (e.g. Pet) or oneOf
185
+ klass = Fastly.const_get(type)
186
+ klass.respond_to?(:fastly_one_of) ? klass.build(value) : klass.build_from_hash(value)
187
+ end
188
+ end
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_hash (backward compatibility)
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_body
199
+ to_hash
200
+ end
201
+
202
+ # Returns the object in the form of hash
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ if value.nil?
209
+ is_nullable = self.class.fastly_nullable.include?(attr)
210
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
211
+ end
212
+
213
+ hash[param] = _to_hash(value)
214
+ end
215
+ hash
216
+ end
217
+
218
+ # Outputs non-array value in the form of hash
219
+ # For object, use to_hash. Otherwise, just return the value
220
+ # @param [Object] value Any valid value
221
+ # @return [Hash] Returns the value in the form of hash
222
+ def _to_hash(value)
223
+ if value.is_a?(Array)
224
+ value.compact.map { |v| _to_hash(v) }
225
+ elsif value.is_a?(Hash)
226
+ {}.tap do |hash|
227
+ value.each { |k, v| hash[k] = _to_hash(v) }
228
+ end
229
+ elsif value.respond_to? :to_hash
230
+ value.to_hash
231
+ else
232
+ value
233
+ end
234
+ end
235
+
236
+ end
237
+
238
+ end
@@ -29,6 +29,9 @@ module Fastly
29
29
 
30
30
  attr_accessor :role
31
31
 
32
+ # A list of role IDs assigned to the user.
33
+ attr_accessor :roles
34
+
32
35
  # Indicates if 2FA is enabled on the user.
33
36
  attr_accessor :two_factor_auth_enabled
34
37
 
@@ -44,6 +47,7 @@ module Fastly
44
47
  :'locked' => :'locked',
45
48
  :'require_new_password' => :'require_new_password',
46
49
  :'role' => :'role',
50
+ :'roles' => :'roles',
47
51
  :'two_factor_auth_enabled' => :'two_factor_auth_enabled',
48
52
  :'two_factor_setup_required' => :'two_factor_setup_required'
49
53
  }
@@ -63,6 +67,7 @@ module Fastly
63
67
  :'locked' => :'Boolean',
64
68
  :'require_new_password' => :'Boolean',
65
69
  :'role' => :'RoleUser',
70
+ :'roles' => :'Array<String>',
66
71
  :'two_factor_auth_enabled' => :'Boolean',
67
72
  :'two_factor_setup_required' => :'Boolean'
68
73
  }
@@ -116,6 +121,12 @@ module Fastly
116
121
  self.role = attributes[:'role']
117
122
  end
118
123
 
124
+ if attributes.key?(:'roles')
125
+ if (value = attributes[:'roles']).is_a?(Array)
126
+ self.roles = value
127
+ end
128
+ end
129
+
119
130
  if attributes.key?(:'two_factor_auth_enabled')
120
131
  self.two_factor_auth_enabled = attributes[:'two_factor_auth_enabled']
121
132
  end
@@ -149,6 +160,7 @@ module Fastly
149
160
  locked == o.locked &&
150
161
  require_new_password == o.require_new_password &&
151
162
  role == o.role &&
163
+ roles == o.roles &&
152
164
  two_factor_auth_enabled == o.two_factor_auth_enabled &&
153
165
  two_factor_setup_required == o.two_factor_setup_required
154
166
  end
@@ -162,7 +174,7 @@ module Fastly
162
174
  # Calculates hash code according to all attributes.
163
175
  # @return [Integer] Hash code
164
176
  def hash
165
- [login, name, limit_services, locked, require_new_password, role, two_factor_auth_enabled, two_factor_setup_required].hash
177
+ [login, name, limit_services, locked, require_new_password, role, roles, two_factor_auth_enabled, two_factor_setup_required].hash
166
178
  end
167
179
 
168
180
  # Builds the object from hash
@@ -29,6 +29,9 @@ module Fastly
29
29
 
30
30
  attr_accessor :role
31
31
 
32
+ # A list of role IDs assigned to the user.
33
+ attr_accessor :roles
34
+
32
35
  # Indicates if 2FA is enabled on the user.
33
36
  attr_accessor :two_factor_auth_enabled
34
37
 
@@ -60,6 +63,7 @@ module Fastly
60
63
  :'locked' => :'locked',
61
64
  :'require_new_password' => :'require_new_password',
62
65
  :'role' => :'role',
66
+ :'roles' => :'roles',
63
67
  :'two_factor_auth_enabled' => :'two_factor_auth_enabled',
64
68
  :'two_factor_setup_required' => :'two_factor_setup_required',
65
69
  :'created_at' => :'created_at',
@@ -85,6 +89,7 @@ module Fastly
85
89
  :'locked' => :'Boolean',
86
90
  :'require_new_password' => :'Boolean',
87
91
  :'role' => :'RoleUser',
92
+ :'roles' => :'Array<String>',
88
93
  :'two_factor_auth_enabled' => :'Boolean',
89
94
  :'two_factor_setup_required' => :'Boolean',
90
95
  :'created_at' => :'Time',
@@ -156,6 +161,12 @@ module Fastly
156
161
  self.role = attributes[:'role']
157
162
  end
158
163
 
164
+ if attributes.key?(:'roles')
165
+ if (value = attributes[:'roles']).is_a?(Array)
166
+ self.roles = value
167
+ end
168
+ end
169
+
159
170
  if attributes.key?(:'two_factor_auth_enabled')
160
171
  self.two_factor_auth_enabled = attributes[:'two_factor_auth_enabled']
161
172
  end
@@ -213,6 +224,7 @@ module Fastly
213
224
  locked == o.locked &&
214
225
  require_new_password == o.require_new_password &&
215
226
  role == o.role &&
227
+ roles == o.roles &&
216
228
  two_factor_auth_enabled == o.two_factor_auth_enabled &&
217
229
  two_factor_setup_required == o.two_factor_setup_required &&
218
230
  created_at == o.created_at &&
@@ -232,7 +244,7 @@ module Fastly
232
244
  # Calculates hash code according to all attributes.
233
245
  # @return [Integer] Hash code
234
246
  def hash
235
- [login, name, limit_services, locked, require_new_password, role, two_factor_auth_enabled, two_factor_setup_required, created_at, deleted_at, updated_at, id, email_hash, customer_id].hash
247
+ [login, name, limit_services, locked, require_new_password, role, roles, two_factor_auth_enabled, two_factor_setup_required, created_at, deleted_at, updated_at, id, email_hash, customer_id].hash
236
248
  end
237
249
 
238
250
  # Builds the object from hash
@@ -37,7 +37,7 @@ module Fastly
37
37
  def self.fastly_types
38
38
  {
39
39
  :'product' => :'WebsocketsResponseProductProduct',
40
- :'service' => :'BotManagementResponseServiceService',
40
+ :'service' => :'ApiDiscoveryResponseServiceService',
41
41
  :'_links' => :'WebsocketsResponseLinksLinks'
42
42
  }
43
43
  end
@@ -30,7 +30,7 @@ module Fastly
30
30
  # Attribute type mapping.
31
31
  def self.fastly_types
32
32
  {
33
- :'service' => :'BotManagementResponseServiceService'
33
+ :'service' => :'ApiDiscoveryResponseServiceService'
34
34
  }
35
35
  end
36
36
 
@@ -9,5 +9,5 @@ Contact: oss@fastly.com
9
9
  =end
10
10
 
11
11
  module Fastly
12
- VERSION = '13.1.0'
12
+ VERSION = '15.0.0'
13
13
  end
data/lib/fastly.rb CHANGED
@@ -32,7 +32,23 @@ require 'fastly/models/ai_accelerator_response_product'
32
32
  require 'fastly/models/ai_accelerator_response_product_product'
33
33
  require 'fastly/models/apex_redirect'
34
34
  require 'fastly/models/apex_redirect_all_of'
35
+ require 'fastly/models/api_discovery_response_body_get_all_services'
36
+ require 'fastly/models/api_discovery_response_customer'
37
+ require 'fastly/models/api_discovery_response_customer_customer'
38
+ require 'fastly/models/api_discovery_response_enable'
39
+ require 'fastly/models/api_discovery_response_enabled_services'
40
+ require 'fastly/models/api_discovery_response_links'
41
+ require 'fastly/models/api_discovery_response_links_get_all_services'
42
+ require 'fastly/models/api_discovery_response_links_get_all_services_links'
43
+ require 'fastly/models/api_discovery_response_links_links'
44
+ require 'fastly/models/api_discovery_response_product'
45
+ require 'fastly/models/api_discovery_response_product_product'
46
+ require 'fastly/models/api_discovery_response_service'
47
+ require 'fastly/models/api_discovery_response_service_service'
35
48
  require 'fastly/models/async_response'
49
+ require 'fastly/models/attack_report'
50
+ require 'fastly/models/attack_signal'
51
+ require 'fastly/models/attack_source'
36
52
  require 'fastly/models/automation_token'
37
53
  require 'fastly/models/automation_token_create_request'
38
54
  require 'fastly/models/automation_token_create_request_attributes'
@@ -64,7 +80,6 @@ require 'fastly/models/bot_management_response_links_links'
64
80
  require 'fastly/models/bot_management_response_product'
65
81
  require 'fastly/models/bot_management_response_product_product'
66
82
  require 'fastly/models/bot_management_response_service'
67
- require 'fastly/models/bot_management_response_service_service'
68
83
  require 'fastly/models/brotli_compression_response_body_enable'
69
84
  require 'fastly/models/brotli_compression_response_body_get_all_services'
70
85
  require 'fastly/models/brotli_compression_response_customer'
@@ -124,14 +139,15 @@ require 'fastly/models/dashboard_item_property_visualization'
124
139
  require 'fastly/models/dashboard_item_property_visualization_property_config'
125
140
  require 'fastly/models/dashboard_property_created_by'
126
141
  require 'fastly/models/dashboard_property_updated_by'
127
- require 'fastly/models/ddos_protection_action'
128
142
  require 'fastly/models/ddos_protection_attribute_stats'
129
143
  require 'fastly/models/ddos_protection_attribute_value'
130
144
  require 'fastly/models/ddos_protection_error'
131
145
  require 'fastly/models/ddos_protection_error_errors'
132
146
  require 'fastly/models/ddos_protection_event'
133
147
  require 'fastly/models/ddos_protection_event_all_of'
148
+ require 'fastly/models/ddos_protection_invalid_request'
134
149
  require 'fastly/models/ddos_protection_not_authenticated'
150
+ require 'fastly/models/ddos_protection_not_authorized'
135
151
  require 'fastly/models/ddos_protection_not_found'
136
152
  require 'fastly/models/ddos_protection_request_update_configuration'
137
153
  require 'fastly/models/ddos_protection_response_body_get_all_services'
@@ -150,7 +166,9 @@ require 'fastly/models/ddos_protection_response_product_product'
150
166
  require 'fastly/models/ddos_protection_response_service'
151
167
  require 'fastly/models/ddos_protection_rule'
152
168
  require 'fastly/models/ddos_protection_rule_all_of'
153
- require 'fastly/models/ddos_protection_traffic_attribute'
169
+ require 'fastly/models/ddos_protection_rule_patch'
170
+ require 'fastly/models/ddos_protection_rule_with_stats'
171
+ require 'fastly/models/ddos_protection_rule_with_stats_all_of'
154
172
  require 'fastly/models/ddos_protection_traffic_stats'
155
173
  require 'fastly/models/ddos_protection_traffic_stats_all_of'
156
174
  require 'fastly/models/default_settings'
@@ -263,12 +281,12 @@ require 'fastly/models/http3_all_of'
263
281
  require 'fastly/models/http_response_format'
264
282
  require 'fastly/models/http_stream_format'
265
283
  require 'fastly/models/iam_permission'
266
- require 'fastly/models/iam_role'
267
- require 'fastly/models/iam_role_all_of'
268
284
  require 'fastly/models/iam_service_group'
269
285
  require 'fastly/models/iam_service_group_all_of'
270
286
  require 'fastly/models/iam_user_group'
271
287
  require 'fastly/models/iam_user_group_all_of'
288
+ require 'fastly/models/iam_v1_role_list_response'
289
+ require 'fastly/models/iam_v1_role_response'
272
290
  require 'fastly/models/image_optimizer_response_body_enable'
273
291
  require 'fastly/models/image_optimizer_response_body_get_all_services'
274
292
  require 'fastly/models/image_optimizer_response_customer'
@@ -286,6 +304,7 @@ require 'fastly/models/inline_object'
286
304
  require 'fastly/models/inline_object1'
287
305
  require 'fastly/models/inline_response200'
288
306
  require 'fastly/models/inline_response2001'
307
+ require 'fastly/models/inline_response20010'
289
308
  require 'fastly/models/inline_response2002'
290
309
  require 'fastly/models/inline_response2003'
291
310
  require 'fastly/models/inline_response2004'
@@ -314,9 +333,12 @@ require 'fastly/models/kv_store_batch_response_errors'
314
333
  require 'fastly/models/kv_store_details'
315
334
  require 'fastly/models/kv_store_request_create'
316
335
  require 'fastly/models/kv_store_upsert_batch'
336
+ require 'fastly/models/list_attack_report'
337
+ require 'fastly/models/list_attack_report_meta'
317
338
  require 'fastly/models/list_customer_addresses_response'
318
339
  require 'fastly/models/list_dashboards_response'
319
340
  require 'fastly/models/list_eom_invoices_response'
341
+ require 'fastly/models/list_signal_report'
320
342
  require 'fastly/models/listinvoices'
321
343
  require 'fastly/models/log_aggregations_filter_field_item'
322
344
  require 'fastly/models/log_aggregations_get_response'
@@ -343,13 +365,6 @@ require 'fastly/models/log_insights_meta_filter'
343
365
  require 'fastly/models/log_insights_values'
344
366
  require 'fastly/models/log_property_service_id'
345
367
  require 'fastly/models/log_record'
346
- require 'fastly/models/log_timeseries_filter_field_item'
347
- require 'fastly/models/log_timeseries_get_response'
348
- require 'fastly/models/log_timeseries_get_response_meta'
349
- require 'fastly/models/log_timeseries_get_response_meta_filters'
350
- require 'fastly/models/log_timeseries_result'
351
- require 'fastly/models/log_timeseries_result_dimensions'
352
- require 'fastly/models/log_timeseries_value_field'
353
368
  require 'fastly/models/logging_address_and_port'
354
369
  require 'fastly/models/logging_azureblob_additional'
355
370
  require 'fastly/models/logging_azureblob_response'
@@ -594,6 +609,8 @@ require 'fastly/models/relationships_for_tls_configuration'
594
609
  require 'fastly/models/relationships_for_tls_domain'
595
610
  require 'fastly/models/relationships_for_tls_private_key'
596
611
  require 'fastly/models/relationships_for_tls_subscription'
612
+ require 'fastly/models/request_body_for_create'
613
+ require 'fastly/models/request_body_for_update'
597
614
  require 'fastly/models/request_settings_additional'
598
615
  require 'fastly/models/request_settings_response'
599
616
  require 'fastly/models/request_settings_response_all_of'
@@ -656,6 +673,7 @@ require 'fastly/models/serviceusagetype'
656
673
  require 'fastly/models/serviceusagetypes'
657
674
  require 'fastly/models/settings'
658
675
  require 'fastly/models/settings_response'
676
+ require 'fastly/models/signal_report'
659
677
  require 'fastly/models/signing_key'
660
678
  require 'fastly/models/snippet'
661
679
  require 'fastly/models/snippet_response'
@@ -665,9 +683,14 @@ require 'fastly/models/star_data'
665
683
  require 'fastly/models/star_response'
666
684
  require 'fastly/models/star_response_all_of'
667
685
  require 'fastly/models/stats'
686
+ require 'fastly/models/successful_response_as_object'
687
+ require 'fastly/models/successful_response_as_object_all_of'
668
688
  require 'fastly/models/sudo_generic_token_error'
669
689
  require 'fastly/models/sudo_request'
670
690
  require 'fastly/models/sudo_response'
691
+ require 'fastly/models/timeseries_get_response'
692
+ require 'fastly/models/timeseries_meta'
693
+ require 'fastly/models/timeseries_result'
671
694
  require 'fastly/models/timestamps'
672
695
  require 'fastly/models/timestamps_no_delete'
673
696
  require 'fastly/models/tls_activation'
@@ -746,6 +769,7 @@ require 'fastly/models/token_created_response_all_of'
746
769
  require 'fastly/models/token_response'
747
770
  require 'fastly/models/token_response_all_of'
748
771
  require 'fastly/models/tokens_additional_props'
772
+ require 'fastly/models/top_workspace'
749
773
  require 'fastly/models/type_billing_address'
750
774
  require 'fastly/models/type_contact'
751
775
  require 'fastly/models/type_customer'
@@ -840,6 +864,7 @@ require 'fastly/api/dictionary_item_api'
840
864
  require 'fastly/api/diff_api'
841
865
  require 'fastly/api/director_api'
842
866
  require 'fastly/api/director_backend_api'
867
+ require 'fastly/api/dm_domains_api'
843
868
  require 'fastly/api/domain_api'
844
869
  require 'fastly/api/domain_inspector_historical_api'
845
870
  require 'fastly/api/domain_inspector_realtime_api'
@@ -889,16 +914,18 @@ require 'fastly/api/logging_splunk_api'
889
914
  require 'fastly/api/logging_sumologic_api'
890
915
  require 'fastly/api/logging_syslog_api'
891
916
  require 'fastly/api/mutual_authentication_api'
917
+ require 'fastly/api/ngwaf_reports_api'
892
918
  require 'fastly/api/object_storage_access_keys_api'
893
919
  require 'fastly/api/observability_aggregations_for_logs_api'
894
920
  require 'fastly/api/observability_custom_dashboards_api'
895
- require 'fastly/api/observability_timeseries_for_logs_api'
921
+ require 'fastly/api/observability_timeseries_api'
896
922
  require 'fastly/api/origin_inspector_historical_api'
897
923
  require 'fastly/api/origin_inspector_realtime_api'
898
924
  require 'fastly/api/package_api'
899
925
  require 'fastly/api/pool_api'
900
926
  require 'fastly/api/pop_api'
901
927
  require 'fastly/api/product_ai_accelerator_api'
928
+ require 'fastly/api/product_api_discovery_api'
902
929
  require 'fastly/api/product_bot_management_api'
903
930
  require 'fastly/api/product_brotli_compression_api'
904
931
  require 'fastly/api/product_ddos_protection_api'
data/sig.json CHANGED
@@ -1 +1 @@
1
- {"G": "bb3cb969", "D": "6e6e26c6"}
1
+ {"G": "6ebb4bfe", "D": "db064767"}