@@ -3,29 +3,44 @@ const Request = require("../../shared/request");
3
3
const Help = require ( "../help" ) ;
4
4
5
5
const OUTPUT = {
6
+ list : async ( ...args ) => {
7
+ const env = Environment ( ) ;
8
+ if ( ! env . secrets . TFC_TOKEN ) {
9
+ Help ( 'Missing TFC_TOKEN.' ) ;
10
+ }
11
+ if ( ! env . secrets . TFC_WORKSPACE ) {
12
+ Help ( 'Missing TFC_WORKSPACE.' ) ;
13
+ }
14
+ const state = await Request ( 'app.terraform.io' , 'GET' , `/api/v2/workspaces/${ env . secrets . TFC_WORKSPACE } /current-state-version` , {
15
+ 'Authorization' : `Bearer ${ env . secrets . TFC_TOKEN } `
16
+ } ) ;
17
+ const stateJSON = JSON . parse ( state ) ;
18
+ stateJSON . data . relationships . outputs . data . forEach ( ( output , i ) => {
19
+ console . log ( i , output . id ) ;
20
+ } ) ;
21
+ } ,
6
22
get : async ( ...args ) => {
7
23
const env = Environment ( ) ;
8
- if ( env . secrets . TFC_TOKEN ) {
24
+ if ( ! env . secrets . TFC_TOKEN ) {
9
25
Help ( 'Missing TFC_TOKEN.' ) ;
10
26
}
11
- if ( env . secrets . TFC_WORKSPACE ) {
27
+ if ( ! env . secrets . TFC_WORKSPACE ) {
12
28
Help ( 'Missing TFC_WORKSPACE.' ) ;
13
29
}
14
30
const state = await Request ( 'app.terraform.io' , 'GET' , `/api/v2/workspaces/${ env . secrets . TFC_WORKSPACE } /current-state-version` , {
15
31
'Authorization' : `Bearer ${ env . secrets . TFC_TOKEN } `
16
32
} ) ;
17
33
18
- console . log ( state ) ;
19
-
20
34
const output_id = JSON . parse ( state ) . data . relationships . outputs . data [ 0 ] . id ;
21
-
35
+
22
36
let outputs = await Request ( 'app.terraform.io' , 'GET' , `/api/v2/state-version-outputs/${ output_id } ` , {
23
37
'Authorization' : `Bearer ${ env . secrets . TFC_TOKEN } `
24
38
} ) ;
25
39
26
40
outputs = JSON . parse ( outputs ) . data . attributes . value ;
27
41
28
- console . log ( outputs . byString ( env . args [ 0 ] || '' ) ) ;
42
+ // console.log(outputs.byString(env.args[0] || ''));
43
+ console . log ( JSON . stringify ( outputs , null , ' ' ) ) ;
29
44
30
45
} ,
31
46
}
0 commit comments