fastly 8.3.0 → 8.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d68db6bcc06d9032bb01adba51b619370a80f6bbe18118d9a10f001819724828
4
- data.tar.gz: 7a560f11b0eaacf593016e89530a5acffad64ed0bead03bfdfce8bf772f08820
3
+ metadata.gz: 9a3b09ad23055c85921187c40279e39f03a18e8837110351efe8bdf2b553f19e
4
+ data.tar.gz: c293b123ff1768e713ea7b7396b300eba9a878a8a5a012c1bc3efa30877d9704
5
5
  SHA512:
6
- metadata.gz: b30d3063da93cc6c75126453536bcf49010290bfd5ab786e7deb1918a8bcfd4144f87429597c313f814b3b65829e74b84aea5951e0d2a89516bce9ddee677f46
7
- data.tar.gz: a138590f81b90d5e156bb4d36327d2950cf820a90057bb4653a31712c5f97d62f41b06bb50cd08d29386c7ea1613265543f7878d8abc4aa6658670bf246b57d8
6
+ metadata.gz: 6a6e85c807045d1429c702c45659733af496050db271f019a82c06049cbaa8227d6c827c42495c9752c54a7e0d7eb5cff0566a90ffb43948f661a7d6517cbb93
7
+ data.tar.gz: 42b6378a4753c355b810aedd27c6144d7a63e09842fa8b06aaea01d4262bb70b68a74860614890231eea48aad2ed9e142b79299e3ce8077cefed42df9228e02a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [v8.4.0](https://github.com/fastly/fastly-ruby/releases/tag/release/v8.4.0) (2024-06-27)
4
+
5
+ **Bug fixes:**
6
+
7
+ - bugfix(alerts-definitions): For Origin derived metrics, correct `all_bandwidth` type to `integer`
8
+
9
+ **Enhancements:**
10
+
11
+ - feat(logging-s3): Add `file_max_bytes` configuration field
12
+ - feat(alerts-definitions): Add `integration_id` parameter to the List Alert Definitions endpoint
13
+ - feat(alerts-definitions): For Origin derived metrics, add `all_status_4xx_excl_404_rate` and `all_status_404_rate` properties
14
+ - feat(alerts-definitions): For Domain derived metrics, add `status_4xx_excl_404_rate` and `status_404_rate` properties
15
+ - feat(alerts-definitions): For Stats derived metrics, add `status_4xx_excl_404_rate`, `status_404_rate`, `all_status_5xx_rate`,
16
+ `all_status_4xx_rate`, `all_status_gte_400_rate`, and `all_status_lt_500_rate` properties
17
+ - feat(billing-invoices): For invoice line items, added `ProductLine` property
18
+
19
+ **Documentation:**
20
+
21
+ - doc(billing-invoices): "Billing Invoices API" relabeled to "Invoices API"
22
+ - doc(billing-invoices): Updated documentation of `billing_start_date` and `billing_end_date` query parameters of
23
+ List of invoices endpoint
24
+ - doc(alerts-definitions): Updated documentation of several fields
25
+ - doc(notification-service): Updated documentation examples for several fields
26
+
3
27
  ## [v8.3.0](https://github.com/fastly/fastly-ruby/releases/tag/release/v8.3.0) (2024-05-24)
4
28
 
5
29
  **Bug fixes:**
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fastly (8.3.0)
4
+ fastly (8.4.0)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -12,7 +12,8 @@ GEM
12
12
  coderay (1.1.3)
13
13
  ethon (0.16.0)
14
14
  ffi (>= 1.15.0)
15
- ffi (1.16.3)
15
+ ffi (1.17.0-arm64-darwin)
16
+ ffi (1.17.0-x86_64-linux-gnu)
16
17
  jaro_winkler (1.5.4)
17
18
  method_source (1.0.0)
18
19
  parallel (1.21.0)
data/README.md CHANGED
@@ -8,7 +8,7 @@ A Ruby client library for interacting with most facets of the [Fastly API](https
8
8
  To install via RubyGems, add the following to your project's `Gemfile`:
9
9
 
10
10
  ```ruby
11
- gem 'fastly', '~> 8.3.0'
11
+ gem 'fastly', '~> 8.4.0'
12
12
  ```
13
13
 
14
14
  Then run `bundle install`.
@@ -621,6 +621,8 @@ The fastly-ruby API client currently does not support the following endpoints:
621
621
  - [`/resources/stores/kv/{store_id}/batch`](https://www.fastly.com/documentation/reference/api/services/resources/kv-store-item) (PUT)
622
622
  - [`/tls/activations/{tls_activation_id}`](https://www.fastly.com/documentation/reference/api/tls/mutual-tls/activations) (GET, PATCH)
623
623
  - [`/tls/activations`](https://www.fastly.com/documentation/reference/api/tls/mutual-tls/activations) (GET)
624
+ - [`/tls/preview/domains/{tls_preview_domain_id}`](https://www.fastly.com/documentation/reference/api/) (GET, PATCH)
625
+ - [`/tls/preview/domains`](https://www.fastly.com/documentation/reference/api/) (GET, POST)
624
626
  - [`/v1/channel/{service_id}/ts/h/limit/{max_entries}`](https://www.fastly.com/documentation/reference/api/metrics-stats/origin-insights) (GET)
625
627
  - [`/v1/channel/{service_id}/ts/h`](https://www.fastly.com/documentation/reference/api/metrics-stats/origin-insights) (GET)
626
628
  - [`/v1/channel/{service_id}/ts/{start_timestamp}`](https://www.fastly.com/documentation/reference/api/metrics-stats/origin-insights) (GET)
@@ -67,8 +67,8 @@ Returns the list of invoices, sorted by billing start date (newest to oldest).
67
67
  ```ruby
68
68
  api_instance = Fastly::BillingInvoicesApi.new
69
69
  opts = {
70
- billing_start_date: '2023-01-01T00:00:00Z', # String |
71
- billing_end_date: '2023-01-31T00:00:00Z', # String |
70
+ billing_start_date: '2023-01-01', # String |
71
+ billing_end_date: '2023-01-31', # String |
72
72
  limit: 'limit_example', # String | Number of results per page. The maximum is 200.
73
73
  cursor: 'cursor_example', # String | 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.
74
74
  }
@@ -11,6 +11,7 @@
11
11
  | **units** | **Float** | Total number of units of usage. | [optional] |
12
12
  | **product_name** | **String** | The name of the product. | [optional] |
13
13
  | **product_group** | **String** | The broader classification of the product (e.g., `Compute` or `Full-Site Delivery`). | [optional] |
14
+ | **product_line** | **String** | The broader classification of the product (e.g., `Network Services` or `Security`). | [optional] |
14
15
  | **region** | **String** | The geographical area applicable for regionally based products. | [optional] |
15
16
  | **usage_type** | **String** | The unit of measure (e.g., `requests` or `bandwidth`). | [optional] |
16
17
 
@@ -15,6 +15,7 @@
15
15
  | **secret_key** | **String** | The secret key for your S3 account. Not required if `iam_role` is provided. | [optional] |
16
16
  | **server_side_encryption_kms_key_id** | **String** | Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`. | [optional][default to 'null'] |
17
17
  | **server_side_encryption** | **String** | Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption. | [optional][default to 'null'] |
18
+ | **file_max_bytes** | **Integer** | The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.) | [optional] |
18
19
 
19
20
  [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
20
21
 
data/docs/LoggingS3Api.md CHANGED
@@ -56,6 +56,7 @@ opts = {
56
56
  secret_key: 'secret_key_example', # String | The secret key for your S3 account. Not required if `iam_role` is provided.
57
57
  server_side_encryption_kms_key_id: 'server_side_encryption_kms_key_id_example', # String | Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`.
58
58
  server_side_encryption: 'server_side_encryption_example', # String | Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption.
59
+ file_max_bytes: 56, # Integer | The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
59
60
  }
60
61
 
61
62
  begin
@@ -94,6 +95,7 @@ end
94
95
  | **secret_key** | **String** | The secret key for your S3 account. Not required if `iam_role` is provided. | [optional] |
95
96
  | **server_side_encryption_kms_key_id** | **String** | Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`. | [optional][default to 'null'] |
96
97
  | **server_side_encryption** | **String** | Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption. | [optional][default to 'null'] |
98
+ | **file_max_bytes** | **Integer** | The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.) | [optional] |
97
99
 
98
100
  ### Return type
99
101
 
@@ -259,6 +261,7 @@ opts = {
259
261
  secret_key: 'secret_key_example', # String | The secret key for your S3 account. Not required if `iam_role` is provided.
260
262
  server_side_encryption_kms_key_id: 'server_side_encryption_kms_key_id_example', # String | Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`.
261
263
  server_side_encryption: 'server_side_encryption_example', # String | Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption.
264
+ file_max_bytes: 56, # Integer | The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
262
265
  }
263
266
 
264
267
  begin
@@ -298,6 +301,7 @@ end
298
301
  | **secret_key** | **String** | The secret key for your S3 account. Not required if `iam_role` is provided. | [optional] |
299
302
  | **server_side_encryption_kms_key_id** | **String** | Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`. | [optional][default to 'null'] |
300
303
  | **server_side_encryption** | **String** | Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption. | [optional][default to 'null'] |
304
+ | **file_max_bytes** | **Integer** | The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.) | [optional] |
301
305
 
302
306
  ### Return type
303
307
 
@@ -30,6 +30,7 @@
30
30
  | **secret_key** | **String** | The secret key for your S3 account. Not required if `iam_role` is provided. | [optional] |
31
31
  | **server_side_encryption_kms_key_id** | **String** | Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`. | [optional][default to 'null'] |
32
32
  | **server_side_encryption** | **String** | Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption. | [optional][default to 'null'] |
33
+ | **file_max_bytes** | **Integer** | The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.) | [optional] |
33
34
 
34
35
  [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
35
36
 
@@ -42,6 +42,7 @@ module Fastly
42
42
  # @option opts [String] :secret_key The secret key for your S3 account. Not required if `iam_role` is provided.
43
43
  # @option opts [String] :server_side_encryption_kms_key_id Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`. (default to 'null')
44
44
  # @option opts [String] :server_side_encryption Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption. (default to 'null')
45
+ # @option opts [Integer] :file_max_bytes The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
45
46
  # @return [LoggingS3Response]
46
47
  def create_log_aws_s3(opts = {})
47
48
  data, _status_code, _headers = create_log_aws_s3_with_http_info(opts)
@@ -73,6 +74,7 @@ module Fastly
73
74
  # @option opts [String] :secret_key The secret key for your S3 account. Not required if `iam_role` is provided.
74
75
  # @option opts [String] :server_side_encryption_kms_key_id Optional server-side KMS Key Id. Must be set if `server_side_encryption` is set to `aws:kms` or `AES256`. (default to 'null')
75
76
  # @option opts [String] :server_side_encryption Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption. (default to 'null')
77
+ # @option opts [Integer] :file_max_bytes The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
76
78
  # @return [Array<(LoggingS3Response, Integer, Hash)>] LoggingS3Response data, response status code and response headers
77
79
  def create_log_aws_s3_with_http_info(opts = {})
78
80
  if @api_client.config.debugging
@@ -105,6 +107,10 @@ module Fastly
105
107
  if @api_client.config.client_side_validation && opts[:'compression_codec'] && !allowable_values.include?(opts[:'compression_codec'])
106
108
  fail ArgumentError, "invalid value for \"compression_codec\", must be one of #{allowable_values}"
107
109
  end
110
+ if @api_client.config.client_side_validation && !opts[:'file_max_bytes'].nil? && opts[:'file_max_bytes'] < 1048576
111
+ fail ArgumentError, 'invalid value for "opts[:"file_max_bytes"]" when calling LoggingS3Api.create_log_aws_s3, must be greater than or equal to 1048576.'
112
+ end
113
+
108
114
  # resource path
109
115
  local_var_path = '/service/{service_id}/version/{version_id}/logging/s3'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s))
110
116
 
@@ -144,6 +150,7 @@ module Fastly
144
150
  form_params['secret_key'] = opts[:'secret_key'] if !opts[:'secret_key'].nil?
145
151
  form_params['server_side_encryption_kms_key_id'] = opts[:'server_side_encryption_kms_key_id'] if !opts[:'server_side_encryption_kms_key_id'].nil?
146
152
  form_params['server_side_encryption'] = opts[:'server_side_encryption'] if !opts[:'server_side_encryption'].nil?
153
+ form_params['file_max_bytes'] = opts[:'file_max_bytes'] if !opts[:'file_max_bytes'].nil?
147
154
 
148
155
  # http body (model)
149
156
  post_body = opts[:debug_body]
@@ -421,6 +428,7 @@ module Fastly
421
428
  # @option opts [String] :secret_key The secret key for your S3 account. Not required if &#x60;iam_role&#x60; is provided.
422
429
  # @option opts [String] :server_side_encryption_kms_key_id Optional server-side KMS Key Id. Must be set if &#x60;server_side_encryption&#x60; is set to &#x60;aws:kms&#x60; or &#x60;AES256&#x60;. (default to 'null')
423
430
  # @option opts [String] :server_side_encryption Set this to &#x60;AES256&#x60; or &#x60;aws:kms&#x60; to enable S3 Server Side Encryption. (default to 'null')
431
+ # @option opts [Integer] :file_max_bytes The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
424
432
  # @return [LoggingS3Response]
425
433
  def update_log_aws_s3(opts = {})
426
434
  data, _status_code, _headers = update_log_aws_s3_with_http_info(opts)
@@ -453,6 +461,7 @@ module Fastly
453
461
  # @option opts [String] :secret_key The secret key for your S3 account. Not required if &#x60;iam_role&#x60; is provided.
454
462
  # @option opts [String] :server_side_encryption_kms_key_id Optional server-side KMS Key Id. Must be set if &#x60;server_side_encryption&#x60; is set to &#x60;aws:kms&#x60; or &#x60;AES256&#x60;. (default to 'null')
455
463
  # @option opts [String] :server_side_encryption Set this to &#x60;AES256&#x60; or &#x60;aws:kms&#x60; to enable S3 Server Side Encryption. (default to 'null')
464
+ # @option opts [Integer] :file_max_bytes The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
456
465
  # @return [Array<(LoggingS3Response, Integer, Hash)>] LoggingS3Response data, response status code and response headers
457
466
  def update_log_aws_s3_with_http_info(opts = {})
458
467
  if @api_client.config.debugging
@@ -490,6 +499,10 @@ module Fastly
490
499
  if @api_client.config.client_side_validation && opts[:'compression_codec'] && !allowable_values.include?(opts[:'compression_codec'])
491
500
  fail ArgumentError, "invalid value for \"compression_codec\", must be one of #{allowable_values}"
492
501
  end
502
+ if @api_client.config.client_side_validation && !opts[:'file_max_bytes'].nil? && opts[:'file_max_bytes'] < 1048576
503
+ fail ArgumentError, 'invalid value for "opts[:"file_max_bytes"]" when calling LoggingS3Api.update_log_aws_s3, must be greater than or equal to 1048576.'
504
+ end
505
+
493
506
  # resource path
494
507
  local_var_path = '/service/{service_id}/version/{version_id}/logging/s3/{logging_s3_name}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s)).sub('{' + 'logging_s3_name' + '}', CGI.escape(logging_s3_name.to_s))
495
508
 
@@ -529,6 +542,7 @@ module Fastly
529
542
  form_params['secret_key'] = opts[:'secret_key'] if !opts[:'secret_key'].nil?
530
543
  form_params['server_side_encryption_kms_key_id'] = opts[:'server_side_encryption_kms_key_id'] if !opts[:'server_side_encryption_kms_key_id'].nil?
531
544
  form_params['server_side_encryption'] = opts[:'server_side_encryption'] if !opts[:'server_side_encryption'].nil?
545
+ form_params['file_max_bytes'] = opts[:'file_max_bytes'] if !opts[:'file_max_bytes'].nil?
532
546
 
533
547
  # http body (model)
534
548
  post_body = opts[:debug_body]
@@ -34,6 +34,9 @@ module Fastly
34
34
  # The broader classification of the product (e.g., `Compute` or `Full-Site Delivery`).
35
35
  attr_accessor :product_group
36
36
 
37
+ # The broader classification of the product (e.g., `Network Services` or `Security`).
38
+ attr_accessor :product_line
39
+
37
40
  # The geographical area applicable for regionally based products.
38
41
  attr_accessor :region
39
42
 
@@ -50,6 +53,7 @@ module Fastly
50
53
  :'units' => :'units',
51
54
  :'product_name' => :'ProductName',
52
55
  :'product_group' => :'ProductGroup',
56
+ :'product_line' => :'ProductLine',
53
57
  :'region' => :'Region',
54
58
  :'usage_type' => :'UsageType'
55
59
  }
@@ -70,6 +74,7 @@ module Fastly
70
74
  :'units' => :'Float',
71
75
  :'product_name' => :'String',
72
76
  :'product_group' => :'String',
77
+ :'product_line' => :'String',
73
78
  :'region' => :'String',
74
79
  :'usage_type' => :'String'
75
80
  }
@@ -124,6 +129,10 @@ module Fastly
124
129
  self.product_group = attributes[:'product_group']
125
130
  end
126
131
 
132
+ if attributes.key?(:'product_line')
133
+ self.product_line = attributes[:'product_line']
134
+ end
135
+
127
136
  if attributes.key?(:'region')
128
137
  self.region = attributes[:'region']
129
138
  end
@@ -158,6 +167,7 @@ module Fastly
158
167
  units == o.units &&
159
168
  product_name == o.product_name &&
160
169
  product_group == o.product_group &&
170
+ product_line == o.product_line &&
161
171
  region == o.region &&
162
172
  usage_type == o.usage_type
163
173
  end
@@ -171,7 +181,7 @@ module Fastly
171
181
  # Calculates hash code according to all attributes.
172
182
  # @return [Integer] Hash code
173
183
  def hash
174
- [description, amount, credit_coupon_code, rate, units, product_name, product_group, region, usage_type].hash
184
+ [description, amount, credit_coupon_code, rate, units, product_name, product_group, product_line, region, usage_type].hash
175
185
  end
176
186
 
177
187
  # Builds the object from hash
@@ -46,6 +46,9 @@ module Fastly
46
46
  # Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption.
47
47
  attr_accessor :server_side_encryption
48
48
 
49
+ # The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
50
+ attr_accessor :file_max_bytes
51
+
49
52
  # Attribute mapping from ruby-style variable name to JSON key.
50
53
  def self.attribute_map
51
54
  {
@@ -59,7 +62,8 @@ module Fastly
59
62
  :'redundancy' => :'redundancy',
60
63
  :'secret_key' => :'secret_key',
61
64
  :'server_side_encryption_kms_key_id' => :'server_side_encryption_kms_key_id',
62
- :'server_side_encryption' => :'server_side_encryption'
65
+ :'server_side_encryption' => :'server_side_encryption',
66
+ :'file_max_bytes' => :'file_max_bytes'
63
67
  }
64
68
  end
65
69
 
@@ -81,7 +85,8 @@ module Fastly
81
85
  :'redundancy' => :'String',
82
86
  :'secret_key' => :'String',
83
87
  :'server_side_encryption_kms_key_id' => :'String',
84
- :'server_side_encryption' => :'String'
88
+ :'server_side_encryption' => :'String',
89
+ :'file_max_bytes' => :'Integer'
85
90
  }
86
91
  end
87
92
 
@@ -95,7 +100,7 @@ module Fastly
95
100
  :'redundancy',
96
101
  :'secret_key',
97
102
  :'server_side_encryption_kms_key_id',
98
- :'server_side_encryption'
103
+ :'server_side_encryption',
99
104
  ])
100
105
  end
101
106
 
@@ -167,21 +172,40 @@ module Fastly
167
172
  else
168
173
  self.server_side_encryption = 'null'
169
174
  end
175
+
176
+ if attributes.key?(:'file_max_bytes')
177
+ self.file_max_bytes = attributes[:'file_max_bytes']
178
+ end
170
179
  end
171
180
 
172
181
  # Show invalid properties with the reasons. Usually used together with valid?
173
182
  # @return Array for valid properties with the reasons
174
183
  def list_invalid_properties
175
184
  invalid_properties = Array.new
185
+ if !@file_max_bytes.nil? && @file_max_bytes < 1048576
186
+ invalid_properties.push('invalid value for "file_max_bytes", must be greater than or equal to 1048576.')
187
+ end
188
+
176
189
  invalid_properties
177
190
  end
178
191
 
179
192
  # Check to see if the all the properties in the model are valid
180
193
  # @return true if the model is valid
181
194
  def valid?
195
+ return false if !@file_max_bytes.nil? && @file_max_bytes < 1048576
182
196
  true
183
197
  end
184
198
 
199
+ # Custom attribute writer method with validation
200
+ # @param [Object] file_max_bytes Value to be assigned
201
+ def file_max_bytes=(file_max_bytes)
202
+ if !file_max_bytes.nil? && file_max_bytes < 1048576
203
+ fail ArgumentError, 'invalid value for "file_max_bytes", must be greater than or equal to 1048576.'
204
+ end
205
+
206
+ @file_max_bytes = file_max_bytes
207
+ end
208
+
185
209
  # Checks equality by comparing each attribute.
186
210
  # @param [Object] Object to be compared
187
211
  def ==(o)
@@ -197,7 +221,8 @@ module Fastly
197
221
  redundancy == o.redundancy &&
198
222
  secret_key == o.secret_key &&
199
223
  server_side_encryption_kms_key_id == o.server_side_encryption_kms_key_id &&
200
- server_side_encryption == o.server_side_encryption
224
+ server_side_encryption == o.server_side_encryption &&
225
+ file_max_bytes == o.file_max_bytes
201
226
  end
202
227
 
203
228
  # @see the `==` method
@@ -209,7 +234,7 @@ module Fastly
209
234
  # Calculates hash code according to all attributes.
210
235
  # @return [Integer] Hash code
211
236
  def hash
212
- [access_key, acl, bucket_name, domain, iam_role, path, public_key, redundancy, secret_key, server_side_encryption_kms_key_id, server_side_encryption].hash
237
+ [access_key, acl, bucket_name, domain, iam_role, path, public_key, redundancy, secret_key, server_side_encryption_kms_key_id, server_side_encryption, file_max_bytes].hash
213
238
  end
214
239
 
215
240
  # Builds the object from hash
@@ -89,6 +89,9 @@ module Fastly
89
89
  # Set this to `AES256` or `aws:kms` to enable S3 Server Side Encryption.
90
90
  attr_accessor :server_side_encryption
91
91
 
92
+ # The maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.)
93
+ attr_accessor :file_max_bytes
94
+
92
95
  class EnumAttributeValidator
93
96
  attr_reader :datatype
94
97
  attr_reader :allowable_values
@@ -139,7 +142,8 @@ module Fastly
139
142
  :'redundancy' => :'redundancy',
140
143
  :'secret_key' => :'secret_key',
141
144
  :'server_side_encryption_kms_key_id' => :'server_side_encryption_kms_key_id',
142
- :'server_side_encryption' => :'server_side_encryption'
145
+ :'server_side_encryption' => :'server_side_encryption',
146
+ :'file_max_bytes' => :'file_max_bytes'
143
147
  }
144
148
  end
145
149
 
@@ -176,7 +180,8 @@ module Fastly
176
180
  :'redundancy' => :'String',
177
181
  :'secret_key' => :'String',
178
182
  :'server_side_encryption_kms_key_id' => :'String',
179
- :'server_side_encryption' => :'String'
183
+ :'server_side_encryption' => :'String',
184
+ :'file_max_bytes' => :'Integer'
180
185
  }
