@codiac.io/codiac-cli 1.3.62 → 1.3.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +1 -1
  2. package/dist/apis/codiac-api/gen/contracts.d.ts +24 -0
  3. package/dist/apis/codiac-api/gen/contracts.js +16 -1
  4. package/dist/apis/codiac-api/gen/contracts.js.map +1 -1
  5. package/dist/apis/codiac-relay/gen/contracts.d.ts +2 -0
  6. package/dist/apis/codiac-relay/gen/contracts.js.map +1 -1
  7. package/dist/cli-common/built-in-cli-user-input.js +2 -2
  8. package/dist/cli-common/built-in-cli-user-input.js.map +1 -1
  9. package/dist/cli-common/prompt-select-fuzzy.d.ts +3 -6
  10. package/dist/cli-common/prompt-select-fuzzy.js.map +1 -1
  11. package/dist/codiac-constants.d.ts +4 -0
  12. package/dist/codiac-constants.js +5 -0
  13. package/dist/codiac-constants.js.map +1 -1
  14. package/dist/commands/asset/create.d.ts +4 -7
  15. package/dist/commands/asset/create.js +39 -258
  16. package/dist/commands/asset/create.js.map +1 -1
  17. package/dist/commands/asset/edit.d.ts +31 -0
  18. package/dist/commands/asset/edit.js +131 -0
  19. package/dist/commands/asset/edit.js.map +1 -0
  20. package/dist/commands/asset/entrypoint/delete.d.ts +42 -0
  21. package/dist/commands/asset/entrypoint/delete.js +312 -0
  22. package/dist/commands/asset/entrypoint/delete.js.map +1 -0
  23. package/dist/commands/asset/entrypoint/set.d.ts +45 -0
  24. package/dist/commands/asset/entrypoint/set.js +338 -0
  25. package/dist/commands/asset/entrypoint/set.js.map +1 -0
  26. package/dist/commands/asset/list.d.ts +1 -0
  27. package/dist/commands/asset/list.js +20 -0
  28. package/dist/commands/asset/list.js.map +1 -1
  29. package/dist/commands/host/delete.js +2 -1
  30. package/dist/commands/host/delete.js.map +1 -1
  31. package/dist/commands/host/map.d.ts +1 -0
  32. package/dist/commands/host/map.js +18 -4
  33. package/dist/commands/host/map.js.map +1 -1
  34. package/dist/commands/noc/cluster/create.d.ts +32 -11
  35. package/dist/commands/noc/cluster/create.js +182 -119
  36. package/dist/commands/noc/cluster/create.js.map +1 -1
  37. package/dist/commands/noc/cluster/deinit.d.ts +1 -3
  38. package/dist/commands/noc/cluster/deinit.js +1 -1
  39. package/dist/commands/noc/cluster/deinit.js.map +1 -1
  40. package/dist/ops/i-entry-validator.d.ts +1 -1
  41. package/dist/relay/relay-container.js +1 -1
  42. package/dist/uilogic/cloud-resource-configurators/asset-configurator.d.ts +47 -0
  43. package/dist/uilogic/cloud-resource-configurators/asset-configurator.js +394 -0
  44. package/dist/uilogic/cloud-resource-configurators/asset-configurator.js.map +1 -0
  45. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +2 -0
  46. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js +58 -3
  47. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +1 -1
  48. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +1 -0
  49. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js +34 -3
  50. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +1 -1
  51. package/dist/uilogic/config-ui-utils.js +1 -1
  52. package/dist/uilogic/config-ui-utils.js.map +1 -1
  53. package/dist/uilogic/image-registry-contextualizer.d.ts +3 -2
  54. package/dist/uilogic/image-registry-contextualizer.js +6 -4
  55. package/dist/uilogic/image-registry-contextualizer.js.map +1 -1
  56. package/dist/uilogic/rootmap-ui-utils.js +2 -0
  57. package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
  58. package/dist/uilogic/validators/semver-range-validator.d.ts +17 -0
  59. package/dist/uilogic/validators/semver-range-validator.js +39 -0
  60. package/dist/uilogic/validators/semver-range-validator.js.map +1 -0
  61. package/oclif.manifest.json +408 -69
  62. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.62",
