Skip to content

Commit 449f7b0

Browse files
committed
support smart-1 cloud
1 parent 90793c2 commit 449f7b0

File tree

32 files changed

+301
-206
lines changed

32 files changed

+301
-206
lines changed

checkpoint/data_source_checkpoint_management_cloud_services.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,16 @@ func dataSourceManagementCloudServicesRead(d *schema.ResourceData, m interface{}
6767
}
6868

6969
if v := showCloudServicesRes["connected-at"]; v != nil {
70-
connectedAtShow := showCloudServicesRes["connected-at"].(map[string]interface{})
71-
connectedAtState := make(map[string]interface{})
72-
if v := connectedAtShow["iso-8601"]; v != nil {
73-
connectedAtState["iso_8601"] = v
70+
if connectedAtShow, ok := showCloudServicesRes["connected-at"].(map[string]interface{}); ok {
71+
connectedAtState := make(map[string]interface{})
72+
if v := connectedAtShow["iso-8601"]; v != nil {
73+
connectedAtState["iso_8601"] = v
74+
}
75+
if v := connectedAtShow["posix"]; v != nil {
76+
connectedAtState["posix"] = v
77+
}
78+
_ = d.Set("connected_at", connectedAtState)
7479
}
75-
if v := connectedAtShow["posix"]; v != nil {
76-
connectedAtState["posix"] = v
77-
}
78-
_ = d.Set("connected_at", connectedAtState)
7980
}else{
8081
_ = d.Set("connected_at", nil)
8182
}

checkpoint/data_source_checkpoint_management_network_feed.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ func dataSourceManagementNetworkFeed() *schema.Resource {
5252
"username": {
5353
Type: schema.TypeString,
5454
Computed: true,
55+
Sensitive: true,
5556
Description: "username for authenticating with the URL.",
5657
},
5758
"custom_header": {

checkpoint/data_source_checkpoint_management_vpn_community_meshed.go

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
77
"log"
88
"reflect"
9+
"strconv"
910
)
1011

1112
func dataSourceManagementVpnCommunityMeshed() *schema.Resource {
@@ -136,6 +137,7 @@ func dataSourceManagementVpnCommunityMeshed() *schema.Resource {
136137
"shared_secret": {
137138
Type: schema.TypeString,
138139
Computed: true,
140+
Sensitive: true,
139141
Description: "Shared secret.",
140142
},
141143
},
@@ -390,59 +392,64 @@ func dataSourceManagementVpnCommunityMeshedRead(d *schema.ResourceData, m interf
390392
}
391393

392394
if vpnCommunityMeshed["override-vpn-domains"] != nil {
395+
overrideVpnDomainsList := vpnCommunityMeshed["override-vpn-domains"].([]interface{})
396+
var overrideVpnDomainsListToReturn []map[string]interface{}
397+
if len(overrideVpnDomainsList) > 0 {
398+
for i := range overrideVpnDomainsList {
393399

394-
overrideVpnDomainsList, ok := vpnCommunityMeshed["override-vpn-domains"].([]interface{})
400+
overrideVpnDomainsMap := overrideVpnDomainsList[i].(map[string]interface{})
395401

396-
if ok {
397-
398-
if len(overrideVpnDomainsList) > 0 {
399-
400-
var overrideVpnDomainsListToReturn []map[string]interface{}
401-
402-
for i := range overrideVpnDomainsList {
403-
404-
overrideVpnDomainsMap := overrideVpnDomainsList[i].(map[string]interface{})
405-
406-
overrideVpnDomainsMapToAdd := make(map[string]interface{})
402+
overrideVpnDomainsMapToAdd := make(map[string]interface{})
407403

408-
if v, _ := overrideVpnDomainsMap["gateway"]; v != nil {
409-
overrideVpnDomainsMapToAdd["gateway"] = v
410-
}
411-
if v, _ := overrideVpnDomainsMap["vpn-domain"]; v != nil {
412-
overrideVpnDomainsMapToAdd["vpn_domain"] = v
413-
}
414-
overrideVpnDomainsListToReturn = append(overrideVpnDomainsListToReturn, overrideVpnDomainsMapToAdd)
404+
if v, _ := overrideVpnDomainsMap["gateway"]; v != nil {
405+
overrideVpnDomainsMapToAdd["gateway"] = v.(map[string]interface{})["name"].(string)
406+
}
407+
if v, _ := overrideVpnDomainsMap["vpn-domain"]; v != nil {
408+
overrideVpnDomainsMapToAdd["vpn_domain"] = v.(map[string]interface{})["name"].(string)
415409
}
410+
overrideVpnDomainsListToReturn = append(overrideVpnDomainsListToReturn, overrideVpnDomainsMapToAdd)
416411
}
417412
}
413+
_ = d.Set("override_vpn_domains", overrideVpnDomainsListToReturn)
414+
}else{
415+
_ = d.Set("override_vpn_domains", nil)
418416
}
419417

420418
if vpnCommunityMeshed["shared-secrets"] != nil {
421-
422-
sharedSecretsList, ok := vpnCommunityMeshed["shared-secrets"].([]interface{})
423-
424-
if ok {
425-
426-
if len(sharedSecretsList) > 0 {
427-
428-
var sharedSecretsListToReturn []map[string]interface{}
429-
430-
for i := range sharedSecretsList {
431-
432-
sharedSecretsMap := sharedSecretsList[i].(map[string]interface{})
433-
434-
sharedSecretsMapToAdd := make(map[string]interface{})
435-
436-
if v, _ := sharedSecretsMap["external-gateway"]; v != nil {
437-
sharedSecretsMapToAdd["external_gateway"] = v
438-
}
439-
if v, _ := sharedSecretsMap["shared-secret"]; v != nil {
440-
sharedSecretsMapToAdd["shared_secret"] = v
419+
sharedSecretsList := vpnCommunityMeshed["shared-secrets"].([]interface{})
420+
var sharedSecretsListToReturn []map[string]interface{}
421+
if len(sharedSecretsList) > 0 {
422+
for i := range sharedSecretsList {
423+
sharedSecretsMap := sharedSecretsList[i].(map[string]interface{})
424+
externalGateway := ""
425+
sharedSecret := "N/A"
426+
if v, _ := sharedSecretsMap["external-gateway"]; v != nil {
427+
externalGateway = v.(map[string]interface{})["name"].(string)
428+
if val, ok := d.GetOk("shared_secrets"); ok {
429+
sharedSecretsList := val.([]interface{})
430+
if len(sharedSecretsList) > 0 {
431+
for i := range sharedSecretsList {
432+
if v, ok := d.GetOk("shared_secrets." + strconv.Itoa(i) + ".external_gateway"); ok {
433+
if externalGateway == v.(string) {
434+
sharedSecret = d.Get("shared_secrets." + strconv.Itoa(i) + ".shared_secret").(string)
435+
break
436+
}
437+
}
438+
}
439+
}
441440
}
441+
}
442+
if externalGateway != "" {
443+
sharedSecretsMapToAdd := make(map[string]interface{})
444+
sharedSecretsMapToAdd["external_gateway"] = externalGateway
445+
sharedSecretsMapToAdd["shared_secret"] = sharedSecret
442446
sharedSecretsListToReturn = append(sharedSecretsListToReturn, sharedSecretsMapToAdd)
443447
}
444448
}
445449
}
450+
_ = d.Set("shared_secrets", sharedSecretsListToReturn)
451+
}else{
452+
_ = d.Set("shared_secrets", nil)
446453
}
447454

448455
if v := vpnCommunityMeshed["tunnel-granularity"]; v != nil {

checkpoint/data_source_checkpoint_management_vpn_community_star.go

Lines changed: 50 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
77
"log"
88
"reflect"
9+
"strconv"
910
)
1011

1112
func dataSourceManagementVpnCommunityStar() *schema.Resource {
@@ -149,6 +150,7 @@ func dataSourceManagementVpnCommunityStar() *schema.Resource {
149150
"shared_secret": {
150151
Type: schema.TypeString,
151152
Computed: true,
153+
Sensitive: true,
152154
Description: "Shared secret.",
153155
},
154156
},
@@ -313,8 +315,8 @@ func dataSourceManagementVpnCommunityStarRead(d *schema.ResourceData, m interfac
313315
_ = d.Set("name", v)
314316
}
315317

316-
if vpnCommunityStar["center_gateways"] != nil {
317-
centerGatewaysJson, ok := vpnCommunityStar["center_gateways"].([]interface{})
318+
if vpnCommunityStar["center-gateways"] != nil {
319+
centerGatewaysJson, ok := vpnCommunityStar["center-gateways"].([]interface{})
318320
if ok {
319321
centerGatewaysIds := make([]string, 0)
320322
if len(centerGatewaysJson) > 0 {
@@ -405,35 +407,31 @@ func dataSourceManagementVpnCommunityStarRead(d *schema.ResourceData, m interfac
405407
}
406408

407409
if vpnCommunityStar["override-vpn-domains"] != nil {
410+
overrideVpnDomainsList := vpnCommunityStar["override-vpn-domains"].([]interface{})
411+
var overrideVpnDomainsListToReturn []map[string]interface{}
412+
if len(overrideVpnDomainsList) > 0 {
413+
for i := range overrideVpnDomainsList {
408414

409-
overrideVpnDomainsList, ok := vpnCommunityStar["override-vpn-domains"].([]interface{})
415+
overrideVpnDomainsMap := overrideVpnDomainsList[i].(map[string]interface{})
410416

411-
if ok {
412-
413-
if len(overrideVpnDomainsList) > 0 {
414-
415-
var overrideVpnDomainsListToReturn []map[string]interface{}
416-
417-
for i := range overrideVpnDomainsList {
418-
419-
overrideVpnDomainsMap := overrideVpnDomainsList[i].(map[string]interface{})
420-
421-
overrideVpnDomainsMapToAdd := make(map[string]interface{})
417+
overrideVpnDomainsMapToAdd := make(map[string]interface{})
422418

423-
if v, _ := overrideVpnDomainsMap["gateway"]; v != nil {
424-
overrideVpnDomainsMapToAdd["gateway"] = v
425-
}
426-
if v, _ := overrideVpnDomainsMap["vpn-domain"]; v != nil {
427-
overrideVpnDomainsMapToAdd["vpn_domain"] = v
428-
}
429-
overrideVpnDomainsListToReturn = append(overrideVpnDomainsListToReturn, overrideVpnDomainsMapToAdd)
419+
if v, _ := overrideVpnDomainsMap["gateway"]; v != nil {
420+
overrideVpnDomainsMapToAdd["gateway"] = v.(map[string]interface{})["name"].(string)
421+
}
422+
if v, _ := overrideVpnDomainsMap["vpn-domain"]; v != nil {
423+
overrideVpnDomainsMapToAdd["vpn_domain"] = v.(map[string]interface{})["name"].(string)
430424
}
425+
overrideVpnDomainsListToReturn = append(overrideVpnDomainsListToReturn, overrideVpnDomainsMapToAdd)
431426
}
432427
}
428+
_ = d.Set("override_vpn_domains", overrideVpnDomainsListToReturn)
429+
}else{
430+
_ = d.Set("override_vpn_domains", nil)
433431
}
434432

435-
if vpnCommunityStar["satellite_gateways"] != nil {
436-
satelliteGatewaysJson, ok := vpnCommunityStar["satellite_gateways"].([]interface{})
433+
if vpnCommunityStar["satellite-gateways"] != nil {
434+
satelliteGatewaysJson, ok := vpnCommunityStar["satellite-gateways"].([]interface{})
437435
if ok {
438436
satelliteGatewaysIds := make([]string, 0)
439437
if len(satelliteGatewaysJson) > 0 {
@@ -449,31 +447,40 @@ func dataSourceManagementVpnCommunityStarRead(d *schema.ResourceData, m interfac
449447
}
450448

451449
if vpnCommunityStar["shared-secrets"] != nil {
452-
453-
sharedSecretsList, ok := vpnCommunityStar["shared-secrets"].([]interface{})
454-
455-
if ok {
456-
457-
if len(sharedSecretsList) > 0 {
458-
459-
var sharedSecretsListToReturn []map[string]interface{}
460-
461-
for i := range sharedSecretsList {
462-
463-
sharedSecretsMap := sharedSecretsList[i].(map[string]interface{})
464-
465-
sharedSecretsMapToAdd := make(map[string]interface{})
466-
467-
if v, _ := sharedSecretsMap["external-gateway"]; v != nil {
468-
sharedSecretsMapToAdd["external_gateway"] = v
469-
}
470-
if v, _ := sharedSecretsMap["shared-secret"]; v != nil {
471-
sharedSecretsMapToAdd["shared_secret"] = v
450+
sharedSecretsList := vpnCommunityStar["shared-secrets"].([]interface{})
451+
var sharedSecretsListToReturn []map[string]interface{}
452+
if len(sharedSecretsList) > 0 {
453+
for i := range sharedSecretsList {
454+
sharedSecretsMap := sharedSecretsList[i].(map[string]interface{})
455+
externalGateway := ""
456+
sharedSecret := "N/A"
457+
if v, _ := sharedSecretsMap["external-gateway"]; v != nil {
458+
externalGateway = v.(map[string]interface{})["name"].(string)
459+
if val, ok := d.GetOk("shared_secrets"); ok {
460+
sharedSecretsList := val.([]interface{})
461+
if len(sharedSecretsList) > 0 {
462+
for i := range sharedSecretsList {
463+
if v, ok := d.GetOk("shared_secrets." + strconv.Itoa(i) + ".external_gateway"); ok {
464+
if externalGateway == v.(string) {
465+
sharedSecret = d.Get("shared_secrets." + strconv.Itoa(i) + ".shared_secret").(string)
466+
break
467+
}
468+
}
469+
}
470+
}
472471
}
472+
}
473+
if externalGateway != "" {
474+
sharedSecretsMapToAdd := make(map[string]interface{})
475+
sharedSecretsMapToAdd["external_gateway"] = externalGateway
476+
sharedSecretsMapToAdd["shared_secret"] = sharedSecret
473477
sharedSecretsListToReturn = append(sharedSecretsListToReturn, sharedSecretsMapToAdd)
474478
}
475479
}
476480
}
481+
_ = d.Set("shared_secrets", sharedSecretsListToReturn)
482+
}else{
483+
_ = d.Set("shared_secrets", nil)
477484
}
478485

479486
if v := vpnCommunityStar["tunnel-granularity"]; v != nil {

checkpoint/provider.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,12 @@ func Provider() terraform.ResourceProvider {
8585
DefaultFunc: schema.EnvDefaultFunc("CHECKPOINT_SESSION_NAME", ""),
8686
Description: "Session unique name.",
8787
},
88+
"cloud_mgmt_id": {
89+
Type: schema.TypeString,
90+
Optional: true,
91+
DefaultFunc: schema.EnvDefaultFunc("CHECKPOINT_CLOUD_MGMT_ID", ""),
92+
Description: "Smart-1 Cloud management UID",
93+
},
8894
},
8995
ResourcesMap: map[string]*schema.Resource{
9096
"checkpoint_management_host": resourceManagementHost(),
@@ -337,6 +343,7 @@ func providerConfigure(data *schema.ResourceData) (interface{}, error) {
337343
proxyPort := data.Get("proxy_port").(int)
338344
apiKey := data.Get("api_key").(string)
339345
sessionName := data.Get("session_name").(string)
346+
cloudMgmtId := data.Get("cloud_mgmt_id").(string)
340347

341348
if server == "" || ((username == "" || password == "") && apiKey == "") {
342349
return nil, fmt.Errorf("checkpoint-provider missing parameters to initialize (server, (username and password) OR api_key)")
@@ -357,6 +364,7 @@ func providerConfigure(data *schema.ResourceData) (interface{}, error) {
357364
Timeout: time.Duration(timeout),
358365
Sleep: checkpoint.SleepTime,
359366
UserAgent: "Terraform",
367+
CloudMgmtId: cloudMgmtId,
360368
}
361369

362370
switch context {

checkpoint/resource_checkpoint_management_aci_data_center_server.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,19 @@ func resourceManagementAciDataCenterServer() *schema.Resource {
3535
"username": {
3636
Type: schema.TypeString,
3737
Required: true,
38+
Sensitive: true,
3839
Description: "User ID of the Cisco APIC server.\nWhen using commonLoginLogic Domains use the following syntax:\napic:<domain>\\<username>.",
3940
},
4041
"password": {
4142
Type: schema.TypeString,
4243
Optional: true,
44+
Sensitive: true,
4345
Description: "Password of the Cisco APIC server.",
4446
},
4547
"password_base64": {
4648
Type: schema.TypeString,
4749
Optional: true,
50+
Sensitive: true,
4851
Description: "Password of the Cisco APIC server encoded in Base64.",
4952
},
5053
"certificate_fingerprint": {

checkpoint/resource_checkpoint_management_aws_data_center_server.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,13 @@ func resourceManagementAwsDataCenterServer() *schema.Resource {
3333
"access_key_id": {
3434
Type: schema.TypeString,
3535
Optional: true,
36+
Sensitive: true,
3637
Description: "Access key ID for the AWS account.\nRequired for authentication-method: user-authentication.",
3738
},
3839
"secret_access_key": {
3940
Type: schema.TypeString,
4041
Optional: true,
42+
Sensitive: true,
4143
Description: "Secret access key for the AWS account.\nRequired for authentication-method: user-authentication.",
4244
},
4345
"region": {

checkpoint/resource_checkpoint_management_azure_data_center_server.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,19 @@ func resourceManagementAzureDataCenterServer() *schema.Resource {
3131
"username": {
3232
Type: schema.TypeString,
3333
Optional: true,
34+
Sensitive: true,
3435
Description: "An Azure Active Directory user Format <username>@<domain>.\nRequired for authentication-method: user-authentication.",
3536
},
3637
"password": {
3738
Type: schema.TypeString,
3839
Optional: true,
40+
Sensitive: true,
3941
Description: "Password of the Azure account.\nRequired for authentication-method: user-authentication.",
4042
},
4143
"password_base64": {
4244
Type: schema.TypeString,
4345
Optional: true,
46+
Sensitive: true,
4447
Description: "Password of the Azure account encoded in Base64.\nRequired for authentication-method: user-authentication.",
4548
},
4649
"application_id": {

checkpoint/resource_checkpoint_management_checkpoint_host.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ func resourceManagementCheckpointHost() *schema.Resource {
137137
"one_time_password": {
138138
Type: schema.TypeString,
139139
Optional: true,
140+
Sensitive: true,
140141
Description: "Secure internal connection one time password.",
141142
},
142143
"sic_name": {

checkpoint/resource_checkpoint_management_command_add_api_key.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ func resourceManagementAddApiKey() *schema.Resource {
2828
"api_key": {
2929
Type: schema.TypeString,
3030
Computed: true,
31+
Sensitive: true,
3132
Description: "Represents the API Key to be used for commonLoginLogic.",
3233
},
3334
},

0 commit comments

Comments
 (0)