WebService-Fastly
view release on metacpan or search on metacpan
lib/WebService/Fastly/LoggingGcsApi.pm view on Meta::CPAN
Contact: oss@fastly.com
=end comment
=cut
#
# NOTE: This class is auto generated.
# Do not edit the class manually.
#
package WebService::Fastly::LoggingGcsApi;
require 5.6.0;
use strict;
use warnings;
use utf8;
use Exporter;
use Carp qw( croak );
use Log::Any qw($log);
use WebService::Fastly::ApiClient;
use base "Class::Data::Inheritable";
__PACKAGE__->mk_classdata('method_documentation' => {});
sub new {
my $class = shift;
my $api_client;
if ($_[0] && ref $_[0] && ref $_[0] eq 'WebService::Fastly::ApiClient' ) {
$api_client = $_[0];
} else {
$api_client = WebService::Fastly::ApiClient->new(@_);
}
bless { api_client => $api_client }, $class;
}
#
# create_log_gcs
#
# Create a GCS log endpoint
#
# @param string $service_id Alphanumeric string identifying the service. (required)
# @param int $version_id Integer identifying a service version. (required)
# @param string $name The name for the real-time logging configuration. (optional)
# @param 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 `v...
# @param string $response_condition The name of an existing condition in the configured endpoint, or leave blank to always execute. (optional)
# @param string $format A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). (optional, default to '%h %l %u %t "%r" %>s %b')
# @param string $log_processing_region The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. (optional, default to 'none')
# @param int $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`...
# @param string $message_type How the message should be formatted. (optional, default to 'classic')
# @param string $timestamp_format A timestamp format (optional)
# @param 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...
# @param int $period How frequently log files are finalized so they can be available for reading (in seconds). (optional, default to 3600)
# @param int $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. (optional, defaul...
# @param string $user Your Google Cloud Platform service account email address. The `client_email` field in your service account authentication JSON. Not required if `account_name` is specified. (optional)
# @param string $secret_key Your Google Cloud Platform account secret key. The `private_key` field in your service account authentication JSON. Not required if `account_name` is specified. (optional)
# @param string $account_name The name of the Google Cloud Platform service account associated with the target log collection service. Not required if `user` and `secret_key` are provided. (optional)
# @param string $bucket_name The name of the GCS bucket. (optional)
# @param string $path (optional, default to '/')
# @param string $public_key A PGP public key that Fastly will use to encrypt your log files before writing them to disk. (optional, default to 'null')
# @param string $project_id Your Google Cloud Platform project ID. Required (optional)
{
my $params = {
'service_id' => {
data_type => 'string',
description => 'Alphanumeric string identifying the service.',
required => '1',
},
'version_id' => {
data_type => 'int',
description => 'Integer identifying a service version.',
required => '1',
},
'name' => {
data_type => 'string',
description => 'The name for the real-time logging configuration.',
required => '0',
},
'placement' => {
data_type => 'string',
description => '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_...
required => '0',
},
'response_condition' => {
data_type => 'string',
description => 'The name of an existing condition in the configured endpoint, or leave blank to always execute.',
required => '0',
},
'format' => {
data_type => 'string',
description => 'A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/).',
required => '0',
},
'log_processing_region' => {
data_type => 'string',
description => 'The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global.',
required => '0',
},
'format_version' => {
data_type => 'int',
description => '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 ...
required => '0',
},
'message_type' => {
data_type => 'string',
description => 'How the message should be formatted.',
required => '0',
},
'timestamp_format' => {
data_type => 'string',
description => 'A timestamp format',
required => '0',
},
'compression_codec' => {
data_type => 'string',
description => '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 resul...
required => '0',
},
'period' => {
data_type => 'int',
description => 'How frequently log files are finalized so they can be available for reading (in seconds).',
required => '0',
},
'gzip_level' => {
data_type => 'int',
description => '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.',
required => '0',
},
'user' => {
data_type => 'string',
description => 'Your Google Cloud Platform service account email address. The `client_email` field in your service account authentication JSON. Not required if `account_name` is specified.',
required => '0',
},
'secret_key' => {
data_type => 'string',
description => 'Your Google Cloud Platform account secret key. The `private_key` field in your service account authentication JSON. Not required if `account_name` is specified.',
required => '0',
},
'account_name' => {
data_type => 'string',
description => 'The name of the Google Cloud Platform service account associated with the target log collection service. Not required if `user` and `secret_key` are provided.',
required => '0',
},
'bucket_name' => {
data_type => 'string',
description => 'The name of the GCS bucket.',
required => '0',
},
'path' => {
data_type => 'string',
description => '',
required => '0',
},
'public_key' => {
data_type => 'string',
description => 'A PGP public key that Fastly will use to encrypt your log files before writing them to disk.',
required => '0',
},
'project_id' => {
data_type => 'string',
description => 'Your Google Cloud Platform project ID. Required',
required => '0',
},
};
__PACKAGE__->method_documentation->{ 'create_log_gcs' } = {
summary => 'Create a GCS log endpoint',
params => $params,
returns => 'LoggingGcsResponse',
};
}
# @return LoggingGcsResponse
#
sub create_log_gcs {
my ($self, %args) = @_;
# verify the required parameter 'service_id' is set
unless (exists $args{'service_id'}) {
croak("Missing the required parameter 'service_id' when calling create_log_gcs");
}
# verify the required parameter 'version_id' is set
unless (exists $args{'version_id'}) {
croak("Missing the required parameter 'version_id' when calling create_log_gcs");
}
# parse inputs
my $_resource_path = '/service/{service_id}/version/{version_id}/logging/gcs';
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json');
if ($_header_accept) {
lib/WebService/Fastly/LoggingGcsApi.pm view on Meta::CPAN
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# path params
if ( exists $args{'service_id'}) {
my $_base_variable = "{" . "service_id" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'service_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
# path params
if ( exists $args{'version_id'}) {
my $_base_variable = "{" . "version_id" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'version_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = [qw(token )];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('ARRAY[LoggingGcsResponse]', $response);
return $_response_object;
}
#
# update_log_gcs
#
# Update a GCS log endpoint
#
# @param string $service_id Alphanumeric string identifying the service. (required)
# @param int $version_id Integer identifying a service version. (required)
# @param string $logging_gcs_name The name for the real-time logging configuration. (required)
# @param string $name The name for the real-time logging configuration. (optional)
# @param 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 `v...
# @param string $response_condition The name of an existing condition in the configured endpoint, or leave blank to always execute. (optional)
# @param string $format A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). (optional, default to '%h %l %u %t "%r" %>s %b')
# @param string $log_processing_region The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. (optional, default to 'none')
# @param int $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`...
# @param string $message_type How the message should be formatted. (optional, default to 'classic')
# @param string $timestamp_format A timestamp format (optional)
# @param 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...
# @param int $period How frequently log files are finalized so they can be available for reading (in seconds). (optional, default to 3600)
# @param int $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. (optional, defaul...
# @param string $user Your Google Cloud Platform service account email address. The `client_email` field in your service account authentication JSON. Not required if `account_name` is specified. (optional)
# @param string $secret_key Your Google Cloud Platform account secret key. The `private_key` field in your service account authentication JSON. Not required if `account_name` is specified. (optional)
# @param string $account_name The name of the Google Cloud Platform service account associated with the target log collection service. Not required if `user` and `secret_key` are provided. (optional)
# @param string $bucket_name The name of the GCS bucket. (optional)
# @param string $path (optional, default to '/')
# @param string $public_key A PGP public key that Fastly will use to encrypt your log files before writing them to disk. (optional, default to 'null')
# @param string $project_id Your Google Cloud Platform project ID. Required (optional)
{
my $params = {
'service_id' => {
data_type => 'string',
description => 'Alphanumeric string identifying the service.',
required => '1',
},
'version_id' => {
data_type => 'int',
description => 'Integer identifying a service version.',
required => '1',
},
'logging_gcs_name' => {
data_type => 'string',
description => 'The name for the real-time logging configuration.',
required => '1',
},
'name' => {
data_type => 'string',
description => 'The name for the real-time logging configuration.',
required => '0',
},
'placement' => {
data_type => 'string',
description => '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_...
required => '0',
},
'response_condition' => {
data_type => 'string',
description => 'The name of an existing condition in the configured endpoint, or leave blank to always execute.',
required => '0',
},
'format' => {
data_type => 'string',
description => 'A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/).',
required => '0',
},
'log_processing_region' => {
data_type => 'string',
description => 'The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global.',
required => '0',
},
'format_version' => {
data_type => 'int',
description => '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 ...
required => '0',
},
'message_type' => {
data_type => 'string',
description => 'How the message should be formatted.',
required => '0',
},
'timestamp_format' => {
data_type => 'string',
description => 'A timestamp format',
required => '0',
},
'compression_codec' => {
data_type => 'string',
description => '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 resul...
required => '0',
},
'period' => {
data_type => 'int',
description => 'How frequently log files are finalized so they can be available for reading (in seconds).',
required => '0',
},
'gzip_level' => {
data_type => 'int',
description => '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.',
required => '0',
},
'user' => {
data_type => 'string',
description => 'Your Google Cloud Platform service account email address. The `client_email` field in your service account authentication JSON. Not required if `account_name` is specified.',
required => '0',
},
'secret_key' => {
data_type => 'string',
description => 'Your Google Cloud Platform account secret key. The `private_key` field in your service account authentication JSON. Not required if `account_name` is specified.',
required => '0',
},
'account_name' => {
data_type => 'string',
description => 'The name of the Google Cloud Platform service account associated with the target log collection service. Not required if `user` and `secret_key` are provided.',
required => '0',
},
'bucket_name' => {
data_type => 'string',
description => 'The name of the GCS bucket.',
required => '0',
},
'path' => {
data_type => 'string',
description => '',
required => '0',
},
'public_key' => {
data_type => 'string',
description => 'A PGP public key that Fastly will use to encrypt your log files before writing them to disk.',
required => '0',
},
'project_id' => {
data_type => 'string',
description => 'Your Google Cloud Platform project ID. Required',
required => '0',
},
};
__PACKAGE__->method_documentation->{ 'update_log_gcs' } = {
summary => 'Update a GCS log endpoint',
params => $params,
returns => 'LoggingGcsResponse',
};
}
# @return LoggingGcsResponse
#
sub update_log_gcs {
my ($self, %args) = @_;
# verify the required parameter 'service_id' is set
unless (exists $args{'service_id'}) {
croak("Missing the required parameter 'service_id' when calling update_log_gcs");
}
# verify the required parameter 'version_id' is set
unless (exists $args{'version_id'}) {
croak("Missing the required parameter 'version_id' when calling update_log_gcs");
}
# verify the required parameter 'logging_gcs_name' is set
unless (exists $args{'logging_gcs_name'}) {
croak("Missing the required parameter 'logging_gcs_name' when calling update_log_gcs");
}
# parse inputs
my $_resource_path = '/service/{service_id}/version/{version_id}/logging/gcs/{logging_gcs_name}';
my $_method = 'PUT';
my $query_params = {};
my $header_params = {};
( run in 1.037 second using v1.01-cache-2.11-cpan-39bf76dae61 )