2
+ "version": "1.3.64",
3
3
  "commands": {
4
4
  "branch": {
5
5
  "id": "branch",
@@ -1381,7 +1381,7 @@
1381
1381
  "name": "port",
1382
1382
  "type": "option",
1383
1383
  "char": "p",
1384
- "description": "The default port to assign the asset when deployed to a cabinet (optional).",
1384
+ "description": "The default port number (from 0 to 65535) to assign the asset when deployed to a cabinet (optional). To specify port forwarding (betw the service and container), use format: `<service-port>:<container-port>`, eg: `3555:80`",
1385
1385
  "required": false,
1386
1386
  "multiple": true
1387
1387
  },
@@ -1389,10 +1389,23 @@
1389
1389
  "name": "hasIngress",
1390
1390
  "type": "boolean",
1391
1391
  "char": "g",
1392
- "description": "Declaration that the asset service is to be externally accessible (optional: defaults to false).",
1392
+ "description": "Declaration that the asset service is to be accessible from outside the cluster (optional: defaults to false).",
1393
1393
  "required": false,
1394
1394
  "allowNo": false
1395
1395
  },
1396
+ "private": {
1397
+ "name": "private",
1398
+ "type": "boolean",
1399
+ "description": "(for use when hasIngress is also set) Prevents access from the internet. That is, declares that asset service to only be accessible through ingress on internal networks (optional: defaults to false). Useful for enabling private \"east-west\" (cross-cluster) communications without going out to the internet.",
1400
+ "required": false,
1401
+ "allowNo": false,
1402
+ "dependsOn": [
1403
+ "hasIngress"
1404
+ ],
1405
+ "exclusive": [
1406
+ "helm"
1407
+ ]
1408
+ },
1396
1409
  "routedWithoutName": {
1397
1410
  "name": "routedWithoutName",
1398
1411
  "type": "boolean",
@@ -1618,6 +1631,81 @@
1618
1631
  "cabinetName"
1619
1632
  ]
1620
1633
  },
1634
+ "asset:edit": {
1635
+ "id": "asset:edit",
1636
+ "description": "Changes asset attributes.",
1637
+ "strict": true,
1638
+ "pluginName": "@codiac.io/codiac-cli",
1639
+ "pluginAlias": "@codiac.io/codiac-cli",
1640
+ "pluginType": "core",
1641
+ "aliases": [],
1642
+ "hiddenAliases": [],
1643
+ "examples": [
1644
+ "<%= config.bin %> <%= command.id %>",
1645
+ "<%= config.bin %> <%= command.id %> -n my-api",
1646
+ "<%= config.bin %> <%= command.id %> -e main -n my-api"
1647
+ ],
1648
+ "flags": {
1649
+ "enterprise": {
1650
+ "name": "enterprise",
1651
+ "type": "option",
1652
+ "char": "e",
1653
+ "description": "The name of the enterprise in which this asset resides. (defaults to the current enterprise context). NOTE: The enterprise assignment for an asset is immutable and cannot be modified; this flag is used only for identifying the asset.",
1654
+ "required": false,
1655
+ "multiple": false
1656
+ },
1657
+ "name": {
1658
+ "name": "name",
1659
+ "type": "option",
1660
+ "char": "n",
1661
+ "description": "The name of the asset to edit. NOTE: The asset name is immutable and cannot be modified; this flag is used only for identifying the asset.",
1662
+ "required": false,
1663
+ "multiple": false
1664
+ },
1665
+ "code": {
1666
+ "name": "code",
1667
+ "type": "option",
1668
+ "char": "c",
1669
+ "description": "The host name to assign this asset in the domain url. eg: 'myasset' in 'myasset.your-domain.com' (Optional: defaults to the asset name).",
1670
+ "required": false,
1671
+ "multiple": false
1672
+ },
1673
+ "silent": {
1674
+ "name": "silent",
1675
+ "type": "boolean",
1676
+ "description": "Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.",
1677
+ "allowNo": false,
1678
+ "dependsOn": [
1679
+ "name"
1680
+ ],
1681
+ "exclusive": [
1682
+ "echo",
1683
+ "to-script"
1684
+ ]
1685
+ },
1686
+ "echo": {
1687
+ "name": "echo",
1688
+ "type": "boolean",
1689
+ "description": "Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.",
1690
+ "allowNo": false,
1691
+ "exclusive": [
1692
+ "to-script",
1693
+ "silent"
1694
+ ]
1695
+ },
1696
+ "to-script": {
1697
+ "name": "to-script",
1698
+ "type": "boolean",
1699
+ "description": "Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.",
1700
+ "allowNo": false,
1701
+ "exclusive": [
1702
+ "echo",
1703
+ "silent"
1704
+ ]
1705
+ }
1706
+ },
1707
+ "args": {}
1708
+ },
1621
1709
  "asset:list": {
1622
1710
  "id": "asset:list",
1623
1711
  "description": "Shows the list of assets in a given enterprise.",
@@ -4653,6 +4741,12 @@
4653
4741
  "environment"
4654
4742
  ]
