@@ -207,12 +207,48 @@ function hash_file() {
207207 fi
208208}
209209
210+ function publish_public_layer {
211+ layer_name=$1
212+ bucket_name=$2
213+ s3_key=$3
214+ description=$4
215+ arch_flag=$5
216+ region=$6
217+ runtime_name=$7
218+ compat_list=(" ${@: 8} " )
219+
220+
221+ layer_version=$( aws lambda publish-layer-version \
222+ --layer-name ${layer_name} \
223+ --content " S3Bucket=${bucket_name} ,S3Key=${s3_key} " \
224+ --description " ${description} " \
225+ --license-info " Apache-2.0" $arch_flag \
226+ --compatible-runtimes ${compat_list[*]} \
227+ --region " $region " \
228+ --output text \
229+ --query Version)
230+ echo " Published ${runtime_name} layer version ${layer_version} to ${region} "
231+
232+ echo " Setting public permissions for ${runtime_name} layer version ${layer_version} in ${region} "
233+ aws lambda add-layer-version-permission \
234+ --layer-name ${layer_name} \
235+ --version-number " $layer_version " \
236+ --statement-id public \
237+ --action lambda:GetLayerVersion \
238+ --principal " *" \
239+ --region " $region "
240+ echo " Public permissions set for ${runtime_name} layer version ${layer_version} in region ${region} "
241+
242+ }
243+
244+
210245function publish_layer {
211246 layer_archive=$1
212247 region=$2
213248 runtime_name=$3
214249 arch=$4
215250 newrelic_agent_version=${5:- " none" }
251+ slim=${6:- " " }
216252 agent_name=$( agent_name_str $runtime_name )
217253 layer_name=$( layer_name_str $runtime_name $arch )
218254
@@ -256,26 +292,13 @@ function publish_layer {
256292 fi
257293
258294 echo " Publishing ${runtime_name} layer to ${region} "
259- layer_version=$( aws lambda publish-layer-version \
260- --layer-name ${layer_name} \
261- --content " S3Bucket=${bucket_name} ,S3Key=${s3_key} " \
262- --description " ${description} " \
263- --license-info " Apache-2.0" $arch_flag \
264- --compatible-runtimes ${compat_list[*]} \
265- --region " $region " \
266- --output text \
267- --query Version)
268- echo " Published ${runtime_name} layer version ${layer_version} to ${region} "
269-
270- echo " Setting public permissions for ${runtime_name} layer version ${layer_version} in ${region} "
271- aws lambda add-layer-version-permission \
272- --layer-name ${layer_name} \
273- --version-number " $layer_version " \
274- --statement-id public \
275- --action lambda:GetLayerVersion \
276- --principal " *" \
277- --region " $region "
278- echo " Public permissions set for ${runtime_name} layer version ${layer_version} in region ${region} "
295+ if [[ $slim == " slim" ]]; then
296+ echo " Publishing ${runtime_name} slim layer to ${region} "
297+ layer_name=" ${layer_name} -slim"
298+ base_description=" New Relic slim Layer without opentelemetry for ${runtime_name} (${arch} )"
299+ description=" ${base_description}${extension_info}${agent_info} "
300+ fi
301+ publish_public_layer $layer_name $bucket_name $s3_key " $description " " $arch_flag " " $region " " $runtime_name " " ${compat_list[@]} "
279302
280303}
281304
0 commit comments