@@ -12,7 +12,6 @@ import (
1212 "os"
1313)
1414
15- // TODO import flags --all (export too)
1615var importCmd = & cobra.Command {
1716 Use : "import" ,
1817 Short : "Keyfactor instance import utilities." ,
@@ -33,36 +32,49 @@ var importCmd = &cobra.Command{
3332 log .Fatalf ("Error: %s" , jErr )
3433 }
3534 kfClient := initGenClient ()
36- if len (out .Collections ) != 0 {
35+ oldKfClient , _ := initClient ()
36+ if cmd .Flag ("all" ).Value .String () == "true" {
3737 importCollections (out .Collections , kfClient )
38- }
39- if len (out .MetadataFields ) != 0 {
4038 importMetadataFields (out .MetadataFields , kfClient )
41- }
42- if len (out .IssuedCertAlerts ) != 0 {
4339 importIssuedCertAlerts (out .IssuedCertAlerts , kfClient )
44- }
45- if len (out .DeniedCertAlerts ) != 0 {
4640 importDeniedCertAlerts (out .DeniedCertAlerts , kfClient )
47- }
48- if len (out .PendingCertAlerts ) != 0 {
4941 importPendingCertAlerts (out .PendingCertAlerts , kfClient )
50- }
51- if len (out .Networks ) != 0 {
5242 importNetworks (out .Networks , kfClient )
53- }
54- if len (out .WorkflowDefinitions ) != 0 {
5543 importWorkflowDefinitions (out .WorkflowDefinitions , kfClient )
56- }
57- if len (out .BuiltInReports ) != 0 {
5844 importBuiltInReports (out .BuiltInReports , kfClient )
59- }
60- if len (out .CustomReports ) != 0 {
6145 importCustomReports (out .CustomReports , kfClient )
62- }
63- if len (out .SecurityRoles ) != 0 {
64- kfClient , _ := initClient ()
65- importSecurityRoles (out .SecurityRoles , kfClient )
46+ importSecurityRoles (out .SecurityRoles , oldKfClient )
47+ } else {
48+ if len (out .Collections ) != 0 && cmd .Flag ("collections" ).Value .String () == "true" {
49+ importCollections (out .Collections , kfClient )
50+ }
51+ if len (out .MetadataFields ) != 0 && cmd .Flag ("metadata" ).Value .String () == "true" {
52+ importMetadataFields (out .MetadataFields , kfClient )
53+ }
54+ if len (out .IssuedCertAlerts ) != 0 && cmd .Flag ("issued-alerts" ).Value .String () == "true" {
55+ importIssuedCertAlerts (out .IssuedCertAlerts , kfClient )
56+ }
57+ if len (out .DeniedCertAlerts ) != 0 && cmd .Flag ("denied-alerts" ).Value .String () == "true" {
58+ importDeniedCertAlerts (out .DeniedCertAlerts , kfClient )
59+ }
60+ if len (out .PendingCertAlerts ) != 0 && cmd .Flag ("pending-alerts" ).Value .String () == "true" {
61+ importPendingCertAlerts (out .PendingCertAlerts , kfClient )
62+ }
63+ if len (out .Networks ) != 0 && cmd .Flag ("networks" ).Value .String () == "true" {
64+ importNetworks (out .Networks , kfClient )
65+ }
66+ if len (out .WorkflowDefinitions ) != 0 && cmd .Flag ("workflow-definitions" ).Value .String () == "true" {
67+ importWorkflowDefinitions (out .WorkflowDefinitions , kfClient )
68+ }
69+ if len (out .BuiltInReports ) != 0 && cmd .Flag ("reports" ).Value .String () == "true" {
70+ importBuiltInReports (out .BuiltInReports , kfClient )
71+ }
72+ if len (out .CustomReports ) != 0 && cmd .Flag ("reports" ).Value .String () == "true" {
73+ importCustomReports (out .CustomReports , kfClient )
74+ }
75+ if len (out .SecurityRoles ) != 0 && cmd .Flag ("security-roles" ).Value .String () == "true" {
76+ importSecurityRoles (out .SecurityRoles , oldKfClient )
77+ }
6678 }
6779 },
6880}
@@ -254,10 +266,32 @@ func importSecurityRoles(roles []api.CreateSecurityRoleArg, kfClient *api.Client
254266}
255267
256268func init () {
257- var exportPath string
258-
259269 RootCmd .AddCommand (importCmd )
260270
261- importCmd .Flags ().StringVarP (& exportPath , "file" , "f" , "" , "export JSON to a specified filepath" )
271+ importCmd .Flags ().StringVarP (& exportPath , "file" , "f" , "" , "import JSON to a specified filepath" )
262272 importCmd .MarkFlagRequired ("file" )
273+
274+ importCmd .Flags ().BoolVarP (& fAll , "all" , "a" , false , "import all importable data to JSON file" )
275+ importCmd .Flags ().Lookup ("all" ).NoOptDefVal = "true"
276+
277+ importCmd .Flags ().BoolVarP (& fCollections , "collections" , "c" , false , "import collections to JSON file" )
278+ importCmd .Flags ().Lookup ("collections" ).NoOptDefVal = "true"
279+ importCmd .Flags ().BoolVarP (& fMetadata , "metadata" , "m" , false , "import metadata to JSON file" )
280+ importCmd .Flags ().Lookup ("metadata" ).NoOptDefVal = "true"
281+ importCmd .Flags ().BoolVarP (& fExpirationAlerts , "expiration-alerts" , "e" , false , "import expiration cert alerts to JSON file" )
282+ importCmd .Flags ().Lookup ("expiration-alerts" ).NoOptDefVal = "true"
283+ importCmd .Flags ().BoolVarP (& fIssuedAlerts , "issued-alerts" , "i" , false , "import issued cert alerts to JSON file" )
284+ importCmd .Flags ().Lookup ("issued-alerts" ).NoOptDefVal = "true"
285+ importCmd .Flags ().BoolVarP (& fDeniedAlerts , "denied-alerts" , "d" , false , "import denied cert alerts to JSON file" )
286+ importCmd .Flags ().Lookup ("denied-alerts" ).NoOptDefVal = "true"
287+ importCmd .Flags ().BoolVarP (& fPendingAlerts , "pending-alerts" , "p" , false , "import pending cert alerts to JSON file" )
288+ importCmd .Flags ().Lookup ("pending-alerts" ).NoOptDefVal = "true"
289+ importCmd .Flags ().BoolVarP (& fNetworks , "networks" , "n" , false , "import SSL networks to JSON file" )
290+ importCmd .Flags ().Lookup ("networks" ).NoOptDefVal = "true"
291+ importCmd .Flags ().BoolVarP (& fWorkflowDefinitions , "workflow-definitions" , "w" , false , "import workflow definitions to JSON file" )
292+ importCmd .Flags ().Lookup ("workflow-definitions" ).NoOptDefVal = "true"
293+ importCmd .Flags ().BoolVarP (& fReports , "reports" , "r" , false , "import reports to JSON file" )
294+ importCmd .Flags ().Lookup ("reports" ).NoOptDefVal = "true"
295+ importCmd .Flags ().BoolVarP (& fSecurityRoles , "security-roles" , "s" , false , "import security roles to JSON file" )
296+ importCmd .Flags ().Lookup ("security-roles" ).NoOptDefVal = "true"
263297}
0 commit comments