4655
4743
  },
4744
+ "private": {
4745
+ "name": "private",
4746
+ "type": "boolean",
4747
+ "description": "Declares that this domain mapping is for internal use and not available from the internet.",
4748
+ "allowNo": false
4749
+ },
4656
4750
  "noninteractive": {
4657
4751
  "name": "noninteractive",
4658
4752
  "type": "boolean",
@@ -5848,6 +5942,212 @@
5848
5942
  }
5849
5943
  }
5850
5944
  },
5945
+ "asset:entrypoint:delete": {
5946
+ "id": "asset:entrypoint:delete",
5947
+ "description": "Removes an existing override of the image startup command for this asset (restores the original ENTRYPOINT set in the image itself, as well as any image elements specified using CMD)).",
5948
+ "strict": true,
5949
+ "pluginName": "@codiac.io/codiac-cli",
5950
+ "pluginAlias": "@codiac.io/codiac-cli",
5951
+ "pluginType": "core",
5952
+ "aliases": [],
5953
+ "hiddenAliases": [],
5954
+ "examples": [
5955
+ {
5956
+ "description": "Interactive",
5957
+ "command": "<%= config.bin %> <%= command.id %>"
5958
+ },
5959
+ {
5960
+ "description": "Interactive, preset for the a specific asset.",
5961
+ "command": "<%= config.bin %> <%= command.id %> -a my-api"
5962
+ },
5963
+ {
5964
+ "description": "Interactive as above, but when you have more than a single enterprise, and one of them is named `ml`.",
5965
+ "command": "<%= config.bin %> <%= command.id %> -e ml -a my-worker"
5966
+ },
5967
+ {
5968
+ "description": "Non-interactive, removal by specifying the version range with an explicit match",
5969
+ "command": "<%= config.bin %> <%= command.id %> -e ml -a my-worker -v '>=1.2.3' --silent"
5970
+ }
5971
+ ],
5972
+ "flags": {
5973
+ "enterprise": {
5974
+ "name": "enterprise",
5975
+ "type": "option",
5976
+ "char": "e",
5977
+ "description": "The name of the enterprise in which this asset resides (defaults to the current enterprise context).",
5978
+ "required": false,
5979
+ "multiple": false
5980
+ },
5981
+ "asset": {
5982
+ "name": "asset",
5983
+ "type": "option",
5984
+ "char": "a",
5985
+ "description": "The name of the asset to adjust.",
5986
+ "required": false,
5987
+ "multiple": false
5988
+ },
5989
+ "version-range": {
5990
+ "name": "version-range",
5991
+ "type": "option",
5992
+ "char": "v",
5993
+ "description": "(optional, defaults to the entrypoint assigned to \"any\" version) Used to identify the entrypoint. The semantic version rule describing which versions of the asset will get this entrypoint applied. (eg: Just this one: `1.2.3`, or this one and any future patches: `^1.2.3`, or any on or after this one: `>=1.2.3`, or any before this one `<1.2.3` , or any between inclusive: `1.0.0 - 1.2.3`). NOTE: Remember to wrap your range spec in quotes if it has any spaces in it.",
5994
+ "required": false,
5995
+ "multiple": false
5996
+ },
5997
+ "silent": {
5998
+ "name": "silent",
5999
+ "type": "boolean",
6000
+ "description": "Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.",
6001
+ "allowNo": false,
6002
+ "dependsOn": [
6003
+ "asset"
6004
+ ],
6005
+ "exclusive": [
6006
+ "echo",
6007
+ "to-script"
6008
+ ]
6009
+ },
6010
+ "echo": {
6011
+ "name": "echo",
6012
+ "type": "boolean",
6013
+ "description": "Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.",
6014
+ "allowNo": false,
6015
+ "exclusive": [
6016
+ "to-script",
6017
+ "silent"
6018
+ ]
6019
+ },
6020
+ "to-script": {
6021
+ "name": "to-script",
6022
+ "type": "boolean",
6023
+ "description": "Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.",
6024
+ "allowNo": false,
6025
+ "exclusive": [
6026
+ "echo",
6027
+ "silent"
6028
+ ]
6029
+ }
6030
+ },
6031
+ "args": {}
6032
+ },
6033
+ "asset:entrypoint:set": {
6034
+ "id": "asset:entrypoint:set",
6035
+ "description": "Sets the command run on container startup (Overrides the ENTRYPOINT set in the image itself, as well as any image elements specified using CMD)).",
6036
+ "strict": true,
6037
+ "pluginName": "@codiac.io/codiac-cli",
6038
+ "pluginAlias": "@codiac.io/codiac-cli",
6039
+ "pluginType": "core",
6040
+ "aliases": [
6041
+ "asset:entrypoint"
6042
+ ],
6043
+ "hiddenAliases": [],
6044
+ "examples": [
6045
+ {
6046
+ "description": "Interactive",
6047
+ "command": "<%= config.bin %> <%= command.id %>"
6048
+ },
6049
+ {
6050
+ "description": "Interactive, preset for the a specific asset.",
6051
+ "command": "<%= config.bin %> <%= command.id %> -a my-api"
6052
+ },
6053
+ {
6054
+ "description": "Interactive as above, but when you have more than a single enterprise, and one of them is named `ml`.",
6055
+ "command": "<%= config.bin %> <%= command.id %> -e ml -a my-worker"
6056
+ },
6057
+ {
6058
+ "description": "Invoking an executable from within a bash shell (this mock scenario just imports some credentials and workflows and once complete, the image shuts down)",
6059
+ "command": "<%= config.bin %> <%= command.id %> -a my-import --command '/bin/sh' --arg '-c' --arg 'myexe import:credentials --separate --input=/backup/credentials && myexe import:workflow --separate --input=/backup/workflows'"
6060
+ },
6061
+ {
6062
+ "description": "Same as above but non-interactive (for use in scripts and pipelines)",
6063
+ "command": "<%= config.bin %> <%= command.id %> --silent -e ml -a my-import --command '/bin/sh' --arg '-c' --arg 'myexe import:credentials --separate --input=/backup/credentials && myexe import:workflow --separate --input=/backup/workflows'"
6064
+ }
6065
+ ],
6066
+ "flags": {
6067
+ "enterprise": {
6068
+ "name": "enterprise",
6069
+ "type": "option",
6070
+ "char": "e",
6071
+ "description": "The name of the enterprise in which this asset resides. (defaults to the current enterprise context). NOTE: The enterprise assignment for an asset is immutable and cannot be modified; this flag is used only for identifying the asset.",
6072
+ "required": false,
6073
+ "multiple": false
6074
+ },
6075
+ "asset": {
6076
+ "name": "asset",
6077
+ "type": "option",
6078
+ "char": "a",
6079
+ "description": "The name of the asset to edit. NOTE: The asset name is immutable and cannot be modified; this flag is used only for identifying the asset.",
6080
+ "required": false,
6081
+ "multiple": false
6082
+ },
6083
+ "workdir": {
6084
+ "name": "workdir",
6085
+ "type": "option",
6086
+ "char": "d",
6087
+ "description": "(optional) Folder path within the image from which to execute the command. Overrides the default working directory specified by the container image.",
6088
+ "required": false,
6089
+ "multiple": false
6090
+ },
6091
+ "command": {
6092
+ "name": "command",
6093
+ "type": "option",
6094
+ "char": "c",
6095
+ "description": "The command to run. Not executed within a shell.",
6096
+ "required": false,
6097
+ "multiple": false
6098
+ },
6099
+ "arg": {
6100
+ "name": "arg",
6101
+ "type": "option",
6102
+ "char": "c",
6103
+ "description": "Gets passed to the entryPointCommand. Often, the entrypointCommand opens a shell, allowing this to be the command to run inside the shell, eg: `--command=\"/bin/sh\" --arg=\"-c ls -a\"` which yields: `/bin/sh -c ls -a`",
6104
+ "required": false,
6105
+ "multiple": true
6106
+ },
6107
+ "version-range": {
6108
+ "name": "version-range",
6109
+ "type": "option",
6110
+ "char": "v",
6111
+ "description": "(optional) The semantic version rule describing which versions of the asset will get this entrypoint applied. (eg: Just this one: `1.2.3`, or this one and any future patches: `^1.2.3`, or any on or after this one: `>=1.2.3`, or any before this one `<1.2.3` , or any between inclusive: `1.0.0 - 1.2.3`). NOTE: Remember to wrap your range spec in quotes if it has any spaces in it.",
6112
+ "required": false,
6113
+ "multiple": false
6114
+ },
6115
+ "silent": {
6116
+ "name": "silent",
6117
+ "type": "boolean",
6118
+ "description": "Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.",
6119
+ "allowNo": false,
6120
+ "dependsOn": [
6121
+ "asset"
6122
+ ],
6123
+ "exclusive": [
6124
+ "echo",
6125
+ "to-script"
6126
+ ]
6127
+ },
6128
+ "echo": {
6129
+ "name": "echo",
6130
+ "type": "boolean",
6131
+ "description": "Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.",
6132
+ "allowNo": false,
6133
+ "exclusive": [
6134
+ "to-script",
6135
+ "silent"
6136
+ ]
6137
+ },
6138
+ "to-script": {
6139
+ "name": "to-script",
6140
+ "type": "boolean",
6141
+ "description": "Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.",
6142
+ "allowNo": false,
6143
+ "exclusive": [
6144
+ "echo",
6145
+ "silent"
6146
+ ]
6147
+ }
6148
+ },
6149
+ "args": {}
6150
+ },
5851
6151
  "asset:probe:create": {
5852
6152
  "id": "asset:probe:create",
5853
6153
  "description": "Declares the implementation of a health or readiness probe for an asset.",
@@ -8516,6 +8816,28 @@
8516
8816
  "cluster:create"
8517
8817
  ],