181
186
  end
182
187
 
@@ -196,7 +201,7 @@ module Fastly
196
201
  :'redundancy',
197
202
  :'secret_key',
198
203
  :'server_side_encryption_kms_key_id',
199
- :'server_side_encryption'
204
+ :'server_side_encryption',
200
205
  ])
201
206
  end
202
207
 
@@ -349,12 +354,20 @@ module Fastly
349
354
  else
350
355
  self.server_side_encryption = 'null'
351
356
  end
357
+
358
+ if attributes.key?(:'file_max_bytes')
359
+ self.file_max_bytes = attributes[:'file_max_bytes']
360
+ end
352
361
  end
353
362
 
354
363
  # Show invalid properties with the reasons. Usually used together with valid?
355
364
  # @return Array for valid properties with the reasons
356
365
  def list_invalid_properties
357
366
  invalid_properties = Array.new
367
+ if !@file_max_bytes.nil? && @file_max_bytes < 1048576
368
+ invalid_properties.push('invalid value for "file_max_bytes", must be greater than or equal to 1048576.')
369
+ end
370
+
358
371
  invalid_properties
359
372
  end
360
373
 
@@ -369,6 +382,7 @@ module Fastly
369
382
  return false unless message_type_validator.valid?(@message_type)
370
383
  compression_codec_validator = EnumAttributeValidator.new('String', ["zstd", "snappy", "gzip"])
