@@ -23,6 +23,8 @@ public Template GenerateLinkedMasterTemplate(Template apiTemplate,
23
23
string apiFileName ,
24
24
Extractor exc )
25
25
{
26
+ Console . WriteLine ( "------------------------------------------" ) ;
27
+ Console . WriteLine ( "Generating master template" ) ;
26
28
// create empty template
27
29
Template masterTemplate = GenerateEmptyTemplate ( ) ;
28
30
@@ -109,7 +111,7 @@ public Template GenerateLinkedMasterTemplate(Template apiTemplate,
109
111
string apisUri = GenerateLinkedTemplateUri ( exc . linkedTemplatesUrlQueryString , exc . linkedTemplatesSasToken , apiFileName ) ;
110
112
resources . Add ( this . CreateLinkedMasterTemplateResourceForApiTemplate ( "apisTemplate" , apisUri , apiDependsOn . ToArray ( ) , exc ) ) ;
111
113
}
112
-
114
+ Console . WriteLine ( "Master template generated" ) ;
113
115
masterTemplate . resources = resources . ToArray ( ) ;
114
116
return masterTemplate ;
115
117
}
@@ -125,6 +127,10 @@ public MasterTemplateResource CreateLinkedMasterTemplateResourceForApiTemplate(s
125
127
{
126
128
masterResourceTemplate . properties . parameters . Add ( "serviceUrl" , new TemplateParameterProperties ( ) { value = "[parameters('serviceUrl')]" } ) ;
127
129
}
130
+ if ( exc . paramApiLoggerId )
131
+ {
132
+ masterResourceTemplate . properties . parameters . Add ( "ApiLoggerId" , new TemplateParameterProperties ( ) { value = "[parameters('ApiLoggerId')]" } ) ;
133
+ }
128
134
return masterResourceTemplate ;
129
135
}
130
136
@@ -283,6 +289,18 @@ public Dictionary<string, TemplateParameterProperties> CreateMasterTemplateParam
283
289
} ;
284
290
parameters . Add ( "NamedValues" , namedValueProperties ) ;
285
291
}
292
+ if ( exc . paramApiLoggerId )
293
+ {
294
+ TemplateParameterProperties loggerIdProperties = new TemplateParameterProperties ( )
295
+ {
296
+ metadata = new TemplateParameterMetadata ( )
297
+ {
298
+ description = "LoggerId for this api"
299
+ } ,
300
+ type = "object"
301
+ } ;
302
+ parameters . Add ( "ApiLoggerId" , loggerIdProperties ) ;
303
+ }
286
304
return parameters ;
287
305
}
288
306
@@ -327,7 +345,7 @@ public string[] GenerateAPIRevisionDependencies(string curRevTemplate)
327
345
return revDependsOn . ToArray ( ) ;
328
346
}
329
347
330
- public async Task < Template > CreateMasterTemplateParameterValues ( string singleApiName , List < string > multipleApiNames , Extractor exc )
348
+ public async Task < Template > CreateMasterTemplateParameterValues ( List < string > apisToExtract , Extractor exc )
331
349
{
332
350
// used to create the parameter values for use in parameters file
333
351
// create empty template
@@ -387,44 +405,16 @@ public async Task<Template> CreateMasterTemplateParameterValues(string singleApi
387
405
{
388
406
Dictionary < string , string > serviceUrls = new Dictionary < string , string > ( ) ;
389
407
APIExtractor apiExc = new APIExtractor ( new FileWriter ( ) ) ;
390
- if ( singleApiName != null )
408
+ foreach ( string apiName in apisToExtract )
391
409
{
392
- string validApiName = ExtractorUtils . GenValidApiParamName ( singleApiName ) ;
393
- string serviceUrl = GetApiServiceUrlFromParameters ( singleApiName , exc . serviceUrlParameters ) ;
410
+ string validApiName = ExtractorUtils . GenValidParamName ( apiName , "Api" ) ;
411
+ string serviceUrl = GetApiServiceUrlFromParameters ( apiName , exc . serviceUrlParameters ) ;
394
412
if ( serviceUrl == null )
395
413
{
396
- serviceUrl = await apiExc . GetAPIServiceUrl ( exc . sourceApimName , exc . resourceGroup , singleApiName ) ;
414
+ serviceUrl = await apiExc . GetAPIServiceUrl ( exc . sourceApimName , exc . resourceGroup , apiName ) ;
397
415
}
398
416
serviceUrls . Add ( validApiName , serviceUrl ) ;
399
417
}
400
- else if ( multipleApiNames != null )
401
- {
402
- foreach ( string apiName in multipleApiNames )
403
- {
404
- string validApiName = ExtractorUtils . GenValidApiParamName ( apiName ) ;
405
- string serviceUrl = GetApiServiceUrlFromParameters ( apiName , exc . serviceUrlParameters ) ;
406
- if ( serviceUrl == null )
407
- {
408
- serviceUrl = await apiExc . GetAPIServiceUrl ( exc . sourceApimName , exc . resourceGroup , apiName ) ;
409
- }
410
- serviceUrls . Add ( validApiName , serviceUrl ) ;
411
- }
412
- }
413
- else
414
- {
415
- JToken [ ] oApis = await apiExc . GetAllAPIObjsAsync ( exc . sourceApimName , exc . resourceGroup ) ;
416
- foreach ( JToken oApi in oApis )
417
- {
418
- string apiName = ( ( JValue ) oApi [ "name" ] ) . Value . ToString ( ) ;
419
- string validApiName = ExtractorUtils . GenValidApiParamName ( apiName ) ;
420
- string serviceUrl = GetApiServiceUrlFromParameters ( apiName , exc . serviceUrlParameters ) ;
421
- if ( serviceUrl == null )
422
- {
423
- serviceUrl = await apiExc . GetAPIServiceUrl ( exc . sourceApimName , exc . resourceGroup , apiName ) ;
424
- }
425
- serviceUrls . Add ( validApiName , serviceUrl ) ;
426
- }
427
- }
428
418
TemplateServiceUrlProperties serviceUrlProperties = new TemplateServiceUrlProperties ( )
429
419
{
430
420
value = serviceUrls
@@ -444,7 +434,7 @@ public async Task<Template> CreateMasterTemplateParameterValues(string singleApi
444
434
string fullPropertyResource = await pExc . GetPropertyDetailsAsync ( exc . sourceApimName , exc . resourceGroup , propertyName ) ;
445
435
PropertyTemplateResource propertyTemplateResource = JsonConvert . DeserializeObject < PropertyTemplateResource > ( fullPropertyResource ) ;
446
436
string propertyValue = propertyTemplateResource . properties . value ;
447
- string validPName = ExtractorUtils . GenValidPropertyParamName ( propertyName ) ;
437
+ string validPName = ExtractorUtils . GenValidParamName ( propertyName , "Property" ) ;
448
438
namedValues . Add ( validPName , propertyValue ) ;
449
439
}
450
440
TemplateServiceUrlProperties namedValueProperties = new TemplateServiceUrlProperties ( )
@@ -453,6 +443,31 @@ public async Task<Template> CreateMasterTemplateParameterValues(string singleApi
453
443
} ;
454
444
parameters . Add ( "NamedValues" , namedValueProperties ) ;
455
445
}
446
+ if ( exc . paramApiLoggerId )
447
+ {
448
+ Dictionary < string , Dictionary < string , string > > ApiLoggerId = new Dictionary < string , Dictionary < string , string > > ( ) ;
449
+ APIExtractor apiExc = new APIExtractor ( new FileWriter ( ) ) ;
450
+ foreach ( string curApiName in apisToExtract )
451
+ {
452
+ Dictionary < string , string > loggerIds = new Dictionary < string , string > ( ) ;
453
+ string diagnostics = await apiExc . GetAPIDiagnosticsAsync ( exc . sourceApimName , exc . resourceGroup , curApiName ) ;
454
+ JObject oDiagnostics = JObject . Parse ( diagnostics ) ;
455
+ foreach ( var diagnostic in oDiagnostics [ "value" ] )
456
+ {
457
+ string diagnosticName = ( ( JValue ) diagnostic [ "name" ] ) . Value . ToString ( ) ;
458
+ string loggerId = ( ( JValue ) diagnostic [ "properties" ] [ "loggerId" ] ) . Value . ToString ( ) ;
459
+ loggerIds . Add ( ExtractorUtils . GenValidParamName ( diagnosticName , "Diagnostic" ) , loggerId ) ;
460
+ }
461
+ if ( loggerIds . Count != 0 ) {
462
+ ApiLoggerId . Add ( ExtractorUtils . GenValidParamName ( curApiName , "Api" ) , loggerIds ) ;
463
+ }
464
+ }
465
+ TemplateServiceUrlProperties loggerIdProperties = new TemplateServiceUrlProperties ( )
466
+ {
467
+ value = ApiLoggerId
468
+ } ;
469
+ parameters . Add ( "ApiLoggerId" , loggerIdProperties ) ;
470
+ }
456
471
masterTemplate . parameters = parameters ;
457
472
return masterTemplate ;
458
473
}
0 commit comments