8518
8818
  "hiddenAliases": [],
8819
+ "examples": [
8820
+ {
8821
+ "description": "Create a cluster interativley.",
8822
+ "command": "cod cluster create my-cluster"
8823
+ },
8824
+ {
8825
+ "description": "Create a cluster interativley and assemble a non-interactive command string.",
8826
+ "command": "cod cluster create my-cluster --echo"
8827
+ },
8828
+ {
8829
+ "description": "Assemble a non-interactive command string WITHOUT actually creating a cluster (dry run).",
8830
+ "command": "cod cluster create my-cluster --to-script"
8831
+ },
8832
+ {
8833
+ "description": "Create a cluster silently.",
8834
+ "command": "cod cluster create my-cluster --provider azure --providerSubscription 12345678-1234-1234-1234-123456789012 --resourceGroup my-rg --location eastus --nodeSpec Standard_DS2_v2 --nodeQty 2 --silent"
8835
+ },
8836
+ {
8837
+ "description": "Create a cluster silently with all available options",
8838
+ "command": "cod cluster create my-comprehensive-cluster --provider azure --providerSubscription 12345678-1234-1234-1234-123456789012 --resourceGroup my-resource-group --location eastus2 --nodeSpec Standard_D2s_v3 --nodeQty 3 --k8sVersion 1.21.2 --nodesMin 2 --nodesMax 5 --owner my-tenant-code --subnet /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/my-vnet-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet --identityUserName my-service-principal --identityUserId 87654321-4321-4321-4321-210987654321 --identityUserPassword mySecurePassword123! --silent"
8839
+ }
8840
+ ],
8519
8841
  "flags": {
8520
8842
  "help": {
8521
8843
  "name": "help",
@@ -8524,19 +8846,10 @@
8524
8846
  "description": "Show CLI help.",
8525
8847
  "allowNo": false
8526
8848
  },
8527
- "owner": {
8528
- "name": "owner",
8529
- "type": "option",
8530
- "char": "p",
8531
- "description": "Tenant code of the private owner of the cluster",
8532
- "required": false,
8533
- "multiple": false
8534
- },
8535
8849
  "provider": {
8536
8850
  "name": "provider",
8537
8851
  "type": "option",
8538
- "description": "Cloud service provider on which to provision the cluster",
8539
- "required": false,
8852
+ "description": "(Required in silent mode) Cloud service provider on which to provision the cluster",
8540
8853
  "multiple": false,
8541
8854
  "options": [
8542
8855
  "azure",
@@ -8547,32 +8860,42 @@
8547
8860
  "name": "providerSubscription",
8548
8861
  "type": "option",
8549
8862
  "char": "s",
8550
- "description": "The Azure subscription Id under which to create the cluster.",
8551
- "required": false,
8863
+ "description": "(Required in silent mode) The Azure subscription Id under which to create the cluster.",
8552
8864
  "multiple": false
8553
8865
  },
8554
8866
  "resourceGroup": {
8555
8867
  "name": "resourceGroup",
8556
8868
  "type": "option",
8557
8869
  "char": "g",
8558
- "description": "The Azure resource group to create for the cluster.",
8559
- "required": false,
8870
+ "description": "(Required in silent mode) The Azure resource group to create for the cluster.",
8560
8871
  "multiple": false
8561
8872
  },
8562
8873
  "location": {
8563
8874
  "name": "location",
8564
8875
  "type": "option",
8565
8876
  "char": "l",
8566
- "description": "The short name of the azure data center in which the cliuster is to reside.",
8567
- "required": false,
8877
+ "description": "(Required in silent mode) The short name of the azure data center in which the cluster is to reside.",
8878
+ "multiple": false
8879
+ },
8880
+ "nodeQty": {
8881
+ "name": "nodeQty",
8882
+ "type": "option",
8883
+ "char": "q",
8884
+ "description": "(Required in silent mode) The starting node count with which to create the cluster.",
8885
+ "multiple": false,
8886
+ "default": 2
8887
+ },
8888
+ "k8sVersion": {
8889
+ "name": "k8sVersion",
8890
+ "type": "option",
8891
+ "description": "(Required in silent mode) The version of Kubernetes to install on the cluster.",
8568
8892
  "multiple": false
8569
8893
  },
8570
8894
  "subnet": {
8571
8895
  "name": "subnet",
8572
8896
  "type": "option",
8573
8897
  "char": "k",
8574
- "description": "The resource id of the subnet in which the cluster is to be created.",
8575
- "required": false,
8898
+ "description": "OPTIONAL: The resource id of the subnet in which the cluster is to be created.",
8576
8899
  "multiple": false
8577
8900
  },
8578
8901
  "nodeSpec": {
@@ -8580,65 +8903,93 @@
8580
8903
  "type": "option",
8581
8904
  "char": "n",
8582
8905
  "description": "The identifier for the type of VM to use for nodes in the cluster.",
8583
- "required": false,
8584
8906
  "multiple": false
8585
8907
  },
8586
- "nodeQty": {
8587
- "name": "nodeQty",
8588
- "type": "option",
8589
- "char": "q",
8590
- "description": "The starting node count with which to create the cluster.",
8591
- "required": false,
8592
- "multiple": false,
8593
- "default": 2
8594
- },
8595
8908
  "identityUserName": {
8596
8909
  "name": "identityUserName",
8597
8910
  "type": "option",
8598
8911
  "char": "u",
8599
- "description": "OPTIONAL. Name of Svc Principal or Managed Identity to execute as. To create k8s cluster, IP address, and container Pull. If none supplied Codiac will try to create one.",
8600
- "required": false,
8912
+ "description": "OPTIONAL. Name of Svc Principal or Managed Identity to execute as.",
8601
8913
  "multiple": false
8602
8914
  },
8603
8915
  "identityUserId": {
8604
8916
  "name": "identityUserId",
8605
8917
  "type": "option",
8606
- "char": "u",
8607
- "description": "OPTIONAL. ID of Svc Principal or Managed Identity to execute as. To create k8s cluster, IP address, and container Pull. If none supplied Codiac will try to create one.",
8608
- "required": false,
8918
+ "description": "OPTIONAL. ID of Svc Principal or Managed Identity to execute as.",
8609
8919
  "multiple": false
8610
8920
  },
8611
8921
  "identityUserPassword": {
8612
8922
  "name": "identityUserPassword",
8613
8923
  "type": "option",
8614
8924
  "char": "c",
8615
- "description": "OPTIONAL. Password of Svc Principal or Managed Identity to execute as. To create k8s cluster, IP address, and container Pull. If none supplied Codiac will try to create one.",
8925
+ "description": "OPTIONAL. Password of Svc Principal or Managed Identity to execute as.",
8616
8926
  "hidden": true,
8617
- "required": false,
8927
+ "multiple": false
8928
+ },
8929
+ "nodesMin": {
8930
+ "name": "nodesMin",
8931
+ "type": "option",
8932
+ "description": "OPTIONAL. The minimum number of nodes to maintain in the cluster.",
8933
+ "multiple": false
8934
+ },
8935
+ "nodesMax": {
8936
+ "name": "nodesMax",
8937
+ "type": "option",
8938
+ "description": "OPTIONAL. The maximum number of nodes to maintain in the cluster.",
8618
8939
  "multiple": false
8619
8940
  },
8620
8941
  "silent": {
8621
8942
  "name": "silent",
8622
- "type": "option",
8623
- "char": "y",
8624
- "description": "(Optional: defaults to false) Prevents confirmations of user-values. Required: providerSubscription,resourceGroup,location,nodeSpec,nodeQty",
8625
- "required": false,
8626
- "multiple": false,
8627
- "dependsOn": [
8628
- "providerSubscription",
8629
- "resourceGroup",
8630
- "location",
8631
- "nodeSpec",
8632
- "nodeQty"
8943
+ "type": "boolean",
8944
+ "description": "Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.",
8945
+ "allowNo": false,
8946
+ "relationships": [
8947
+ {
8948
+ "type": "all",
8949
+ "flags": [
8950
+ "k8sVersion",
8951
+ "provider",
8952
+ "providerSubscription",
8953
+ "location",
8954
+ "nodeSpec",
8955
+ "nodeQty",
8956
+ "resourceGroup"
8957
+ ]
8958
+ }
8959
+ ],
8960
+ "exclusive": [
8961
+ "echo",
8962
+ "to-script"
8633
8963
  ]
8634
8964
  },
8635
- "toScript": {
8636
- "name": "toScript",
8965
+ "echo": {
8966
+ "name": "echo",
8637
8967
  "type": "boolean",
8638
- "char": "t",
8639
- "description": "Outputs an assembled command string, NO execution",
8640
- "required": false,
8641
- "allowNo": false
8968
+ "description": "Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.",
8969
+ "allowNo": false,
8970
+ "exclusive": [
8971
+ "to-script",
8972
+ "silent"
8973
+ ]
8974
+ },
8975
+ "to-script": {
8976
+ "name": "to-script",
8977
+ "type": "boolean",
8978
+ "description": "Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.",
8979
+ "allowNo": false,
8980
+ "exclusive": [
8981
+ "echo",
8982
+ "silent"
8983
+ ]
8984
+ },
8985
+ "take-defaults": {
8986
+ "name": "take-defaults",
8987
+ "type": "boolean",
8988
+ "description": "Setting this to true prevents prompting for confirmation on parameters that were passed in or were automatically set to default values (Irrelevant in --silent mode).",
8989
+ "allowNo": false,
8990
+ "exclusive": [
8991
+ "silent"
8992
+ ]
8642
8993
  }
8643
8994
  },
8644
8995
  "args": {
@@ -8646,14 +8997,7 @@
8646
8997
  "name": "name",
8647
8998
  "description": "Proposed name of the cluster"
8648
8999
  }
8649
- },
8650
- "dependsOn": [
8651
- "providerSubscription",
8652
- "resourceGroup",
8653
- "location",
8654
- "nodeSpec",
8655
- "nodeQty"
8656
- ]
9000
+ }
8657
9001
  },
