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
@@ -230,7 +230,7 @@ module Fastly
230
230
  # @option opts [String] :store_id (required)
231
231
  # @option opts [String] :cursor Cursor value from the `next_cursor` field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
232
232
  # @option opts [String] :limit Number of results per page. The maximum is 200. (default to '100')
233
- # @return [InlineResponse2008]
233
+ # @return [InlineResponse2009]
234
234
  def get_secrets(opts = {})
235
235
  data, _status_code, _headers = get_secrets_with_http_info(opts)
236
236
  data
@@ -241,7 +241,7 @@ module Fastly
241
241
  # @option opts [String] :store_id (required)
242
242
  # @option opts [String] :cursor Cursor value from the `next_cursor` field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
243
243
  # @option opts [String] :limit Number of results per page. The maximum is 200. (default to '100')
244
- # @return [Array<(InlineResponse2008, Integer, Hash)>] InlineResponse2008 data, response status code and response headers
244
+ # @return [Array<(InlineResponse2009, Integer, Hash)>] InlineResponse2009 data, response status code and response headers
245
245
  def get_secrets_with_http_info(opts = {})
246
246
  if @api_client.config.debugging
247
247
  @api_client.config.logger.debug 'Calling API: SecretStoreItemApi.get_secrets ...'
@@ -272,7 +272,7 @@ module Fastly
272
272
  post_body = opts[:debug_body]
273
273
 
274
274
  # return_type
275
- return_type = opts[:debug_return_type] || 'InlineResponse2008'
275
+ return_type = opts[:debug_return_type] || 'InlineResponse2009'
276
276
 
277
277
  # auth_names
278
278
  auth_names = opts[:debug_auth_names] || ['token']
@@ -144,7 +144,7 @@ module Fastly
144
144
  # Delete service authorizations
145
145
  # Delete service authorizations.
146
146
  # @option opts [Hash<String, Object>] :request_body
147
- # @return [InlineResponse2009]
147
+ # @return [InlineResponse20010]
148
148
  def delete_service_authorization2(opts = {})
149
149
  data, _status_code, _headers = delete_service_authorization2_with_http_info(opts)
150
150
  data
@@ -153,7 +153,7 @@ module Fastly
153
153
  # Delete service authorizations
154
154
  # Delete service authorizations.
155
155
  # @option opts [Hash<String, Object>] :request_body
156
- # @return [Array<(InlineResponse2009, Integer, Hash)>] InlineResponse2009 data, response status code and response headers
156
+ # @return [Array<(InlineResponse20010, Integer, Hash)>] InlineResponse20010 data, response status code and response headers
157
157
  def delete_service_authorization2_with_http_info(opts = {})
158
158
  if @api_client.config.debugging
159
159
  @api_client.config.logger.debug 'Calling API: ServiceAuthorizationsApi.delete_service_authorization2 ...'
@@ -182,7 +182,7 @@ module Fastly
182
182
  post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'request_body'])
183
183
 
184
184
  # return_type
185
- return_type = opts[:debug_return_type] || 'InlineResponse2009'
185
+ return_type = opts[:debug_return_type] || 'InlineResponse20010'
186
186
 
187
187
  # auth_names
188
188
  auth_names = opts[:debug_auth_names] || ['token']
@@ -96,7 +96,6 @@ module Fastly
96
96
 
97
97
  # Create a TLS subscription
98
98
  # Create a new TLS subscription. This response includes a list of possible challenges to verify domain ownership.
99
- # @option opts [Boolean] :force A flag that allows you to edit and delete a subscription with active domains. Valid to use on PATCH and DELETE actions. As a warning, removing an active domain from a subscription or forcing the deletion of a subscription may result in breaking TLS termination to that domain.
100
99
  # @option opts [TlsSubscription] :tls_subscription
101
100
  # @return [TlsSubscriptionResponse]
102
101
  def create_tls_sub(opts = {})
@@ -106,7 +105,6 @@ module Fastly
106
105
 
107
106
  # Create a TLS subscription
108
107
  # Create a new TLS subscription. This response includes a list of possible challenges to verify domain ownership.
109
- # @option opts [Boolean] :force A flag that allows you to edit and delete a subscription with active domains. Valid to use on PATCH and DELETE actions. As a warning, removing an active domain from a subscription or forcing the deletion of a subscription may result in breaking TLS termination to that domain.
110
108
  # @option opts [TlsSubscription] :tls_subscription
