Skip to content

Commit

Permalink
feat: Azure China support
Browse files Browse the repository at this point in the history
* refactor: add Standard_D2ds_v4 and Standard_D2ds_v5 size support

* feat: add Standard_DS2_v2 support

* refactor: zsec prompts

* docs(changelog): update

* chore: description fixes

* refactor: change bastion/workload vm size if china

* chore: zsec prompts color code

* chore: add deployment descriptions

* fix: china workload selection

* chore: update china location names

* refactor: china detection conditions

* refactor: workload size change only for required regions

* chore: remove vm types

* fix: A3 os_disk changes
  • Loading branch information
jmolnar-zscaler authored Dec 16, 2023
1 parent a1261b8 commit 890d902
Show file tree
Hide file tree
Showing 17 changed files with 247 additions and 181 deletions.
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## v0.4.0 (December 10, 2023)
## v0.4.0 (December 16, 2023)

FEATURES:
* Azure China support (China East, China East 2, China North, China North 2, and China North 3)
Expand All @@ -10,6 +10,8 @@ ENHANCEMENTS:
* ZSEC bash script support for Azure China regions
* add: variable support_access_enabled for dynamic NSG rule creation for Zscaler Support Tunnel access
* add: zsec prompt for support tunnel rule creation
* add: Standard_DS2_v2 size support
* ZSEC bash script refactoring

## v0.3.0 (September 30, 2023)

