@@ -40,10 +40,7 @@ impl<T: Into<StringValue>> From<Option<T>> for OptionalValue {
40
40
}
41
41
42
42
macro_rules! lambda_service {
43
- ( $trigger: ident, $kind: ident, $service: ident {
44
- $( $prop: ident: $type: ty, ) *
45
- $( { $key: path } = $value: literal, ) *
46
- } ) => {
43
+ ( $trigger: ident, $kind: ident, $service: ident { $( $prop: ident: $type: ty, ) * } $( , $( $field: tt) * ) ?) => {
47
44
#[ allow( non_snake_case) ]
48
45
pub struct $service {
49
46
$( $prop: $type, ) *
@@ -76,7 +73,7 @@ macro_rules! lambda_service {
76
73
{ semconv:: FAAS_INVOCATION_ID } = req. context. request_id,
77
74
{ semconv:: FAAS_COLDSTART } = coldstart,
78
75
$( { semconv:: $prop } = self . $prop. as_str( ) , ) *
79
- $( { $key } = $value , ) *
76
+ $( $ ( $field ) * ) ?
80
77
)
81
78
}
82
79
}
@@ -85,19 +82,31 @@ macro_rules! lambda_service {
85
82
86
83
lambda_service ! ( other, Server , GenericLambdaService { } ) ;
87
84
lambda_service ! ( http, Server , HttpLambdaService { } ) ;
88
- lambda_service ! ( pubsub, Consumer , PubSubLambdaService {
89
- MESSAGING_SYSTEM : Value ,
90
- MESSAGING_DESTINATION_NAME : OptionalValue ,
85
+ lambda_service ! (
86
+ pubsub,
87
+ Consumer ,
88
+ PubSubLambdaService {
89
+ MESSAGING_SYSTEM : Value ,
90
+ MESSAGING_DESTINATION_NAME : OptionalValue ,
91
+ } ,
91
92
{ semconv:: MESSAGING_OPERATION } = "process" ,
92
- } ) ;
93
- lambda_service ! ( datasource, Consumer , DatasourceLambdaService {
94
- FAAS_DOCUMENT_COLLECTION : Value ,
95
- FAAS_DOCUMENT_OPERATION : Value ,
96
- FAAS_DOCUMENT_NAME : OptionalValue ,
97
- } ) ;
98
- lambda_service ! ( timer, Consumer , TimerLambdaService {
99
- FAAS_CRON : OptionalValue ,
100
- } ) ;
93
+ ) ;
94
+ lambda_service ! (
95
+ datasource,
96
+ Consumer ,
97
+ DatasourceLambdaService {
98
+ FAAS_DOCUMENT_COLLECTION : Value ,
99
+ FAAS_DOCUMENT_OPERATION : Value ,
100
+ FAAS_DOCUMENT_NAME : OptionalValue ,
101
+ } ,
102
+ ) ;
103
+ lambda_service ! (
104
+ timer,
105
+ Consumer ,
106
+ TimerLambdaService {
107
+ FAAS_CRON : OptionalValue ,
108
+ } ,
109
+ ) ;
101
110
102
111
impl OtelLambdaLayer < GenericLambdaService > {
103
112
#[ inline]
0 commit comments