111
109
  # @return [Array<(TlsSubscriptionResponse, Integer, Hash)>] TlsSubscriptionResponse data, response status code and response headers
112
110
  def create_tls_sub_with_http_info(opts = {})
@@ -119,7 +117,6 @@ module Fastly
119
117
 
120
118
  # query parameters
121
119
  query_params = opts[:query_params] || {}
122
- query_params[:'force'] = opts[:'force'] if !opts[:'force'].nil?
123
120
 
124
121
  # header parameters
125
122
  header_params = opts[:header_params] || {}
@@ -25,6 +25,7 @@ module Fastly
25
25
  # @option opts [Boolean] :locked Indicates whether the is account is locked for editing or not.
26
26
  # @option opts [Boolean] :require_new_password Indicates if a new password is required at next login.
27
27
  # @option opts [RoleUser] :role
28
+ # @option opts [Array<String>] :roles A list of role IDs assigned to the user.
28
29
  # @option opts [Boolean] :two_factor_auth_enabled Indicates if 2FA is enabled on the user.
29
30
  # @option opts [Boolean] :two_factor_setup_required Indicates if 2FA is required by the user&#39;s customer account.
30
31
  # @return [UserResponse]
@@ -41,6 +42,7 @@ module Fastly
41
42
  # @option opts [Boolean] :locked Indicates whether the is account is locked for editing or not.
42
43
  # @option opts [Boolean] :require_new_password Indicates if a new password is required at next login.
43
44
  # @option opts [RoleUser] :role
45
+ # @option opts [Array<String>] :roles A list of role IDs assigned to the user.
44
46
  # @option opts [Boolean] :two_factor_auth_enabled Indicates if 2FA is enabled on the user.
45
47
  # @option opts [Boolean] :two_factor_setup_required Indicates if 2FA is required by the user&#39;s customer account.
46
48
  # @return [Array<(UserResponse, Integer, Hash)>] UserResponse data, response status code and response headers
@@ -73,6 +75,7 @@ module Fastly
73
75
  form_params['locked'] = opts[:'locked'] if !opts[:'locked'].nil?
74
76
  form_params['require_new_password'] = opts[:'require_new_password'] if !opts[:'require_new_password'].nil?
75
77
  form_params['role'] = opts[:'role'] if !opts[:'role'].nil?
78
+ form_params['roles'] = @api_client.build_collection_param(opts[:'roles'], :csv) if !opts[:'roles'].nil?
76
79
  form_params['two_factor_auth_enabled'] = opts[:'two_factor_auth_enabled'] if !opts[:'two_factor_auth_enabled'].nil?
77
80
  form_params['two_factor_setup_required'] = opts[:'two_factor_setup_required'] if !opts[:'two_factor_setup_required'].nil?
78
81
 
@@ -356,6 +359,7 @@ module Fastly
356
359
  # @option opts [Boolean] :locked Indicates whether the is account is locked for editing or not.
357
360
  # @option opts [Boolean] :require_new_password Indicates if a new password is required at next login.
358
361
  # @option opts [RoleUser] :role
362
+ # @option opts [Array<String>] :roles A list of role IDs assigned to the user.
359
363
  # @option opts [Boolean] :two_factor_auth_enabled Indicates if 2FA is enabled on the user.
360
364
  # @option opts [Boolean] :two_factor_setup_required Indicates if 2FA is required by the user&#39;s customer account.
361
365
  # @return [UserResponse]
@@ -373,6 +377,7 @@ module Fastly
373
377
  # @option opts [Boolean] :locked Indicates whether the is account is locked for editing or not.
374
378
  # @option opts [Boolean] :require_new_password Indicates if a new password is required at next login.
375
379
  # @option opts [RoleUser] :role
380
+ # @option opts [Array<String>] :roles A list of role IDs assigned to the user.
376
381
  # @option opts [Boolean] :two_factor_auth_enabled Indicates if 2FA is enabled on the user.
377
382
  # @option opts [Boolean] :two_factor_setup_required Indicates if 2FA is required by the user&#39;s customer account.
378
383
  # @return [Array<(UserResponse, Integer, Hash)>] UserResponse data, response status code and response headers
@@ -410,6 +415,7 @@ module Fastly
410
415
  form_params['locked'] = opts[:'locked'] if !opts[:'locked'].nil?
