1313
1414import  {  CfnDocumentationPart ,  CfnDocumentationPartProps ,  CfnDocumentationVersion  }  from  'aws-cdk-lib/aws-apigateway' ; 
1515import  {  Construct  }  from  'constructs' ; 
16- import  {  caseResource ,  createCaseMethod ,   createCaseBody  }  from  './case' ; 
16+ import  {  caseResource ,  createCaseBody ,   createCaseMethod  }  from  './case' ; 
1717import  {  casesResource  }  from  './cases' ; 
1818import  {  downloadDocQueryParam ,  getDocQueryParam  }  from  './document' ; 
19- import  {  apiRootDocumentationPart ,   authTokenHeader ,   caseIdPathParam ,   docIdPathParam   }  from  './root ' ; 
19+ import  {  getInferenceByTypeMethod ,   listInferencesMethod   }  from  './inferences ' ; 
2020import  {  redactMethod ,  redactSuccessResponse  }  from  './redact' ; 
21+ import  {  apiRootDocumentationPart ,  authTokenHeader ,  caseIdPathParam ,  docIdPathParam  }  from  './root' ; 
2122import  {  searchMethod ,  searchQueryPathParam  }  from  './search' ; 
22- import  {  getInferenceByTypeMethod ,  listInferencesMethod  }  from  './inferences' ; 
2323
2424export  interface  ApiDocumentationProps  { 
2525    /** 
@@ -38,44 +38,76 @@ export class ApiDocumentation extends Construct {
3838        super ( scope ,  id ) ; 
3939        this . restApiId  =  props . restApiId ; 
4040
41+         // specify the documentation version as same as solution version 
42+         const  documentationVersion  =  new  CfnDocumentationVersion ( this ,  'Version' ,  { 
43+             documentationVersion : scope . node . tryGetContext ( 'solution_version' )  ||  '' , 
44+             restApiId : this . restApiId 
45+         } ) ; 
46+ 
4147        // root resource 
42-         new  CfnDocumentationPart ( this ,  'RequestAuthHeader' ,  this . createDocumentationPart ( authTokenHeader ) ) ; 
43-         new  CfnDocumentationPart ( this ,  'CaseIdPathParam' ,  this . createDocumentationPart ( caseIdPathParam ) ) ; 
44-         new  CfnDocumentationPart ( this ,  'DocumentIdPathParam' ,  this . createDocumentationPart ( docIdPathParam ) ) ; 
45-         new  CfnDocumentationPart ( this ,  'ApiRoot' ,  this . createDocumentationPart ( apiRootDocumentationPart ) ) ; 
48+         documentationVersion . addDependency ( 
49+             new  CfnDocumentationPart ( this ,  'RequestAuthHeader' ,  this . createDocumentationPart ( authTokenHeader ) ) 
50+         ) ; 
51+         documentationVersion . addDependency ( 
52+             new  CfnDocumentationPart ( this ,  'CaseIdPathParam' ,  this . createDocumentationPart ( caseIdPathParam ) ) 
53+         ) ; 
54+         documentationVersion . addDependency ( 
55+             new  CfnDocumentationPart ( this ,  'DocumentIdPathParam' ,  this . createDocumentationPart ( docIdPathParam ) ) 
56+         ) ; 
57+         documentationVersion . addDependency ( 
58+             new  CfnDocumentationPart ( this ,  'ApiRoot' ,  this . createDocumentationPart ( apiRootDocumentationPart ) ) 
59+         ) ; 
4660
4761        // case resource and endpoints 
48-         new  CfnDocumentationPart ( this ,  'CaseResource' ,  this . createDocumentationPart ( caseResource ) ) ; 
49-         new  CfnDocumentationPart ( this ,  'CreateCaseMethod' ,  this . createDocumentationPart ( createCaseMethod ) ) ; 
50-         new  CfnDocumentationPart ( this ,  'CreateCaseBody' ,  this . createDocumentationPart ( createCaseBody ) ) ; 
62+         documentationVersion . addDependency ( 
63+             new  CfnDocumentationPart ( this ,  'CaseResource' ,  this . createDocumentationPart ( caseResource ) ) 
64+         ) ; 
65+         documentationVersion . addDependency ( 
66+             new  CfnDocumentationPart ( this ,  'CreateCaseMethod' ,  this . createDocumentationPart ( createCaseMethod ) ) 
67+         ) ; 
68+         documentationVersion . addDependency ( 
69+             new  CfnDocumentationPart ( this ,  'CreateCaseBody' ,  this . createDocumentationPart ( createCaseBody ) ) 
70+         ) ; 
5171
5272        // cases endpoint 
53-         new  CfnDocumentationPart ( this ,  'ListCasesResource' ,  this . createDocumentationPart ( casesResource ) ) ; 
73+         documentationVersion . addDependency ( 
74+             new  CfnDocumentationPart ( this ,  'ListCasesResource' ,  this . createDocumentationPart ( casesResource ) ) 
75+         ) ; 
5476        // document endpoints 
55-         new  CfnDocumentationPart ( this ,  'GetDocQueryParam' ,  this . createDocumentationPart ( getDocQueryParam ) ) ; 
56-         new  CfnDocumentationPart ( this ,  'DownloadDocQueryParam' ,  this . createDocumentationPart ( downloadDocQueryParam ) ) ; 
77+         documentationVersion . addDependency ( 
78+             new  CfnDocumentationPart ( this ,  'GetDocQueryParam' ,  this . createDocumentationPart ( getDocQueryParam ) ) 
79+         ) ; 
80+         documentationVersion . addDependency ( 
81+             new  CfnDocumentationPart ( this ,  'DownloadDocQueryParam' ,  this . createDocumentationPart ( downloadDocQueryParam ) ) 
82+         ) ; 
5783
5884        // redact endpoint 
59-         new  CfnDocumentationPart ( this ,  'RedactMethod' ,  this . createDocumentationPart ( redactMethod ) ) ; 
60-         new  CfnDocumentationPart ( this ,  'RedactSuccessResponse' ,  this . createDocumentationPart ( redactSuccessResponse ) ) ; 
85+         documentationVersion . addDependency ( 
86+             new  CfnDocumentationPart ( this ,  'RedactMethod' ,  this . createDocumentationPart ( redactMethod ) ) 
87+         ) ; 
88+         documentationVersion . addDependency ( 
89+             new  CfnDocumentationPart ( this ,  'RedactSuccessResponse' ,  this . createDocumentationPart ( redactSuccessResponse ) ) 
90+         ) ; 
6191
6292        // search endpoint 
63-         new  CfnDocumentationPart ( this ,  'KendraSearchMethod' ,  this . createDocumentationPart ( searchMethod ) ) ; 
64-         new  CfnDocumentationPart ( this ,  'KendraSearchPathParam' ,  this . createDocumentationPart ( searchQueryPathParam ) ) ; 
93+         documentationVersion . addDependency ( 
94+             new  CfnDocumentationPart ( this ,  'KendraSearchMethod' ,  this . createDocumentationPart ( searchMethod ) ) 
95+         ) ; 
96+         documentationVersion . addDependency ( 
97+             new  CfnDocumentationPart ( this ,  'KendraSearchPathParam' ,  this . createDocumentationPart ( searchQueryPathParam ) ) 
98+         ) ; 
6599
66100        // inference edpoints 
67-         new  CfnDocumentationPart ( 
68-             this , 
69-             'GetInferenceByTypeMethod' , 
70-             this . createDocumentationPart ( getInferenceByTypeMethod ) 
101+         documentationVersion . addDependency ( 
102+             new  CfnDocumentationPart ( 
103+                 this , 
104+                 'GetInferenceByTypeMethod' , 
105+                 this . createDocumentationPart ( getInferenceByTypeMethod ) 
106+             ) 
107+         ) ; 
108+         documentationVersion . addDependency ( 
109+             new  CfnDocumentationPart ( this ,  'ListInferencesMethod' ,  this . createDocumentationPart ( listInferencesMethod ) ) 
71110        ) ; 
72-         new  CfnDocumentationPart ( this ,  'ListInferencesMethod' ,  this . createDocumentationPart ( listInferencesMethod ) ) ; 
73- 
74-         // specify the documentation version as same as solution version 
75-         new  CfnDocumentationVersion ( this ,  'Version' ,  { 
76-             documentationVersion : scope . node . tryGetContext ( 'solution_version' )  ||  '' , 
77-             restApiId : this . restApiId 
78-         } ) ; 
79111    } 
80112
81113    /** 
0 commit comments