@@ -212,12 +212,16 @@ func setSCPConfig(scpConfig dicom.SCPConfig, d *schema.ResourceData) error {
212212 storeService ["is_secure" ] = scpConfig .SecureNetworkConnection .IsSecure
213213 if secure {
214214 storeService ["port" ] = scpConfig .SecureNetworkConnection .Port
215- storeService ["pdu_length" ] = scpConfig .SecureNetworkConnection .AdvancedSettings .PDULength
216- storeService ["artim_timeout" ] = scpConfig .SecureNetworkConnection .AdvancedSettings .ArtimTimeOut
215+ if scpConfig .SecureNetworkConnection .AdvancedSettings != nil {
216+ storeService ["pdu_length" ] = scpConfig .SecureNetworkConnection .AdvancedSettings .PDULength
217+ storeService ["artim_timeout" ] = scpConfig .SecureNetworkConnection .AdvancedSettings .ArtimTimeout
218+ }
217219 } else {
218220 storeService ["port" ] = scpConfig .UnSecureNetworkConnection .Port
219- storeService ["pdu_length" ] = scpConfig .UnSecureNetworkConnection .AdvancedSettings .PDULength
220- storeService ["artim_timeout" ] = scpConfig .UnSecureNetworkConnection .AdvancedSettings .ArtimTimeOut
221+ if scpConfig .UnSecureNetworkConnection .AdvancedSettings != nil {
222+ storeService ["pdu_length" ] = scpConfig .UnSecureNetworkConnection .AdvancedSettings .PDULength
223+ storeService ["artim_timeout" ] = scpConfig .UnSecureNetworkConnection .AdvancedSettings .ArtimTimeout
224+ }
221225 }
222226 // Add applications
223227 a := & schema.Set {F : resourceMetricsThresholdHash }
@@ -282,22 +286,34 @@ func getSCPConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
282286 if port == 0 {
283287 port = 105
284288 }
285- scpConfig .SecureNetworkConnection .IsSecure = true
286- scpConfig .SecureNetworkConnection .Port = port
287- scpConfig .SecureNetworkConnection .AdvancedSettings .ArtimTimeOut = artimTimeout
288- scpConfig .SecureNetworkConnection .AdvancedSettings .AssociationIdleTimeOut = associationIdleIimeout
289- scpConfig .SecureNetworkConnection .AdvancedSettings .PDULength = pduLength
290- scpConfig .SecureNetworkConnection .CertificateInfo .ID = certificateID
291- scpConfig .SecureNetworkConnection .AuthenticateClientCertificate = authenticateClientCertificate
289+ scpConfig .SecureNetworkConnection = & dicom.NetworkConnection {
290+ IsSecure : true ,
291+ Port : port ,
292+ AuthenticateClientCertificate : authenticateClientCertificate ,
293+ AdvancedSettings : & dicom.AdvancedSettings {
294+ ArtimTimeout : artimTimeout ,
295+ AssociationIdleTimeout : associationIdleIimeout ,
296+ PDULength : pduLength ,
297+ },
298+ }
299+ if certificateID != "" {
300+ scpConfig .SecureNetworkConnection .CertificateInfo = & dicom.CertificateInfo {
301+ ID : certificateID ,
302+ }
303+ }
292304 } else {
293305 if port == 0 {
294306 port = 104
295307 }
296- scpConfig .UnSecureNetworkConnection .IsSecure = false
297- scpConfig .UnSecureNetworkConnection .Port = port
298- scpConfig .UnSecureNetworkConnection .AdvancedSettings .ArtimTimeOut = artimTimeout
299- scpConfig .UnSecureNetworkConnection .AdvancedSettings .AssociationIdleTimeOut = associationIdleIimeout
300- scpConfig .UnSecureNetworkConnection .AdvancedSettings .PDULength = pduLength
308+ scpConfig .UnSecureNetworkConnection = & dicom.NetworkConnection {
309+ IsSecure : false ,
310+ Port : port ,
311+ AdvancedSettings : & dicom.AdvancedSettings {
312+ ArtimTimeout : artimTimeout ,
313+ AssociationIdleTimeout : associationIdleIimeout ,
314+ PDULength : pduLength ,
315+ },
316+ }
301317 }
302318 if as , ok := mVi ["application_entity" ].(* schema.Set ); ok {
303319 aL := as .List ()
@@ -307,7 +323,7 @@ func getSCPConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
307323 AllowAny : app ["allow_any" ].(bool ),
308324 AeTitle : app ["ae_title" ].(string ),
309325 OrganizationID : app ["organization_id" ].(string ),
310- AdditionalSettings : dicom.AdditionalSettings {
326+ AdditionalSettings : & dicom.AdditionalSettings {
311327 ServiceTimeout : app ["service_timeout" ].(int ),
312328 },
313329 })
@@ -338,22 +354,34 @@ func getQueryRetrieveConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
338354 if port == 0 {
339355 port = 109
340356 }
341- queryRetrieveConfig .SecureNetworkConnection .IsSecure = true
342- queryRetrieveConfig .SecureNetworkConnection .Port = port
343- queryRetrieveConfig .SecureNetworkConnection .AdvancedSettings .ArtimTimeOut = artimTimeout
344- queryRetrieveConfig .SecureNetworkConnection .AdvancedSettings .AssociationIdleTimeOut = associationIdleIimeout
345- queryRetrieveConfig .SecureNetworkConnection .AdvancedSettings .PDULength = pduLength
346- queryRetrieveConfig .SecureNetworkConnection .AuthenticateClientCertificate = authenticateClientCertificate
347- queryRetrieveConfig .SecureNetworkConnection .CertificateInfo .ID = certificateID
357+ queryRetrieveConfig .SecureNetworkConnection = & dicom.NetworkConnection {
358+ IsSecure : true ,
359+ Port : port ,
360+ AuthenticateClientCertificate : authenticateClientCertificate ,
361+ AdvancedSettings : & dicom.AdvancedSettings {
362+ ArtimTimeout : artimTimeout ,
363+ AssociationIdleTimeout : associationIdleIimeout ,
364+ PDULength : pduLength ,
365+ },
366+ }
367+ if certificateID != "" {
368+ queryRetrieveConfig .SecureNetworkConnection .CertificateInfo = & dicom.CertificateInfo {
369+ ID : certificateID ,
370+ }
371+ }
348372 } else {
349373 if port == 0 {
350374 port = 108
351375 }
352- queryRetrieveConfig .UnSecureNetworkConnection .IsSecure = true
353- queryRetrieveConfig .UnSecureNetworkConnection .Port = port
354- queryRetrieveConfig .UnSecureNetworkConnection .AdvancedSettings .ArtimTimeOut = artimTimeout
355- queryRetrieveConfig .UnSecureNetworkConnection .AdvancedSettings .AssociationIdleTimeOut = associationIdleIimeout
356- queryRetrieveConfig .UnSecureNetworkConnection .AdvancedSettings .PDULength = pduLength
376+ queryRetrieveConfig .UnSecureNetworkConnection = & dicom.NetworkConnection {
377+ IsSecure : false ,
378+ Port : port ,
379+ AdvancedSettings : & dicom.AdvancedSettings {
380+ ArtimTimeout : artimTimeout ,
381+ AssociationIdleTimeout : associationIdleIimeout ,
382+ PDULength : pduLength ,
383+ },
384+ }
357385 }
358386 if as , ok := mVi ["application_entity" ].(* schema.Set ); ok {
359387 aL := as .List ()
@@ -363,7 +391,7 @@ func getQueryRetrieveConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
363391 AllowAny : app ["allow_any" ].(bool ),
364392 AeTitle : app ["ae_title" ].(string ),
365393 OrganizationID : app ["organization_id" ].(string ),
366- AdditionalSettings : dicom.AdditionalSettings {
394+ AdditionalSettings : & dicom.AdditionalSettings {
367395 ServiceTimeout : app ["service_timeout" ].(int ),
368396 },
369397 })
0 commit comments