8658
9002
  "noc:cluster:deinit": {
8659
9003
  "id": "noc:cluster:deinit",
@@ -8709,12 +9053,7 @@
8709
9053
  ]
8710
9054
  }
8711
9055
  },
8712
- "args": {
8713
- "name": {
8714
- "name": "name",
8715
- "description": "Name of existing cluster."
8716
- }
8717
- }
9056
+ "args": {}
8718
9057
  },
8719
9058
  "noc:cluster:destroy": {
8720
9059
  "id": "noc:cluster:destroy",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codiac.io/codiac-cli",
3
- "description": "Local command line interface for managing enterprise assets and environments.",
4
- "version": "1.3.62",
3
+ "description": "Local command line interface for managing enterprise assets and environments. ",
4
+ "version": "1.3.64",
5
5
  "author": "Codiac",
6
6
  "bin": {
7
7
  "codiac": "./bin/run",
@@ -30,7 +30,7 @@
30
30
  "@codiac.io/api-client-base": "^1.1.15",
31
31
  "@codiac.io/cli-tools": "^1.1.10",
32
32
  "@codiac.io/codiac-common": "^1.3.3",
33
- "@codiac.io/codiac-domain": "^1.6.6",
33
+ "@codiac.io/codiac-domain": "^1.6.7",
34
34
  "@codiac.io/codiac-ops-common": "^1.2.1",
35
35
  "@codiac.io/codiac-relay-contracts": "^1.2.23",
36
36
  "@codiac.io/jwt-lib": "^1.1.6",