diff --git a/plugins/out_kinesis_streams/kinesis.c b/plugins/out_kinesis_streams/kinesis.c index 2fb46dc6295..0b45b959de3 100644 --- a/plugins/out_kinesis_streams/kinesis.c +++ b/plugins/out_kinesis_streams/kinesis.c @@ -255,7 +255,7 @@ static int cb_kinesis_init(struct flb_output_instance *ins, ctx->kinesis_client->region = (char *) ctx->region; ctx->kinesis_client->retry_requests = ctx->retry_requests; ctx->kinesis_client->service = "kinesis"; - ctx->kinesis_client->port = 443; + ctx->kinesis_client->port = ctx->port; ctx->kinesis_client->flags = 0; ctx->kinesis_client->proxy = NULL; ctx->kinesis_client->static_headers = &content_type_header; @@ -440,6 +440,12 @@ static struct flb_config_map config_map[] = { "Specify a custom endpoint for the Kinesis API" }, + { + FLB_CONFIG_MAP_INT, "port", "443", + 0, FLB_TRUE, offsetof(struct flb_kinesis, port), + "Specify a port for the Kinesis API" + }, + { FLB_CONFIG_MAP_STR, "sts_endpoint", NULL, 0, FLB_TRUE, offsetof(struct flb_kinesis, sts_endpoint), diff --git a/plugins/out_kinesis_streams/kinesis.h b/plugins/out_kinesis_streams/kinesis.h index 72c6b976b07..b82224fa763 100644 --- a/plugins/out_kinesis_streams/kinesis.h +++ b/plugins/out_kinesis_streams/kinesis.h @@ -89,6 +89,7 @@ struct flb_kinesis { const char *role_arn; const char *log_key; const char *external_id; + const int port; int retry_requests; char *sts_endpoint; int custom_endpoint; diff --git a/tests/runtime/out_kinesis.c b/tests/runtime/out_kinesis.c index da3e925a0f8..a812cc74627 100644 --- a/tests/runtime/out_kinesis.c +++ b/tests/runtime/out_kinesis.c @@ -33,6 +33,7 @@ void flb_test_firehose_success(void) flb_output_set(ctx, out_ffd,"stream", "fluent", NULL); flb_output_set(ctx, out_ffd,"time_key", "time", NULL); flb_output_set(ctx, out_ffd,"Retry_Limit", "1", NULL); + flb_output_set(ctx, out_ffd,"port", "443", NULL); ret = flb_start(ctx); TEST_CHECK(ret == 0);