@@ -44,6 +44,42 @@ func TestValidateConfig(t *testing.T) {
4444 },
4545 },
4646 errs : field.ErrorList {},
47+ },
48+ {
49+ name : "valid with instance principals enabled" ,
50+ in : & Config {
51+ Auth : AuthConfig {
52+ UseInstancePrincipals : true ,
53+ },
54+ LoadBalancer : LoadBalancerConfig {
55+ Subnet1 : "ocid1.tenancy.oc1..aaaaaaaatyn7scrtwtqedvgrxgr2xunzeo6uanvyhzxqblctwkrpisvke4kq" ,
56+ Subnet2 : "ocid1.subnet.oc1.phx.aaaaaaaahuxrgvs65iwdz7ekwgg3l5gyah7ww5klkwjcso74u3e4i64hvtvq" ,
57+ },
58+ },
59+ errs : field.ErrorList {},
60+ }, {
61+ name : "mixing instance principals with other auth flags" ,
62+ in : & Config {
63+ Auth : AuthConfig {
64+ UseInstancePrincipals : true ,
65+ Region : "us-phoenix-1" ,
66+ TenancyID : "ocid1.tenancy.oc1..aaaaaaaatyn7scrtwtqedvgrxgr2xunzeo6uanvyhzxqblctwkrpisvke4kq" ,
67+ UserID : "ocid1.user.oc1..aaaaaaaai77mql2xerv7cn6wu3nhxang3y4jk56vo5bn5l5lysl34avnui3q" ,
68+ PrivateKey : "-----BEGIN RSA PRIVATE KEY----- (etc)" ,
69+ Fingerprint : "8c:bf:17:7b:5f:e0:7d:13:75:11:d6:39:0d:e2:84:74" ,
70+ },
71+ LoadBalancer : LoadBalancerConfig {
72+ Subnet1 : "ocid1.tenancy.oc1..aaaaaaaatyn7scrtwtqedvgrxgr2xunzeo6uanvyhzxqblctwkrpisvke4kq" ,
73+ Subnet2 : "ocid1.subnet.oc1.phx.aaaaaaaahuxrgvs65iwdz7ekwgg3l5gyah7ww5klkwjcso74u3e4i64hvtvq" ,
74+ },
75+ },
76+ errs : field.ErrorList {
77+ & field.Error {Type : field .ErrorTypeForbidden , Field : "auth.region" , Detail : "cannot be used when useInstancePrincipals is enabled" , BadValue : "" },
78+ & field.Error {Type : field .ErrorTypeForbidden , Field : "auth.tenancy" , Detail : "cannot be used when useInstancePrincipals is enabled" , BadValue : "" },
79+ & field.Error {Type : field .ErrorTypeForbidden , Field : "auth.user" , Detail : "cannot be used when useInstancePrincipals is enabled" , BadValue : "" },
80+ & field.Error {Type : field .ErrorTypeForbidden , Field : "auth.key" , Detail : "cannot be used when useInstancePrincipals is enabled" , BadValue : "" },
81+ & field.Error {Type : field .ErrorTypeForbidden , Field : "auth.fingerprint" , Detail : "cannot be used when useInstancePrincipals is enabled" , BadValue : "" },
82+ },
4783 }, {
4884 name : "valid_with_non_default_security_list_management_mode" ,
4985 in : & Config {
@@ -237,7 +273,7 @@ func TestValidateConfig(t *testing.T) {
237273 tt .in .Complete ()
238274 result := ValidateConfig (tt .in )
239275 if ! reflect .DeepEqual (result , tt .errs ) {
240- t .Errorf ("ValidateConfig(%#v)\n => %q \n Expected: %q" , tt .in , result , tt .errs )
276+ t .Errorf ("ValidateConfig(%#v)\n => %q \n Expected: %q" , tt .in , result , tt .errs )
241277 }
242278 })
243279 }
0 commit comments