411
416
  form_params['require_new_password'] = opts[:'require_new_password'] if !opts[:'require_new_password'].nil?
412
417
  form_params['role'] = opts[:'role'] if !opts[:'role'].nil?
418
+ form_params['roles'] = @api_client.build_collection_param(opts[:'roles'], :csv) if !opts[:'roles'].nil?
413
419
  form_params['two_factor_auth_enabled'] = opts[:'two_factor_auth_enabled'] if !opts[:'two_factor_auth_enabled'].nil?
414
420
  form_params['two_factor_setup_required'] = opts[:'two_factor_setup_required'] if !opts[:'two_factor_setup_required'].nil?
415
421
 
@@ -770,6 +770,12 @@ module Fastly
770
770
  description: "No description provided",
771
771
  }
772
772
  ],
773
+ "DdosProtectionApi.ddos_protection_rule_patch": [
774
+ {
775
+ url: "https://api.fastly.com",
776
+ description: "No description provided",
777
+ }
778
+ ],
773
779
  "DdosProtectionApi.ddos_protection_traffic_stats_rule_get": [
774
780
  {
775
781
  url: "https://api.fastly.com",
@@ -908,6 +914,36 @@ module Fastly
908
914
  description: "No description provided",
909
915
  }
910
916
  ],
917
+ "DmDomainsApi.create_dm_domain": [
918
+ {
919
+ url: "https://api.fastly.com",
920
+ description: "No description provided",
921
+ }
922
+ ],
923
+ "DmDomainsApi.delete_dm_domain": [
924
+ {
925
+ url: "https://api.fastly.com",
926
+ description: "No description provided",
927
+ }
928
+ ],
929
+ "DmDomainsApi.get_dm_domain": [
930
+ {
931
+ url: "https://api.fastly.com",
932
+ description: "No description provided",
933
+ }
934
+ ],
935
+ "DmDomainsApi.list_dm_domains": [
936
+ {
937
+ url: "https://api.fastly.com",
938
+ description: "No description provided",
939
+ }
940
+ ],
941
+ "DmDomainsApi.update_dm_domain": [
942
+ {
943
+ url: "https://api.fastly.com",
944
+ description: "No description provided",
945
+ }
946
+ ],
911
947
  "DomainApi.check_domain": [
912
948
  {
913
949
  url: "https://api.fastly.com",
@@ -1160,49 +1196,13 @@ module Fastly
1160
1196
  description: "No description provided",
1161
1197
  }
1162
1198
  ],
