/* Ċ Ġ* ĠĠ ĠCopyright Ġ 2 0 1 8 ĠAsc end ĠCorporation Ġ( https :// www . asc end corp . com /) Ċ Ġ* Ċ Ġ* ĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ċ Ġ* ĠĠ Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ċ Ġ* ĠĠ Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ċ Ġ* ĠĠ Ġor Ġimplied . ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ġunder Ċ Ġ* ĠĠ Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . asc end corp . tracing . zip kin for warder . config Ċ Ċ import Ġcom . amazonaws . auth . AWS Static Credentials Provider Ċ import Ġcom . amazonaws . auth . Basic AWSC redentials Ċ import Ġcom . amazonaws . client . builder . Aws Client Builder Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ import Ġorg . springframework . boot . autoconfigure . condition . Conditional On Property Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġzip kin 2 . codec . Encoding Ċ import Ġzip kin 2 . reporter . k inesis . K inesis Sender Ċ Ċ @ Configuration Ċ @ Conditional On Property ( name Ġ= Ġ[" destination . type "], Ġhaving Value Ġ= Ġ" aws - k inesis ") Ċ class ĠAWS Configuration Ġ( ĊĠ Ġ@ Value ("\ ${ aws . access key }") Ġval Ġaccess Key Ġ: ĠString , ĊĠ Ġ@ Value ("\ ${ aws . secret key }") Ġval Ġsecret Key Ġ: ĠString , ĊĠ Ġ@ Value ("\ ${ aws . k inesis . stream name }") Ġval Ġstream Name : ĠString , ĊĠ Ġ@ Value ("\ ${ aws . region }") Ġval Ġregion : ĠString , ĊĠ Ġ@ Value ("\ ${ aws . service Endpoint }") Ġval Ġservice Endpoint : ĠString , ĊĠ Ġval Ġconfig : ĠZip kin Properties Ċ ) Ġ{ ĊĠ Ġval Ġaws Credentials Ġ= ĊĠĠĠĠĠ ĠBasic AWSC redentials ( this . access Key , Ġthis . secret Key ) ĊĊĠ Ġ@ Bean ĊĠ Ġfun Ġk inesis Sender (): ĠK inesis Sender Ġ{ ĊĠĠĠ Ġreturn ĠK inesis Sender . newBuilder () ĊĠĠĠĠĠĠĠ Ġ. stream Name ( this . stream Name ) ĊĠĠĠĠĠĠĠ Ġ. encoding ( get Encoding ( config . span Encoding )) ĊĠĠĠĠĠĠĠ Ġ. credentials Provider ( AWS Static Credentials Provider ( aws Credentials )) ĊĠĠĠĠĠĠĠ Ġ. endpoint Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAws Client Builder . Endpoint Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice Endpoint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion )) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠ Ġ} ĊĊĠ Ġ// ĠSender Ġencoding , Ġfor Ġexample , Ġ Ġspans Ġof Ġdifferent Ġencoding Ġcan Ġbe Ġcollected Ġbut Ġsent Ġas Ġa ĊĠ Ġ// Ġcommon Ġencoding ĊĠ Ġfun Ġget Encoding ( encoding : ĠString ): ĠEncoding Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( encoding ) Ġ{ ĊĠĠĠĠĠ Ġ" PROTO 3 " Ġ-> ĠEncoding . PROTO 3 ĊĠĠĠĠĠ Ġ" TH R IFT " Ġ-> ĠEncoding . TH R IFT ĊĠĠĠĠĠ Ġelse Ġ-> ĠEncoding . JSON ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