371
384
  return false unless compression_codec_validator.valid?(@compression_codec)
385
+ return false if !@file_max_bytes.nil? && @file_max_bytes < 1048576
372
386
  true
373
387
  end
374
388
 
@@ -412,6 +426,16 @@ module Fastly
412
426
  @compression_codec = compression_codec
413
427
  end
414
428
 
429
+ # Custom attribute writer method with validation
430
+ # @param [Object] file_max_bytes Value to be assigned
431
+ def file_max_bytes=(file_max_bytes)
432
+ if !file_max_bytes.nil? && file_max_bytes < 1048576
433
+ fail ArgumentError, 'invalid value for "file_max_bytes", must be greater than or equal to 1048576.'
434
+ end
435
+
436
+ @file_max_bytes = file_max_bytes
437
+ end
438
+
415
439
  # Checks equality by comparing each attribute.
416
440
  # @param [Object] Object to be compared
417
441
  def ==(o)
@@ -442,7 +466,8 @@ module Fastly
442
466
  redundancy == o.redundancy &&
443
467
  secret_key == o.secret_key &&
444
468
  server_side_encryption_kms_key_id == o.server_side_encryption_kms_key_id &&
445
- server_side_encryption == o.server_side_encryption
469
+ server_side_encryption == o.server_side_encryption &&
470
+ file_max_bytes == o.file_max_bytes
446
471
  end