1163
- "IamRolesApi.add_role_permissions": [
1164
- {
1165
- url: "https://api.fastly.com",
1166
- description: "No description provided",
1167
- }
1168
- ],
1169
- "IamRolesApi.create_a_role": [
1170
- {
1171
- url: "https://api.fastly.com",
1172
- description: "No description provided",
1173
- }
1174
- ],
1175
- "IamRolesApi.delete_a_role": [
1176
- {
1177
- url: "https://api.fastly.com",
1178
- description: "No description provided",
1179
- }
1180
- ],
1181
- "IamRolesApi.get_a_role": [
1199
+ "IamRolesApi.iam_v1_roles_get": [
1182
1200
  {
1183
1201
  url: "https://api.fastly.com",
1184
1202
  description: "No description provided",
1185
1203
  }
1186
1204
  ],
1187
- "IamRolesApi.list_role_permissions": [
1188
- {
1189
- url: "https://api.fastly.com",
1190
- description: "No description provided",
1191
- }
1192
- ],
1193
- "IamRolesApi.list_roles": [
1194
- {
1195
- url: "https://api.fastly.com",
1196
- description: "No description provided",
1197
- }
1198
- ],
1199
- "IamRolesApi.remove_role_permissions": [
1200
- {
1201
- url: "https://api.fastly.com",
1202
- description: "No description provided",
1203
- }
1204
- ],
1205
- "IamRolesApi.update_a_role": [
1205
+ "IamRolesApi.iam_v1_roles_list": [
1206
1206
  {
1207
1207
  url: "https://api.fastly.com",
1208
1208
  description: "No description provided",
@@ -2300,6 +2300,18 @@ module Fastly
2300
2300
  description: "No description provided",
2301
2301
  }
2302
2302
  ],
2303
+ "NgwafReportsApi.get_attacks_report": [
2304
+ {
2305
+ url: "https://api.fastly.com",
2306
+ description: "No description provided",
2307
+ }
2308
+ ],
2309
+ "NgwafReportsApi.get_signals_report": [
2310
+ {
2311
+ url: "https://api.fastly.com",
2312
+ description: "No description provided",
2313
+ }
2314
+ ],
2303
2315
  "ObjectStorageAccessKeysApi.create_access_key": [
2304
2316
  {
2305
2317
  url: "https://api.fastly.com",
@@ -2360,7 +2372,7 @@ module Fastly
2360
2372
  description: "No description provided",
2361
2373
  }
2362
2374
  ],
2363
- "ObservabilityTimeseriesForLogsApi.log_timeseries_get": [
2375
+ "ObservabilityTimeseriesApi.timeseries_get": [
2364
2376
  {
2365
2377
  url: "https://api.fastly.com",
2366
2378
  description: "No description provided",
@@ -2456,6 +2468,30 @@ module Fastly
2456
2468
  description: "No description provided",
2457
2469
  }
2458
2470
  ],
2471
+ "ProductApiDiscoveryApi.disable_product_api_discovery": [
2472
+ {
2473
+ url: "https://api.fastly.com",
2474
+ description: "No description provided",
2475
+ }
2476
+ ],
2477
+ "ProductApiDiscoveryApi.enable_product_api_discovery": [
2478
+ {
2479
+ url: "https://api.fastly.com",
2480
+ description: "No description provided",
2481
+ }
2482
+ ],
2483
+ "ProductApiDiscoveryApi.get_product_api_discovery": [
2484
+ {
2485
+ url: "https://api.fastly.com",
2486
+ description: "No description provided",
2487
+ }
2488
+ ],
2489
+ "ProductApiDiscoveryApi.get_services_product_api_discovery": [
2490
+ {
2491
+ url: "https://api.fastly.com",
2492
+ description: "No description provided",
2493
+ }
2494
+ ],
2459
2495
  "ProductBotManagementApi.disable_product_bot_management": [
2460
2496
  {
2461
2497
  url: "https://api.fastly.com",
@@ -0,0 +1,256 @@
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
+ class ApiDiscoveryResponseBodyGetAllServices
16
+ attr_accessor :product
17
+
18
+ attr_accessor :customer
19
+
20
+ # A list of services for a customer with API Discovery enabled.
21
+ attr_accessor :services
22
+
23
+ attr_accessor :_links
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'product' => :'product',
29
+ :'customer' => :'customer',
30
+ :'services' => :'services',
31
+ :'_links' => :'_links'
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
+ :'product' => :'ApiDiscoveryResponseProductProduct',
44
+ :'customer' => :'ApiDiscoveryResponseCustomerCustomer',
45
+ :'services' => :'Array<String>',
46
+ :'_links' => :'ApiDiscoveryResponseLinksGetAllServicesLinks'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.fastly_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # List of class defined in allOf (OpenAPI v3)
57
+ def self.fastly_all_of
58
+ [
59
+ :'ApiDiscoveryResponseCustomer',
60
+ :'ApiDiscoveryResponseEnabledServices',
61
+ :'ApiDiscoveryResponseLinksGetAllServices',
62
+ :'ApiDiscoveryResponseProduct'
63
+ ]
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::ApiDiscoveryResponseBodyGetAllServices` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!self.class.attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::ApiDiscoveryResponseBodyGetAllServices`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'product')
82
+ self.product = attributes[:'product']
83
+ end
84
+
85
+ if attributes.key?(:'customer')
86
+ self.customer = attributes[:'customer']
87
+ end
88
+
89
+ if attributes.key?(:'services')
90
+ if (value = attributes[:'services']).is_a?(Array)
91
+ self.services = value
92
+ end
93
+ end
94
+
95
+ if attributes.key?(:'_links')
96
+ self._links = attributes[:'_links']
97
+ end
98
+ end
99
+
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properties with the reasons
102
+ def list_invalid_properties
103
+ invalid_properties = Array.new
104
+ invalid_properties
105
+ end
106
+
107
+ # Check to see if the all the properties in the model are valid
108
+ # @return true if the model is valid
109
+ def valid?
110
+ true
111
+ end
112
+
113
+ # Checks equality by comparing each attribute.
114
+ # @param [Object] Object to be compared
115
+ def ==(o)
116
+ return true if self.equal?(o)
117
+ self.class == o.class &&
118
+ product == o.product &&
119
+ customer == o.customer &&
120
+ services == o.services &&
121
+ _links == o._links
122
+ end
123
+
124
+ # @see the `==` method
125
+ # @param [Object] Object to be compared
126
+ def eql?(o)
127
+ self == o
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Integer] Hash code
132
+ def hash
133
+ [product, customer, services, _links].hash
134
+ end
135
+
136
+ # Builds the object from hash
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ # @return [Object] Returns the model itself
139
+ def self.build_from_hash(attributes)
140
+ new.build_from_hash(attributes)
141
+ end
142
+
143
+ # Builds the object from hash
144
+ # @param [Hash] attributes Model attributes in the form of hash
145
+ # @return [Object] Returns the model itself
146
+ def build_from_hash(attributes)
147
+ return nil unless attributes.is_a?(Hash)
148
+ self.class.fastly_types.each_pair do |key, type|
149
+ if attributes[self.class.attribute_map[key]].nil? && self.class.fastly_nullable.include?(key)
150
+ self.send("#{key}=", nil)
151
+ elsif type =~ /\AArray<(.*)>/i
152
+ # check to ensure the input is an array given that the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
155
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
156
+ end
157
+ elsif !attributes[self.class.attribute_map[key]].nil?
158
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
159
+ end
160
+ end
161
+
162
+ self
163
+ end
164
+
165
+ # Deserializes the data based on type
166
+ # @param string type Data type
167
+ # @param string value Value to be deserialized
168
+ # @return [Object] Deserialized data
169
+ def _deserialize(type, value)
170
+ case type.to_sym
171
+ when :Time
172
+ Time.parse(value)
173
+ when :Date
174
+ Date.parse(value)
175
+ when :String
176
+ value.to_s
177
+ when :Integer
178
+ value.to_i
179
+ when :Float
180
+ value.to_f
181
+ when :Boolean
182
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
+ true
184
+ else
185
+ false
186
+ end
187
+ when :Object
188
+ # generic object (usually a Hash), return directly
189
+ value
190
+ when /\AArray<(?<inner_type>.+)>\z/
191
+ inner_type = Regexp.last_match[:inner_type]
192
+ value.map { |v| _deserialize(inner_type, v) }
193
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
194
+ k_type = Regexp.last_match[:k_type]
195
+ v_type = Regexp.last_match[:v_type]
196
+ {}.tap do |hash|
197
+ value.each do |k, v|
198
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
199
+ end
200
+ end
201
+ else # model
202
+ # models (e.g. Pet) or oneOf
203
+ klass = Fastly.const_get(type)
204
+ klass.respond_to?(:fastly_one_of) ? klass.build(value) : klass.build_from_hash(value)
205
+ end
206
+ end
207
+
208
+ # Returns the string representation of the object
209
+ # @return [String] String presentation of the object
210
+ def to_s
211
+ to_hash.to_s
212
+ end
213
+
214
+ # to_body is an alias to to_hash (backward compatibility)
215
+ # @return [Hash] Returns the object in the form of hash
216
+ def to_body
217
+ to_hash
218
+ end
219
+
220
+ # Returns the object in the form of hash
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_hash
223
+ hash = {}
224
+ self.class.attribute_map.each_pair do |attr, param|
225
+ value = self.send(attr)
226
+ if value.nil?
227
+ is_nullable = self.class.fastly_nullable.include?(attr)
228
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
229
+ end
230
+
231
+ hash[param] = _to_hash(value)
232
+ end
233
+ hash
234
+ end
235
+
236
+ # Outputs non-array value in the form of hash
237
+ # For object, use to_hash. Otherwise, just return the value
238
+ # @param [Object] value Any valid value
239
+ # @return [Hash] Returns the value in the form of hash
240
+ def _to_hash(value)
241
+ if value.is_a?(Array)
242
+ value.compact.map { |v| _to_hash(v) }
243
+ elsif value.is_a?(Hash)
244
+ {}.tap do |hash|
245
+ value.each { |k, v| hash[k] = _to_hash(v) }
246
+ end
247
+ elsif value.respond_to? :to_hash
248
+ value.to_hash
249
+ else
250
+ value
251
+ end
252
+ end
253
+
254
+ end
255
+
256
+ end