Expand Down
3 changes: 2 additions & 1 deletion examples/base_1cc/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ variable "ccvm_instance_type" {
validation {
condition = (
var.ccvm_instance_type == "Standard_D2s_v3" ||
var.ccvm_instance_type == "Standard_DS2_v2" ||
var.ccvm_instance_type == "Standard_DS3_v2" ||
var.ccvm_instance_type == "Standard_D8s_v3" ||
var.ccvm_instance_type == "Standard_D16s_v3" ||
Expand All @@ -121,7 +122,7 @@ variable "cc_instance_size" {

# Validation to determine if the selected Azure VM type and CC VM size is compatible
locals {
small_cc_instance = ["Standard_D2s_v3", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
small_cc_instance = ["Standard_D2s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
medium_cc_instance = ["Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
large_cc_instance = ["Standard_D16s_v3", "Standard_DS5_v2"]

Expand Down
3 changes: 2 additions & 1 deletion examples/base_1cc_zpa/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ variable "ccvm_instance_type" {
validation {
condition = (
var.ccvm_instance_type == "Standard_D2s_v3" ||
var.ccvm_instance_type == "Standard_DS2_v2" ||
var.ccvm_instance_type == "Standard_DS3_v2" ||
var.ccvm_instance_type == "Standard_D8s_v3" ||
var.ccvm_instance_type == "Standard_D16s_v3" ||
Expand All @@ -127,7 +128,7 @@ variable "cc_instance_size" {

# Validation to determine if the selected Azure VM type and CC VM size is compatible
locals {
small_cc_instance = ["Standard_D2s_v3", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
small_cc_instance = ["Standard_D2s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
medium_cc_instance = ["Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
large_cc_instance = ["Standard_D16s_v3", "Standard_DS5_v2"]

Expand Down
3 changes: 2 additions & 1 deletion examples/base_cc_lb/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ variable "ccvm_instance_type" {
validation {
condition = (
var.ccvm_instance_type == "Standard_D2s_v3" ||
var.ccvm_instance_type == "Standard_DS2_v2" ||
var.ccvm_instance_type == "Standard_DS3_v2" ||
var.ccvm_instance_type == "Standard_D8s_v3" ||
var.ccvm_instance_type == "Standard_D16s_v3" ||
Expand All @@ -121,7 +122,7 @@ variable "cc_instance_size" {

# Validation to determine if the selected Azure VM type and CC VM size is compatible
locals {
small_cc_instance = ["Standard_D2s_v3", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
small_cc_instance = ["Standard_D2s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
medium_cc_instance = ["Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
large_cc_instance = ["Standard_D16s_v3", "Standard_DS5_v2"]

Expand Down
3 changes: 2 additions & 1 deletion examples/base_cc_lb_zpa/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ variable "ccvm_instance_type" {
validation {
condition = (
var.ccvm_instance_type == "Standard_D2s_v3" ||
var.ccvm_instance_type == "Standard_DS2_v2" ||
var.ccvm_instance_type == "Standard_DS3_v2" ||
var.ccvm_instance_type == "Standard_D8s_v3" ||
var.ccvm_instance_type == "Standard_D16s_v3" ||
Expand All @@ -127,7 +128,7 @@ variable "cc_instance_size" {

# Validation to determine if the selected Azure VM type and CC VM size is compatible
locals {
small_cc_instance = ["Standard_D2s_v3", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
small_cc_instance = ["Standard_D2s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
medium_cc_instance = ["Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
large_cc_instance = ["Standard_D16s_v3", "Standard_DS5_v2"]

Expand Down
2 changes: 1 addition & 1 deletion examples/cc_lb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ From cc_lb directory execute:
| <a name="input_ccvm_image_sku"></a> [ccvm\_image\_sku](#input\_ccvm\_image\_sku) | Azure Marketplace Cloud Connector Image SKU | `string` | `"zs_ser_gen1_cc_01"` | no |
| <a name="input_ccvm_image_version"></a> [ccvm\_image\_version](#input\_ccvm\_image\_version) | Azure Marketplace Cloud Connector Image Version | `string` | `"latest"` | no |
| <a name="input_ccvm_instance_type"></a> [ccvm\_instance\_type](#input\_ccvm\_instance\_type) | Cloud Connector Image size | `string` | `"Standard_D2s_v3"` | no |
| <a name="input_domain_names"></a> [domain\_names](#input\_domain\_names) | Domain names fqdn/wildcard to have Azure Private DNS redirect DNS requests to Cloud Connector | `map(any)` | `{}` | no |
| <a name="input_ccvm_source_image_id"></a> [ccvm\_source\_image\_id](#input\_ccvm\_source\_image\_id) | Custom Cloud Connector Source Image ID. Set this value to the path of a local subscription Microsoft.Compute image to override the Cloud Connector deployment instead of using the marketplace publisher | `string` | `null` | no |
| <a name="input_domain_names"></a> [domain\_names](#input\_domain\_names) | Domain names fqdn/wildcard to have Azure Private DNS redirect DNS requests to Cloud Connector | `map(any)` | `{}` | no |
| <a name="input_encryption_at_host_enabled"></a> [encryption\_at\_host\_enabled](#input\_encryption\_at\_host\_enabled) | User input for enabling or disabling host encryption | `bool` | `false` | no |
| <a name="input_env_subscription_id"></a> [env\_subscription\_id](#input\_env\_subscription\_id) | Azure Subscription ID where resources are to be deployed in | `string` | n/a | yes |
| <a name="input_environment"></a> [environment](#input\_environment) | Customer defined environment tag. ie: Dev, QA, Prod, etc. | `string` | `"Development"` | no |
Expand Down
3 changes: 2 additions & 1 deletion examples/cc_lb/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ variable "ccvm_instance_type" {
validation {
condition = (
var.ccvm_instance_type == "Standard_D2s_v3" ||
var.ccvm_instance_type == "Standard_DS2_v2" ||
var.ccvm_instance_type == "Standard_DS3_v2" ||
var.ccvm_instance_type == "Standard_D8s_v3" ||
var.ccvm_instance_type == "Standard_D16s_v3" ||
Expand All @@ -115,7 +116,7 @@ variable "cc_instance_size" {

# Validation to determine if the selected Azure VM type and CC VM size is compatible
locals {
small_cc_instance = ["Standard_D2s_v3", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
small_cc_instance = ["Standard_D2s_v3", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
medium_cc_instance = ["Standard_DS3_v2", "Standard_D8s_v3", "Standard_D16s_v3", "Standard_DS5_v2"]
large_cc_instance = ["Standard_D16s_v3", "Standard_DS5_v2"]

Expand Down
Loading

0 comments on commit 890d902

Please sign in to comment.