447
472
 
448
473
  # @see the `==` method
@@ -454,7 +479,7 @@ module Fastly
454
479
  # Calculates hash code according to all attributes.
455
480
  # @return [Integer] Hash code
456
481
  def hash
457
- [name, placement, response_condition, format, format_version, message_type, timestamp_format, compression_codec, period, gzip_level, created_at, deleted_at, updated_at, service_id, version, access_key, acl, bucket_name, domain, iam_role, path, public_key, redundancy, secret_key, server_side_encryption_kms_key_id, server_side_encryption].hash
482
+ [name, placement, response_condition, format, format_version, message_type, timestamp_format, compression_codec, period, gzip_level, created_at, deleted_at, updated_at, service_id, version, access_key, acl, bucket_name, domain, iam_role, path, public_key, redundancy, secret_key, server_side_encryption_kms_key_id, server_side_encryption, file_max_bytes].hash
458
483
  end
459
484
 
460
485
  # Builds the object from hash
@@ -9,5 +9,5 @@ Contact: oss@fastly.com
9
9
  =end
10
10
 
11
11
  module Fastly
12
- VERSION = '8.3.0'
12
+ VERSION = '8.4.0'
13
13
  end
data/sig.json CHANGED
@@ -1 +1 @@
1
- {"G": "12e42c04", "D": "dd010b17"}
1
+ {"G": "5a2ccc65", "D": "ec7f026b"}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastly
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.3.0
4
+ version: 8.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fastly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-24 00:00:00.000000000 Z
11
+ date: 2024-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus