88
99// Expand
1010
11- func expandRepository (d * schema.ResourceData ) * application.Repository {
11+ func expandRepository (d * schema.ResourceData ) (* application.Repository , error ) {
12+ var err error
13+
1214 repository := & application.Repository {}
1315 if v , ok := d .GetOk ("repo" ); ok {
1416 repository .Repo = v .(string )
@@ -49,7 +51,25 @@ func expandRepository(d *schema.ResourceData) *application.Repository {
4951 if v , ok := d .GetOk ("type" ); ok {
5052 repository .Type = v .(string )
5153 }
52- return repository
54+ if v , ok := d .GetOk ("githubapp_id" ); ok {
55+ repository .GithubAppId , err = convertStringToInt64 (v .(string ))
56+ if err != nil {
57+ return nil , err
58+ }
59+ }
60+ if v , ok := d .GetOk ("githubapp_installation_id" ); ok {
61+ repository .GithubAppInstallationId , err = convertStringToInt64 (v .(string ))
62+ if err != nil {
63+ return nil , err
64+ }
65+ }
66+ if v , ok := d .GetOk ("githubapp_enterprise_base_url" ); ok {
67+ repository .GitHubAppEnterpriseBaseURL = v .(string )
68+ }
69+ if v , ok := d .GetOk ("githubapp_private_key" ); ok {
70+ repository .GithubAppPrivateKey = v .(string )
71+ }
72+ return repository , nil
5373}
5474
5575// Flatten
@@ -64,13 +84,20 @@ func flattenRepository(repository *application.Repository, d *schema.ResourceDat
6484 "name" : repository .Name ,
6585 "project" : repository .Project ,
6686 // TODO: in case of repositoryCredentials existence, will perma-diff
67- //"username": repository.Username,
87+ //"username": repository.Username,
6888 // TODO: ArgoCD API does not return sensitive data!
69- //"password": repository.Password,
70- //"ssh_private_key": repository.SSHPrivateKey,
71- //"tls_client_cert_key": repository.TLSClientCertKey,
72- "tls_client_cert_data" : repository .TLSClientCertData ,
73- "type" : repository .Type ,
89+ //"password": repository.Password,
90+ //"ssh_private_key": repository.SSHPrivateKey,
91+ //"tls_client_cert_key": repository.TLSClientCertKey,
92+ "tls_client_cert_data" : repository .TLSClientCertData ,
93+ "type" : repository .Type ,
94+ "githubapp_enterprise_base_url" : repository .GitHubAppEnterpriseBaseURL ,
95+ }
96+ if repository .GithubAppId > 0 {
97+ r ["githubapp_id" ] = convertInt64ToString (repository .GithubAppId )
98+ }
99+ if repository .GithubAppInstallationId > 0 {
100+ r ["githubapp_installation_id" ] = convertInt64ToString (repository .GithubAppInstallationId )
74101 }
75102 for k , v := range r {
76103 if err := persistToState (k , v , d ); err != nil {
0 commit comments