@@ -2,6 +2,7 @@ package catalyst
22
33import (
44 "fmt"
5+ "io"
56 "net/http"
67
78 "github.com/go-resty/resty/v2"
@@ -20,6 +21,18 @@ type ImportCertificateP12V1QueryParams struct {
2021 ListOfUsers []string `url:"listOfUsers,omitempty"` //Specify whether the certificate will be used for controller ("server"), disaster recovery ("ipsec") or both ("server, ipsec"). If no value is provided, the default value taken will be "server"
2122}
2223
24+ type ImportCertificateMultipartFields struct {
25+ PkFileUploadName string
26+ PkFileUpload io.Reader
27+ CertFileUploadName string
28+ CertFileUpload io.Reader
29+ }
30+
31+ type ImportCertificateP12MultipartFields struct {
32+ P12FileUpload io.Reader
33+ P12FileUploadName string
34+ }
35+
2336type ResponseAuthenticationManagementImportCertificateV1 struct {
2437 Response * ResponseAuthenticationManagementImportCertificateV1Response `json:"response,omitempty"` //
2538
@@ -52,14 +65,23 @@ type ResponseAuthenticationManagementAuthenticationAPIV1 struct {
5265
5366Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-certificate
5467*/
55- func (s * AuthenticationManagementService ) ImportCertificateV1 (ImportCertificateV1QueryParams * ImportCertificateV1QueryParams ) (* ResponseAuthenticationManagementImportCertificateV1 , * resty.Response , error ) {
68+ func (s * AuthenticationManagementService ) ImportCertificateV1 (ImportCertificateV1QueryParams * ImportCertificateV1QueryParams , ImportCertificateMultipartFields * ImportCertificateMultipartFields ) (* ResponseAuthenticationManagementImportCertificateV1 , * resty.Response , error ) {
5669 path := "/dna/intent/api/v1/certificate"
5770
5871 queryString , _ := query .Values (ImportCertificateV1QueryParams )
5972
60- response , err := s .client .R ().
73+ var response * resty.Response
74+ var err error
75+ clientRequest := s .client .R ().
6176 SetHeader ("Content-Type" , "application/json" ).
62- SetHeader ("Accept" , "application/json" ).
77+ SetHeader ("Accept" , "application/json" )
78+
79+ if ImportCertificateMultipartFields != nil {
80+ clientRequest = clientRequest .SetFileReader ("pkFileUpload" , ImportCertificateMultipartFields .PkFileUploadName , ImportCertificateMultipartFields .PkFileUpload )
81+ clientRequest = clientRequest .SetFileReader ("certFileUpload" , ImportCertificateMultipartFields .CertFileUploadName , ImportCertificateMultipartFields .CertFileUpload )
82+ }
83+
84+ response , err = clientRequest .
6385 SetQueryString (queryString .Encode ()).
6486 SetResult (& ResponseAuthenticationManagementImportCertificateV1 {}).
6587 SetError (& Error ).
@@ -73,10 +95,10 @@ func (s *AuthenticationManagementService) ImportCertificateV1(ImportCertificateV
7395 if response .IsError () {
7496
7597 if response .StatusCode () == http .StatusUnauthorized {
76- return s .ImportCertificateV1 (ImportCertificateV1QueryParams )
98+ return s .ImportCertificateV1 (ImportCertificateV1QueryParams , ImportCertificateMultipartFields )
7799 }
78100
79- return nil , response , fmt .Errorf ("error with operation ImportCertificateV1 " )
101+ return nil , response , fmt .Errorf ("error with operation ImportCertificate " )
80102 }
81103
82104 result := response .Result ().(* ResponseAuthenticationManagementImportCertificateV1 )
@@ -92,14 +114,22 @@ func (s *AuthenticationManagementService) ImportCertificateV1(ImportCertificateV
92114
93115Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-certificate-p12
94116*/
95- func (s * AuthenticationManagementService ) ImportCertificateP12V1 (ImportCertificateP12V1QueryParams * ImportCertificateP12V1QueryParams ) (* ResponseAuthenticationManagementImportCertificateP12V1 , * resty.Response , error ) {
117+ func (s * AuthenticationManagementService ) ImportCertificateP12V1 (ImportCertificateP12V1QueryParams * ImportCertificateP12V1QueryParams , ImportCertificateP12MultipartFields * ImportCertificateP12MultipartFields ) (* ResponseAuthenticationManagementImportCertificateP12V1 , * resty.Response , error ) {
96118 path := "/dna/intent/api/v1/certificate-p12"
97119
98120 queryString , _ := query .Values (ImportCertificateP12V1QueryParams )
99121
100- response , err := s .client .R ().
122+ var response * resty.Response
123+ var err error
124+ clientRequest := s .client .R ().
101125 SetHeader ("Content-Type" , "application/json" ).
102- SetHeader ("Accept" , "application/json" ).
126+ SetHeader ("Accept" , "application/json" )
127+
128+ if ImportCertificateP12MultipartFields != nil {
129+ clientRequest = clientRequest .SetFileReader ("p12FileUpload" , ImportCertificateP12MultipartFields .P12FileUploadName , ImportCertificateP12MultipartFields .P12FileUpload )
130+ }
131+
132+ response , err = clientRequest .
103133 SetQueryString (queryString .Encode ()).
104134 SetResult (& ResponseAuthenticationManagementImportCertificateP12V1 {}).
105135 SetError (& Error ).
@@ -113,10 +143,10 @@ func (s *AuthenticationManagementService) ImportCertificateP12V1(ImportCertifica
113143 if response .IsError () {
114144
115145 if response .StatusCode () == http .StatusUnauthorized {
116- return s .ImportCertificateP12V1 (ImportCertificateP12V1QueryParams )
146+ return s .ImportCertificateP12V1 (ImportCertificateP12V1QueryParams , ImportCertificateP12MultipartFields )
117147 }
118148
119- return nil , response , fmt .Errorf ("error with operation ImportCertificateP12V1 " )
149+ return nil , response , fmt .Errorf ("error with operation ImportCertificateP12 " )
120150 }
121151
122152 result := response .Result ().(* ResponseAuthenticationManagementImportCertificateP12V1 )
@@ -172,14 +202,14 @@ func (s *AuthenticationManagementService) AuthenticationAPI() (*ResponseAuthenti
172202/*
173203This method acts as an alias for the method `ImportCertificateP12V1`
174204*/
175- func (s * AuthenticationManagementService ) ImportCertificateP12 (ImportCertificateP12V1QueryParams * ImportCertificateP12V1QueryParams ) (* ResponseAuthenticationManagementImportCertificateP12V1 , * resty.Response , error ) {
176- return s .ImportCertificateP12V1 (ImportCertificateP12V1QueryParams )
205+ func (s * AuthenticationManagementService ) ImportCertificateP12 (ImportCertificateP12V1QueryParams * ImportCertificateP12V1QueryParams , ImportCertificateP12MultipartFields * ImportCertificateP12MultipartFields ) (* ResponseAuthenticationManagementImportCertificateP12V1 , * resty.Response , error ) {
206+ return s .ImportCertificateP12V1 (ImportCertificateP12V1QueryParams , ImportCertificateP12MultipartFields )
177207}
178208
179209// Alias Function
180210/*
181211This method acts as an alias for the method `ImportCertificateV1`
182212*/
183- func (s * AuthenticationManagementService ) ImportCertificate (ImportCertificateV1QueryParams * ImportCertificateV1QueryParams ) (* ResponseAuthenticationManagementImportCertificateV1 , * resty.Response , error ) {
184- return s .ImportCertificateV1 (ImportCertificateV1QueryParams )
213+ func (s * AuthenticationManagementService ) ImportCertificate (ImportCertificateV1QueryParams * ImportCertificateV1QueryParams , ImportCertificateMultipartFields * ImportCertificateMultipartFields ) (* ResponseAuthenticationManagementImportCertificateV1 , * resty.Response , error ) {
214+ return s .ImportCertificateV1 (ImportCertificateV1QueryParams , ImportCertificateMultipartFields )
185215}
0 commit comments