fastly 8.3.0 → 8.4.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.
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