class Fastly::LoggingS3Api
Attributes
Public Class Methods
Source
# File lib/fastly/api/logging_s3_api.rb, line 17 def initialize(api_client = ApiClient.default) @api_client = api_client end
Public Instance Methods
Source
# File lib/fastly/api/logging_s3_api.rb, line 48 def create_log_aws_s3(opts = {}) data, _status_code, _headers = create_log_aws_s3_with_http_info(opts) data end
Create an AWS S3 log endpoint Create a S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :name The name for the real-time logging configuration. @option opts [String] :placement Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. @option opts [String] :response_condition The name of an existing condition in the configured endpoint, or leave blank to always execute. @option opts [String] :format A Fastly
[log format string](www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). (default to ‘%h %l %u %t "%r" %>s %b’) @option opts [String] :log_processing_region The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. (default to ‘none’) @option opts [Integer] :format_version The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. (default to FORMAT_VERSION::v2) @option opts [String] :message_type How the message should be formatted. (default to ‘classic’) @option opts [String] :timestamp_format A timestamp format @option opts [String] :compression_codec The codec used for compressing your logs. Valid values are `zstd`, `snappy`, and `gzip`. Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. @option opts [Integer] :period How frequently log files are finalized so they can be available for reading (in seconds). (default to 3600) @option opts [Integer] :gzip_level The level of gzip encoding when sending logs (default `0`, no compression). Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. (default to 0) @option opts [String] :access_key The access key for your S3 account. Not required if `iam_role` is provided. @option opts [String] :acl The access control list (ACL) specific request header. See the AWS documentation for [Access Control List (ACL) Specific Request Headers](docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html#initiate-mpu-acl-specific-request-headers) for more information. @option opts [String] :bucket_name The bucket name for S3 account. @option opts [String] :domain The domain of the Amazon S3 endpoint. @option opts [String] :iam_role The Amazon Resource
Name (ARN) for the IAM role granting Fastly
access to S3. Not required if `access_key` and `secret_key` are provided. @option opts [String] :path The path to upload logs to. (default to ‘null’) @option opts [String] :public_key A PGP public key that Fastly
will use to encrypt your log files before writing them to disk. (default to ‘null’) @option opts [String] :redundancy The S3 redundancy level. (default to ‘null’) @option opts [String] :secret_key The secret key for your S3 account. Not required if `iam_role` is provided. @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’) @option opts [String] :server_side_encryption Set this to `AES256` or `aws:kms` to enable S3 Server
Side Encryption. (default to ‘null’) @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.) @return [LoggingS3Response]
Source
# File lib/fastly/api/logging_s3_api.rb, line 81 def create_log_aws_s3_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LoggingS3Api.create_log_aws_s3 ...' end # unbox the parameters from the hash service_id = opts[:'service_id'] version_id = opts[:'version_id'] # verify the required parameter 'service_id' is set if @api_client.config.client_side_validation && service_id.nil? fail ArgumentError, "Missing the required parameter 'service_id' when calling LoggingS3Api.create_log_aws_s3" end # verify the required parameter 'version_id' is set if @api_client.config.client_side_validation && version_id.nil? fail ArgumentError, "Missing the required parameter 'version_id' when calling LoggingS3Api.create_log_aws_s3" end allowable_values = ["none", "null"] if @api_client.config.client_side_validation && opts[:'placement'] && !allowable_values.include?(opts[:'placement']) fail ArgumentError, "invalid value for \"placement\", must be one of #{allowable_values}" end allowable_values = ["none", "eu", "us"] if @api_client.config.client_side_validation && opts[:'log_processing_region'] && !allowable_values.include?(opts[:'log_processing_region']) fail ArgumentError, "invalid value for \"log_processing_region\", must be one of #{allowable_values}" end allowable_values = [1, 2] if @api_client.config.client_side_validation && opts[:'format_version'] && !allowable_values.include?(opts[:'format_version']) fail ArgumentError, "invalid value for \"format_version\", must be one of #{allowable_values}" end allowable_values = ["classic", "loggly", "logplex", "blank"] if @api_client.config.client_side_validation && opts[:'message_type'] && !allowable_values.include?(opts[:'message_type']) fail ArgumentError, "invalid value for \"message_type\", must be one of #{allowable_values}" end allowable_values = ["zstd", "snappy", "gzip"] if @api_client.config.client_side_validation && opts[:'compression_codec'] && !allowable_values.include?(opts[:'compression_codec']) fail ArgumentError, "invalid value for \"compression_codec\", must be one of #{allowable_values}" end if @api_client.config.client_side_validation && !opts[:'file_max_bytes'].nil? && opts[:'file_max_bytes'] < 1048576 fail ArgumentError, 'invalid value for "opts[:"file_max_bytes"]" when calling LoggingS3Api.create_log_aws_s3, must be greater than or equal to 1048576.' end # resource path 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)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/x-www-form-urlencoded']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} form_params['name'] = opts[:'name'] if !opts[:'name'].nil? form_params['placement'] = opts[:'placement'] if !opts[:'placement'].nil? form_params['response_condition'] = opts[:'response_condition'] if !opts[:'response_condition'].nil? form_params['format'] = opts[:'format'] if !opts[:'format'].nil? form_params['log_processing_region'] = opts[:'log_processing_region'] if !opts[:'log_processing_region'].nil? form_params['format_version'] = opts[:'format_version'] if !opts[:'format_version'].nil? form_params['message_type'] = opts[:'message_type'] if !opts[:'message_type'].nil? form_params['timestamp_format'] = opts[:'timestamp_format'] if !opts[:'timestamp_format'].nil? form_params['compression_codec'] = opts[:'compression_codec'] if !opts[:'compression_codec'].nil? form_params['period'] = opts[:'period'] if !opts[:'period'].nil? form_params['gzip_level'] = opts[:'gzip_level'] if !opts[:'gzip_level'].nil? form_params['access_key'] = opts[:'access_key'] if !opts[:'access_key'].nil? form_params['acl'] = opts[:'acl'] if !opts[:'acl'].nil? form_params['bucket_name'] = opts[:'bucket_name'] if !opts[:'bucket_name'].nil? form_params['domain'] = opts[:'domain'] if !opts[:'domain'].nil? form_params['iam_role'] = opts[:'iam_role'] if !opts[:'iam_role'].nil? form_params['path'] = opts[:'path'] if !opts[:'path'].nil? form_params['public_key'] = opts[:'public_key'] if !opts[:'public_key'].nil? form_params['redundancy'] = opts[:'redundancy'] if !opts[:'redundancy'].nil? form_params['secret_key'] = opts[:'secret_key'] if !opts[:'secret_key'].nil? form_params['server_side_encryption_kms_key_id'] = opts[:'server_side_encryption_kms_key_id'] if !opts[:'server_side_encryption_kms_key_id'].nil? form_params['server_side_encryption'] = opts[:'server_side_encryption'] if !opts[:'server_side_encryption'].nil? form_params['file_max_bytes'] = opts[:'file_max_bytes'] if !opts[:'file_max_bytes'].nil? # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'LoggingS3Response' # auth_names auth_names = opts[:debug_auth_names] || ['token'] new_options = opts.merge( :operation => :"LoggingS3Api.create_log_aws_s3", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LoggingS3Api#create_log_aws_s3\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Create an AWS S3 log endpoint Create a S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :name The name for the real-time logging configuration. @option opts [String] :placement Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. @option opts [String] :response_condition The name of an existing condition in the configured endpoint, or leave blank to always execute. @option opts [String] :format A Fastly
[log format string](www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). (default to ‘%h %l %u %t "%r" %>s %b’) @option opts [String] :log_processing_region The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. (default to ‘none’) @option opts [Integer] :format_version The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. (default to FORMAT_VERSION::v2) @option opts [String] :message_type How the message should be formatted. (default to ‘classic’) @option opts [String] :timestamp_format A timestamp format @option opts [String] :compression_codec The codec used for compressing your logs. Valid values are `zstd`, `snappy`, and `gzip`. Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. @option opts [Integer] :period How frequently log files are finalized so they can be available for reading (in seconds). (default to 3600) @option opts [Integer] :gzip_level The level of gzip encoding when sending logs (default `0`, no compression). Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. (default to 0) @option opts [String] :access_key The access key for your S3 account. Not required if `iam_role` is provided. @option opts [String] :acl The access control list (ACL) specific request header. See the AWS documentation for [Access Control List (ACL) Specific Request Headers](docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html#initiate-mpu-acl-specific-request-headers) for more information. @option opts [String] :bucket_name The bucket name for S3 account. @option opts [String] :domain The domain of the Amazon S3 endpoint. @option opts [String] :iam_role The Amazon Resource
Name (ARN) for the IAM role granting Fastly
access to S3. Not required if `access_key` and `secret_key` are provided. @option opts [String] :path The path to upload logs to. (default to ‘null’) @option opts [String] :public_key A PGP public key that Fastly
will use to encrypt your log files before writing them to disk. (default to ‘null’) @option opts [String] :redundancy The S3 redundancy level. (default to ‘null’) @option opts [String] :secret_key The secret key for your S3 account. Not required if `iam_role` is provided. @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’) @option opts [String] :server_side_encryption Set this to `AES256` or `aws:kms` to enable S3 Server
Side Encryption. (default to ‘null’) @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.) @return [Array<(LoggingS3Response
, Integer, Hash)>] LoggingS3Response
data, response status code and response headers
Source
# File lib/fastly/api/logging_s3_api.rb, line 194 def delete_log_aws_s3(opts = {}) data, _status_code, _headers = delete_log_aws_s3_with_http_info(opts) data end
Delete an AWS S3 log endpoint Delete the S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :logging_s3_name The name for the real-time logging configuration. (required) @return [InlineResponse200]
Source
# File lib/fastly/api/logging_s3_api.rb, line 205 def delete_log_aws_s3_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LoggingS3Api.delete_log_aws_s3 ...' end # unbox the parameters from the hash service_id = opts[:'service_id'] version_id = opts[:'version_id'] logging_s3_name = opts[:'logging_s3_name'] # verify the required parameter 'service_id' is set if @api_client.config.client_side_validation && service_id.nil? fail ArgumentError, "Missing the required parameter 'service_id' when calling LoggingS3Api.delete_log_aws_s3" end # verify the required parameter 'version_id' is set if @api_client.config.client_side_validation && version_id.nil? fail ArgumentError, "Missing the required parameter 'version_id' when calling LoggingS3Api.delete_log_aws_s3" end # verify the required parameter 'logging_s3_name' is set if @api_client.config.client_side_validation && logging_s3_name.nil? fail ArgumentError, "Missing the required parameter 'logging_s3_name' when calling LoggingS3Api.delete_log_aws_s3" end # resource path 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)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'InlineResponse200' # auth_names auth_names = opts[:debug_auth_names] || ['token'] new_options = opts.merge( :operation => :"LoggingS3Api.delete_log_aws_s3", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LoggingS3Api#delete_log_aws_s3\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Delete an AWS S3 log endpoint Delete the S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :logging_s3_name The name for the real-time logging configuration. (required) @return [Array<(InlineResponse200
, Integer, Hash)>] InlineResponse200
data, response status code and response headers
Source
# File lib/fastly/api/logging_s3_api.rb, line 271 def get_log_aws_s3(opts = {}) data, _status_code, _headers = get_log_aws_s3_with_http_info(opts) data end
Get an AWS S3 log endpoint Get the S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :logging_s3_name The name for the real-time logging configuration. (required) @return [LoggingS3Response]
Source
# File lib/fastly/api/logging_s3_api.rb, line 282 def get_log_aws_s3_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LoggingS3Api.get_log_aws_s3 ...' end # unbox the parameters from the hash service_id = opts[:'service_id'] version_id = opts[:'version_id'] logging_s3_name = opts[:'logging_s3_name'] # verify the required parameter 'service_id' is set if @api_client.config.client_side_validation && service_id.nil? fail ArgumentError, "Missing the required parameter 'service_id' when calling LoggingS3Api.get_log_aws_s3" end # verify the required parameter 'version_id' is set if @api_client.config.client_side_validation && version_id.nil? fail ArgumentError, "Missing the required parameter 'version_id' when calling LoggingS3Api.get_log_aws_s3" end # verify the required parameter 'logging_s3_name' is set if @api_client.config.client_side_validation && logging_s3_name.nil? fail ArgumentError, "Missing the required parameter 'logging_s3_name' when calling LoggingS3Api.get_log_aws_s3" end # resource path 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)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'LoggingS3Response' # auth_names auth_names = opts[:debug_auth_names] || ['token'] new_options = opts.merge( :operation => :"LoggingS3Api.get_log_aws_s3", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LoggingS3Api#get_log_aws_s3\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Get an AWS S3 log endpoint Get the S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :logging_s3_name The name for the real-time logging configuration. (required) @return [Array<(LoggingS3Response
, Integer, Hash)>] LoggingS3Response
data, response status code and response headers
Source
# File lib/fastly/api/logging_s3_api.rb, line 347 def list_log_aws_s3(opts = {}) data, _status_code, _headers = list_log_aws_s3_with_http_info(opts) data end
List AWS S3 log endpoints List all of the S3s for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @return [Array<LoggingS3Response>]
Source
# File lib/fastly/api/logging_s3_api.rb, line 357 def list_log_aws_s3_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LoggingS3Api.list_log_aws_s3 ...' end # unbox the parameters from the hash service_id = opts[:'service_id'] version_id = opts[:'version_id'] # verify the required parameter 'service_id' is set if @api_client.config.client_side_validation && service_id.nil? fail ArgumentError, "Missing the required parameter 'service_id' when calling LoggingS3Api.list_log_aws_s3" end # verify the required parameter 'version_id' is set if @api_client.config.client_side_validation && version_id.nil? fail ArgumentError, "Missing the required parameter 'version_id' when calling LoggingS3Api.list_log_aws_s3" end # resource path 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)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'Array<LoggingS3Response>' # auth_names auth_names = opts[:debug_auth_names] || ['token'] new_options = opts.merge( :operation => :"LoggingS3Api.list_log_aws_s3", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LoggingS3Api#list_log_aws_s3\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
List AWS S3 log endpoints List all of the S3s for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @return [Array<(Array<LoggingS3Response>, Integer, Hash)>] Array<LoggingS3Response> data, response status code and response headers
Source
# File lib/fastly/api/logging_s3_api.rb, line 441 def update_log_aws_s3(opts = {}) data, _status_code, _headers = update_log_aws_s3_with_http_info(opts) data end
Update an AWS S3 log endpoint Update the S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :logging_s3_name The name for the real-time logging configuration. (required) @option opts [String] :name The name for the real-time logging configuration. @option opts [String] :placement Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. @option opts [String] :response_condition The name of an existing condition in the configured endpoint, or leave blank to always execute. @option opts [String] :format A Fastly
[log format string](www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). (default to ‘%h %l %u %t "%r" %>s %b’) @option opts [String] :log_processing_region The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. (default to ‘none’) @option opts [Integer] :format_version The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. (default to FORMAT_VERSION::v2) @option opts [String] :message_type How the message should be formatted. (default to ‘classic’) @option opts [String] :timestamp_format A timestamp format @option opts [String] :compression_codec The codec used for compressing your logs. Valid values are `zstd`, `snappy`, and `gzip`. Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. @option opts [Integer] :period How frequently log files are finalized so they can be available for reading (in seconds). (default to 3600) @option opts [Integer] :gzip_level The level of gzip encoding when sending logs (default `0`, no compression). Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. (default to 0) @option opts [String] :access_key The access key for your S3 account. Not required if `iam_role` is provided. @option opts [String] :acl The access control list (ACL) specific request header. See the AWS documentation for [Access Control List (ACL) Specific Request Headers](docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html#initiate-mpu-acl-specific-request-headers) for more information. @option opts [String] :bucket_name The bucket name for S3 account. @option opts [String] :domain The domain of the Amazon S3 endpoint. @option opts [String] :iam_role The Amazon Resource
Name (ARN) for the IAM role granting Fastly
access to S3. Not required if `access_key` and `secret_key` are provided. @option opts [String] :path The path to upload logs to. (default to ‘null’) @option opts [String] :public_key A PGP public key that Fastly
will use to encrypt your log files before writing them to disk. (default to ‘null’) @option opts [String] :redundancy The S3 redundancy level. (default to ‘null’) @option opts [String] :secret_key The secret key for your S3 account. Not required if `iam_role` is provided. @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’) @option opts [String] :server_side_encryption Set this to `AES256` or `aws:kms` to enable S3 Server
Side Encryption. (default to ‘null’) @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.) @return [LoggingS3Response]
Source
# File lib/fastly/api/logging_s3_api.rb, line 475 def update_log_aws_s3_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LoggingS3Api.update_log_aws_s3 ...' end # unbox the parameters from the hash service_id = opts[:'service_id'] version_id = opts[:'version_id'] logging_s3_name = opts[:'logging_s3_name'] # verify the required parameter 'service_id' is set if @api_client.config.client_side_validation && service_id.nil? fail ArgumentError, "Missing the required parameter 'service_id' when calling LoggingS3Api.update_log_aws_s3" end # verify the required parameter 'version_id' is set if @api_client.config.client_side_validation && version_id.nil? fail ArgumentError, "Missing the required parameter 'version_id' when calling LoggingS3Api.update_log_aws_s3" end # verify the required parameter 'logging_s3_name' is set if @api_client.config.client_side_validation && logging_s3_name.nil? fail ArgumentError, "Missing the required parameter 'logging_s3_name' when calling LoggingS3Api.update_log_aws_s3" end allowable_values = ["none", "null"] if @api_client.config.client_side_validation && opts[:'placement'] && !allowable_values.include?(opts[:'placement']) fail ArgumentError, "invalid value for \"placement\", must be one of #{allowable_values}" end allowable_values = ["none", "eu", "us"] if @api_client.config.client_side_validation && opts[:'log_processing_region'] && !allowable_values.include?(opts[:'log_processing_region']) fail ArgumentError, "invalid value for \"log_processing_region\", must be one of #{allowable_values}" end allowable_values = [1, 2] if @api_client.config.client_side_validation && opts[:'format_version'] && !allowable_values.include?(opts[:'format_version']) fail ArgumentError, "invalid value for \"format_version\", must be one of #{allowable_values}" end allowable_values = ["classic", "loggly", "logplex", "blank"] if @api_client.config.client_side_validation && opts[:'message_type'] && !allowable_values.include?(opts[:'message_type']) fail ArgumentError, "invalid value for \"message_type\", must be one of #{allowable_values}" end allowable_values = ["zstd", "snappy", "gzip"] if @api_client.config.client_side_validation && opts[:'compression_codec'] && !allowable_values.include?(opts[:'compression_codec']) fail ArgumentError, "invalid value for \"compression_codec\", must be one of #{allowable_values}" end if @api_client.config.client_side_validation && !opts[:'file_max_bytes'].nil? && opts[:'file_max_bytes'] < 1048576 fail ArgumentError, 'invalid value for "opts[:"file_max_bytes"]" when calling LoggingS3Api.update_log_aws_s3, must be greater than or equal to 1048576.' end # resource path 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)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/x-www-form-urlencoded']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} form_params['name'] = opts[:'name'] if !opts[:'name'].nil? form_params['placement'] = opts[:'placement'] if !opts[:'placement'].nil? form_params['response_condition'] = opts[:'response_condition'] if !opts[:'response_condition'].nil? form_params['format'] = opts[:'format'] if !opts[:'format'].nil? form_params['log_processing_region'] = opts[:'log_processing_region'] if !opts[:'log_processing_region'].nil? form_params['format_version'] = opts[:'format_version'] if !opts[:'format_version'].nil? form_params['message_type'] = opts[:'message_type'] if !opts[:'message_type'].nil? form_params['timestamp_format'] = opts[:'timestamp_format'] if !opts[:'timestamp_format'].nil? form_params['compression_codec'] = opts[:'compression_codec'] if !opts[:'compression_codec'].nil? form_params['period'] = opts[:'period'] if !opts[:'period'].nil? form_params['gzip_level'] = opts[:'gzip_level'] if !opts[:'gzip_level'].nil? form_params['access_key'] = opts[:'access_key'] if !opts[:'access_key'].nil? form_params['acl'] = opts[:'acl'] if !opts[:'acl'].nil? form_params['bucket_name'] = opts[:'bucket_name'] if !opts[:'bucket_name'].nil? form_params['domain'] = opts[:'domain'] if !opts[:'domain'].nil? form_params['iam_role'] = opts[:'iam_role'] if !opts[:'iam_role'].nil? form_params['path'] = opts[:'path'] if !opts[:'path'].nil? form_params['public_key'] = opts[:'public_key'] if !opts[:'public_key'].nil? form_params['redundancy'] = opts[:'redundancy'] if !opts[:'redundancy'].nil? form_params['secret_key'] = opts[:'secret_key'] if !opts[:'secret_key'].nil? form_params['server_side_encryption_kms_key_id'] = opts[:'server_side_encryption_kms_key_id'] if !opts[:'server_side_encryption_kms_key_id'].nil? form_params['server_side_encryption'] = opts[:'server_side_encryption'] if !opts[:'server_side_encryption'].nil? form_params['file_max_bytes'] = opts[:'file_max_bytes'] if !opts[:'file_max_bytes'].nil? # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'LoggingS3Response' # auth_names auth_names = opts[:debug_auth_names] || ['token'] new_options = opts.merge( :operation => :"LoggingS3Api.update_log_aws_s3", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LoggingS3Api#update_log_aws_s3\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Update an AWS S3 log endpoint Update the S3 for a particular service and version. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [Integer] :version_id Integer identifying a service version. (required) @option opts [String] :logging_s3_name The name for the real-time logging configuration. (required) @option opts [String] :name The name for the real-time logging configuration. @option opts [String] :placement Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. @option opts [String] :response_condition The name of an existing condition in the configured endpoint, or leave blank to always execute. @option opts [String] :format A Fastly
[log format string](www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). (default to ‘%h %l %u %t "%r" %>s %b’) @option opts [String] :log_processing_region The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. (default to ‘none’) @option opts [Integer] :format_version The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. (default to FORMAT_VERSION::v2) @option opts [String] :message_type How the message should be formatted. (default to ‘classic’) @option opts [String] :timestamp_format A timestamp format @option opts [String] :compression_codec The codec used for compressing your logs. Valid values are `zstd`, `snappy`, and `gzip`. Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. @option opts [Integer] :period How frequently log files are finalized so they can be available for reading (in seconds). (default to 3600) @option opts [Integer] :gzip_level The level of gzip encoding when sending logs (default `0`, no compression). Specifying both `compression_codec` and `gzip_level` in the same API request will result in an error. (default to 0) @option opts [String] :access_key The access key for your S3 account. Not required if `iam_role` is provided. @option opts [String] :acl The access control list (ACL) specific request header. See the AWS documentation for [Access Control List (ACL) Specific Request Headers](docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html#initiate-mpu-acl-specific-request-headers) for more information. @option opts [String] :bucket_name The bucket name for S3 account. @option opts [String] :domain The domain of the Amazon S3 endpoint. @option opts [String] :iam_role The Amazon Resource
Name (ARN) for the IAM role granting Fastly
access to S3. Not required if `access_key` and `secret_key` are provided. @option opts [String] :path The path to upload logs to. (default to ‘null’) @option opts [String] :public_key A PGP public key that Fastly
will use to encrypt your log files before writing them to disk. (default to ‘null’) @option opts [String] :redundancy The S3 redundancy level. (default to ‘null’) @option opts [String] :secret_key The secret key for your S3 account. Not required if `iam_role` is provided. @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’) @option opts [String] :server_side_encryption Set this to `AES256` or `aws:kms` to enable S3 Server
Side Encryption. (default to ‘null’) @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.) @return [Array<(LoggingS3Response
, Integer, Hash)>] LoggingS3Response
data, response status code and response headers