diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f79b661..cd85dd8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ permissions: env: # Go language version to use for building. This value should also be updated # in the release workflow if changed. - GO_VERSION: "1.21" + GO_VERSION: "1.22" jobs: # Ensure project builds before running testing matrix @@ -37,8 +37,17 @@ jobs: - run: go mod download - run: go build -v . + - name: Install Terraform + uses: hashicorp/setup-terraform@v3 + with: + terraform_version: ${{ matrix.terraform }} + terraform_wrapper: false + generate: + # this seems to cause an error as the generation now wants to exec + # terraform and it's not available here. need to consider what to do. runs-on: ubuntu-latest + if: false steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 @@ -65,13 +74,13 @@ jobs: # specific IDs which must be unique... some test resource randomization # is needed but doesn't exist... Currently only testing w/ 1.6 # max-parallel: 1 should fix this! + # Specific versions needed! # NOTE: required tests are configured in branch protection! terraform: - # - "1.0.*" - # - "1.1.*" - # - "1.3.*" - - "1.7.*" - - "1.8.*" + - "1.8.5" + - "1.9.8" + - "1.10.4" + steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 @@ -100,6 +109,7 @@ jobs: TF_VAR_username: ${{ secrets.USERNAME }} TF_VAR_password: ${{ secrets.PASSWORD }} TF_VAR_token: ${{ secrets.TOKEN }} + TF_ACC_TERRAFORM_VERSION: ${{ matrix.terraform }} run: go test -timeout 1h -race -v -covermode atomic -coverprofile=covprofile ./internal/... timeout-minutes: 60 diff --git a/A97E6292972408AB.asc b/A97E6292972408AB.asc new file mode 100644 index 0000000..2055a23 --- /dev/null +++ b/A97E6292972408AB.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBGNZjN0BEADAbapQMl5+2i/nzhfV0Qa9QOs8CQxVYepZIMnzO0VUyYX2aeuZ +ceSttm9tU7tMfHoibwxgCQsYBA8eemQYX+HAvR8mhFrA/nG0t2wsdzMyYOUySaUw +pgft2TuTPeZI0BMK8JKAHG3HCUdgjUc4ScJGTMXO7kiPR5q86RN+IaVyEs38F0zZ +nfvSKY8MqGUjD5cwEa1OuHDzG2K2iw7eugEgyfPxaHQOjFkeyN/NKtP6Fdy7Xqpz +guboSgH2P/t3ml7lkqzLXgtSlHCZjoXdAQIb6c4FRIepEYioaAWN8X69EwuMrK2b +tiqKMQyj5l/B/1i+zpaYEJpnl3pHWao5xxgE/OeraEFkE7kuKRS055oc2Q1lNaQf +eUtM8lA3XsNNlfwo7jKk799iBDb84AObFW42ujLMo2EuK79bc2UWzGAJze9VLgiR +VCQ6qNX3mDfyJfync3revGAijNuM+ebpmUtjYv0CfR3tjyrDG5YsUzVVp25950D2 +QNCO0UTbBHVmWsdJIVmBd9yqILvgFfThmmtnClq2NctfP/MAWSjEwo2k53F9i79L +jyTayPHVohxrt9BEo5XvdoHEvrrau+uTW+fe1uCfmu6QKa/H6VPPqn+/+BaNVCHP +Ltama+1a0I3fqhRIZwaoAS0gdXERg2jMOoOYHJq2M1BuIJ1P/5KeZqMblQARAQAB +tCRSYWxwaCBTY2htaWVkZXIgPHJzY2htaWVkQGNpc2NvLmNvbT6JAlQEEwEKAD4C +GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQR6BE7VxsdbFSLEb5ypfmKSlyQI +qwUCZw0itAUJBZTJVwAKCRCpfmKSlyQIq5XMD/0bxlctuLifQTq6o+Wx5YXqWQOP +8AzdELvHbovsI2tvn1yrxjIkJZt8xBmzoQ87gnZdSQqldFCiMgI8SwllYkfTw/Os +IhSXLOFsxIXxl2Zpo40MRwcR2qynQipp1qPqB6dmYWaauoJ5zLNHIRydbmENYuIZ +vzD/ebg7kQ7RuZvYL/1M0/pBSCy4ZsEuCg2E+tAANo3YDZ9EkvHk4kAsy7c/N1aZ +cwYKxFtkMupc3R4EAc2q7c3yXlv6vc1vqF4QcVUzvgGpYCOZRjSEgHIwhGCJi/nB +Mqgw1vlsTf7Mj/qCA50WzRjkMxHOwGhsYX0vp3lVm5CKnHsM4fJLwVgV/oxmbjhw +ZENtc5L67FvPWExNXoHghq5PH1eLFxbQzZumH/GBhfv7YwVRzy/pN2JUih/kRUnr +P4OSqW7N9fA2EvtW/XebsgYhcQVCJZSbXnf3KV42oPY6QcQ8PQyKN8TPmK69rbct +lwJz0U2A9s9IZQfNnIswDrBnNRXtCNvdjdJCB++VBQT7LoesPIJLlr/UXnq7z9jX +V/a1GILwbleCxGQxI+QO5cTlhZdtmpksFTfAGS0fsFYSznIuz+tWepfY7pgFo7gu +iGwUP0mp0GiX2las1sYA7o61umV8R/8pYvr78g8Ub472CUj1MS04NnKviWpwf8xq +S7lGuBQRzXig7GYYLA== +=C3qi +-----END PGP PUBLIC KEY BLOCK----- diff --git a/CHANGELOG.md b/CHANGELOG.md index 175dd5b..0ed65d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ Lists the changes in the provider. +## Version 0.8.2 + +- go version 1.22 used +- updated dependencies (plugin-framework 1.13.0, plugin-go 0.25.0, plugin-testing 1.10.0) +- use newer gocmlclient which supports CML 2.8.0 +- added signing public key to repo +- provider configuration check: Ensure valid CML host address (HTTPS) +- moved package name from rschmied to ciscodevnet (cosmetic) +- updated documentation + ## Version 0.8.1 - updated documentation, examples and tests to match code changes. diff --git a/README.md b/README.md index 3c81fb8..e72d675 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,18 @@ # Terraform Provider for Cisco CML2 -This repository implements a [Terraform](https://www.terraform.io) provider for Cisco Modeling Labs version 2.4 and later. It's current state is "beta". Changes can be expected, for example: +This repository implements a [Terraform](https://www.terraform.io) provider for +Cisco Modeling Labs version 2.6 and later. It's current state is "beta". Changes +can be expected, for example: - configuration (provider, resources, data-sources) - provider behavior - features (additional resources, ...) -> **Note:** The provider needs CML 2.4 or newer. This is due to some additional API capabilities which were introduced with 2.4.0. Older versions are blocked within by the `gocmlclient`. +> [!NOTE] +> The provider needs CML 2.4 or newer. This is due to some additional API +> capabilities which were introduced with 2.4.0. Older versions are blocked +> within by the `gocmlclient`. The current implementation provides: @@ -16,15 +21,18 @@ The current implementation provides: - resource `cml2_lab` to create, update and destroy labs - resource `cml2_node` to create, update and destroy nodes in a lab - resource `cml2_link` to create, update and destroy links between nodes in a lab - - resource `cml2_lifecycle` to control the state of a lab (like `STARTED`, `STOPPED`), including staged starting and configuration injection + - resource `cml2_lifecycle` to control the state of a lab (like `STARTED`, + `STOPPED`), including staged starting and configuration injection - resource `cml2_group` to create, update and destroy groups - resource `cml2_user` to create, update and destroy users - data source `cml2_lab` to retrieve state of an existing lab - data source `cml2_node` to retrieve state of an existing node in a lab - data source `cml2_images` to retrieve the available node images from the controller - data source `cml2_groups` to retrieve user groups from the controller - - data source `cml2_extconn` to retrieve external connector information from the controller - - data source `cml2_system` to retrieve system state (ready state, version, ...) from the controller + - data source `cml2_extconn` to retrieve external connector information from + the controller + - data source `cml2_system` to retrieve system state (ready state, version, + ...) from the controller - data source `cml2_users` to retrieve users from the controller - Examples (`examples/`) and generated documentation (`docs/`), - Miscellaneous meta files. @@ -32,7 +40,7 @@ The current implementation provides: ## Requirements - [Terraform](https://www.terraform.io/downloads.html) >= 1.0 -- [Go](https://golang.org/doc/install) >= 1.21 +- [Go](https://golang.org/doc/install) >= 1.22 - [CML2](https://cisco.com/go/cml) >= 2.6.0 ## Building The Provider @@ -50,6 +58,13 @@ go install Please refer to the `examples` directory and look at the built-in documentation provided via the registry. +> [!NOTE] +> +> It's recommended to use the UI token (from the User menu, top right "Copy +> JWT") instead of the user-name and password as that will provide better +> performance. Using the token avoids repeated client authentication via the +> API which takes quite a bit of time. + ### HCL For some basic examples look in the `examples` directory @@ -65,7 +80,7 @@ the provider binary in the `$GOPATH/bin` directory. To generate or update documentation, run `go generate`. -In order to run the full suite of Acceptance tests, run `make testacc`. For this +In order to run the full suite of acceptance tests, run `make testacc`. For this to work, the provider needs to be configured via environment variables. Here's an example: @@ -75,6 +90,8 @@ an example: TF_VAR_username="admin" TF_VAR_password="secret" TF_VAR_address="https://cml-controller.cml.lab" +# alternatively, this is faster: +# TF_VAR_token="your-token-here" export TF_VAR_username TF_VAR_password TF_VAR_address ``` @@ -85,7 +102,11 @@ Those variables are referenced for acceptance testing in `internal/provider/test make testacc ``` -Acceptance testing with Github actions can be achieved using the provided -`tunnel.sh` script which uses tools like `gh` CLI and `ngrok` to forward the API -calls to a locally installed CML instance. See `tunnel.sh` and the `ghsecret` -[CLI tool](https://github.com/rschmied/ghsecret) for additional details. +Acceptance testing with GitHub actions must properly set secrets which are used +in the test workflow: + +- the NGROK_URL where where the CML API is reachable +- the USERNAME and PASSWORD or alternatively, the CML API TOKEN + +This can use Ngrok or other tunneling tools if the CML API isn't directly +reachable from the internet. diff --git a/docs/index.md b/docs/index.md index 6e8c775..78a2a6f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -32,6 +32,8 @@ provider "cml2" { # credentials, either a JWT or username/password are required # an error is raised if neither token or username / password are set + # Note: Using a token is a lot faster than using username and password + # token = var.token username = var.username password = var.password diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf index 0fbdadb..2f2883f 100644 --- a/examples/provider/provider.tf +++ b/examples/provider/provider.tf @@ -7,6 +7,8 @@ provider "cml2" { # credentials, either a JWT or username/password are required # an error is raised if neither token or username / password are set + # Note: Using a token is a lot faster than using username and password + # token = var.token username = var.username password = var.password diff --git a/go.mod b/go.mod index 643c07e..875e357 100644 --- a/go.mod +++ b/go.mod @@ -1,34 +1,36 @@ -module github.com/rschmied/terraform-provider-cml2 +module github.com/ciscodevnet/terraform-provider-cml2 -go 1.21 +go 1.22.7 + +toolchain go1.22.10 require ( github.com/google/go-cmp v0.6.0 github.com/google/uuid v1.6.0 - github.com/hashicorp/terraform-plugin-docs v0.19.4 - github.com/hashicorp/terraform-plugin-framework v1.10.0 - github.com/hashicorp/terraform-plugin-go v0.23.0 + github.com/hashicorp/terraform-plugin-docs v0.20.1 + github.com/hashicorp/terraform-plugin-framework v1.13.0 + github.com/hashicorp/terraform-plugin-go v0.25.0 github.com/hashicorp/terraform-plugin-log v0.9.0 - github.com/hashicorp/terraform-plugin-testing v1.9.0 + github.com/hashicorp/terraform-plugin-testing v1.11.0 github.com/rschmied/gocmlclient v0.1.0 - github.com/stretchr/testify v1.9.0 + github.com/stretchr/testify v1.10.0 ) require ( github.com/BurntSushi/toml v1.2.1 // indirect github.com/Kunde21/markdownfmt/v3 v3.1.0 // indirect github.com/Masterminds/goutils v1.1.1 // indirect - github.com/Masterminds/semver/v3 v3.2.1 // indirect + github.com/Masterminds/semver/v3 v3.3.1 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/ProtonMail/go-crypto v1.1.0-alpha.2 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect - github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect + github.com/bmatcuk/doublestar/v4 v4.7.1 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/fatih/color v1.17.0 // indirect + github.com/fatih/color v1.18.0 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/hashicorp/cli v1.1.6 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -37,21 +39,22 @@ require ( github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.6.1 // indirect + github.com/hashicorp/go-plugin v1.6.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/hashicorp/hc-install v0.7.0 // indirect - github.com/hashicorp/hcl/v2 v2.21.0 // indirect + github.com/hashicorp/hc-install v0.9.0 // indirect + github.com/hashicorp/hcl/v2 v2.23.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-exec v0.21.0 // indirect - github.com/hashicorp/terraform-json v0.22.1 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 // indirect - github.com/hashicorp/terraform-registry-address v0.2.3 // indirect + github.com/hashicorp/terraform-json v0.23.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 // indirect + github.com/hashicorp/terraform-registry-address v0.2.4 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect - github.com/hashicorp/yamux v0.1.1 // indirect + github.com/hashicorp/yamux v0.1.2 // indirect github.com/huandu/xstrings v1.4.0 // indirect github.com/imdario/mergo v0.3.15 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect @@ -67,22 +70,22 @@ require ( github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - github.com/yuin/goldmark v1.7.1 // indirect + github.com/yuin/goldmark v1.7.7 // indirect github.com/yuin/goldmark-meta v1.1.0 // indirect - github.com/zclconf/go-cty v1.14.4 // indirect + github.com/zclconf/go-cty v1.15.0 // indirect go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect - golang.org/x/crypto v0.25.0 // indirect + golang.org/x/crypto v0.32.0 // indirect golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect - golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.22.0 // indirect - golang.org/x/text v0.16.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect + golang.org/x/mod v0.21.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/text v0.21.0 // indirect + golang.org/x/tools v0.22.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240725223205-93522f1f2a9f // indirect - google.golang.org/grpc v1.65.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/grpc v1.69.4 // indirect + google.golang.org/protobuf v1.36.3 // indirect gopkg.in/yaml.v2 v2.3.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index d72e260..7eb9b68 100644 --- a/go.sum +++ b/go.sum @@ -7,8 +7,8 @@ github.com/Kunde21/markdownfmt/v3 v3.1.0/go.mod h1:tPXN1RTyOzJwhfHoon9wUr4HGYmWg github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= -github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4= +github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= @@ -24,8 +24,8 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= -github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q= +github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= @@ -38,8 +38,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= -github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -48,6 +48,10 @@ github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+ github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -81,41 +85,43 @@ github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-plugin v1.6.1 h1:P7MR2UP6gNKGPp+y7EZw2kOiq4IR9WiqLvp0XOsVdwI= -github.com/hashicorp/go-plugin v1.6.1/go.mod h1:XPHFku2tFo3o3QKFgSYo+cghcUhw1NA1hZyMK0PWAw0= +github.com/hashicorp/go-plugin v1.6.2 h1:zdGAEd0V1lCaU0u+MxWQhtSDQmahpkwOun8U8EiRVog= +github.com/hashicorp/go-plugin v1.6.2/go.mod h1:CkgLQ5CZqNmdL9U9JzM532t8ZiYQ35+pj3b1FD37R0Q= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hc-install v0.7.0 h1:Uu9edVqjKQxxuD28mR5TikkKDd/p55S8vzPC1659aBk= -github.com/hashicorp/hc-install v0.7.0/go.mod h1:ELmmzZlGnEcqoUMKUuykHaPCIR1sYLYX+KSggWSKZuA= -github.com/hashicorp/hcl/v2 v2.21.0 h1:lve4q/o/2rqwYOgUg3y3V2YPyD1/zkCLGjIV74Jit14= -github.com/hashicorp/hcl/v2 v2.21.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA= +github.com/hashicorp/hc-install v0.9.0 h1:2dIk8LcvANwtv3QZLckxcjyF5w8KVtiMxu6G6eLhghE= +github.com/hashicorp/hc-install v0.9.0/go.mod h1:+6vOP+mf3tuGgMApVYtmsnDoKWMDcFXeTxCACYZ8SFg= +github.com/hashicorp/hcl/v2 v2.23.0 h1:Fphj1/gCylPxHutVSEOf2fBOh1VE4AuLV7+kbJf3qos= +github.com/hashicorp/hcl/v2 v2.23.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-exec v0.21.0 h1:uNkLAe95ey5Uux6KJdua6+cv8asgILFVWkd/RG0D2XQ= github.com/hashicorp/terraform-exec v0.21.0/go.mod h1:1PPeMYou+KDUSSeRE9szMZ/oHf4fYUmB923Wzbq1ICg= -github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7orfb5Ltvec= -github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A= -github.com/hashicorp/terraform-plugin-docs v0.19.4 h1:G3Bgo7J22OMtegIgn8Cd/CaSeyEljqjH3G39w28JK4c= -github.com/hashicorp/terraform-plugin-docs v0.19.4/go.mod h1:4pLASsatTmRynVzsjEhbXZ6s7xBlUw/2Kt0zfrq8HxA= -github.com/hashicorp/terraform-plugin-framework v1.10.0 h1:xXhICE2Fns1RYZxEQebwkB2+kXouLC932Li9qelozrc= -github.com/hashicorp/terraform-plugin-framework v1.10.0/go.mod h1:qBXLDn69kM97NNVi/MQ9qgd1uWWsVftGSnygYG1tImM= -github.com/hashicorp/terraform-plugin-go v0.23.0 h1:AALVuU1gD1kPb48aPQUjug9Ir/125t+AAurhqphJ2Co= -github.com/hashicorp/terraform-plugin-go v0.23.0/go.mod h1:1E3Cr9h2vMlahWMbsSEcNrOCxovCZhOOIXjFHbjc/lQ= +github.com/hashicorp/terraform-json v0.23.0 h1:sniCkExU4iKtTADReHzACkk8fnpQXrdD2xoR+lppBkI= +github.com/hashicorp/terraform-json v0.23.0/go.mod h1:MHdXbBAbSg0GvzuWazEGKAn/cyNfIB7mN6y7KJN6y2c= +github.com/hashicorp/terraform-plugin-docs v0.20.1 h1:Fq7E/HrU8kuZu3hNliZGwloFWSYfWEOWnylFhYQIoys= +github.com/hashicorp/terraform-plugin-docs v0.20.1/go.mod h1:Yz6HoK7/EgzSrHPB9J/lWFzwl9/xep2OPnc5jaJDV90= +github.com/hashicorp/terraform-plugin-framework v1.13.0 h1:8OTG4+oZUfKgnfTdPTJwZ532Bh2BobF4H+yBiYJ/scw= +github.com/hashicorp/terraform-plugin-framework v1.13.0/go.mod h1:j64rwMGpgM3NYXTKuxrCnyubQb/4VKldEKlcG8cvmjU= +github.com/hashicorp/terraform-plugin-go v0.25.0 h1:oi13cx7xXA6QciMcpcFi/rwA974rdTxjqEhXJjbAyks= +github.com/hashicorp/terraform-plugin-go v0.25.0/go.mod h1:+SYagMYadJP86Kvn+TGeV+ofr/R3g4/If0O5sO96MVw= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 h1:kJiWGx2kiQVo97Y5IOGR4EMcZ8DtMswHhUuFibsCQQE= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0/go.mod h1:sl/UoabMc37HA6ICVMmGO+/0wofkVIRxf+BMb/dnoIg= -github.com/hashicorp/terraform-plugin-testing v1.9.0 h1:xOsQRqqlHKXpFq6etTxih3ubdK3HVDtfE1IY7Rpd37o= -github.com/hashicorp/terraform-plugin-testing v1.9.0/go.mod h1:fhhVx/8+XNJZTD5o3b4stfZ6+q7z9+lIWigIYdT6/44= -github.com/hashicorp/terraform-registry-address v0.2.3 h1:2TAiKJ1A3MAkZlH1YI/aTVcLZRu7JseiXNRHbOAyoTI= -github.com/hashicorp/terraform-registry-address v0.2.3/go.mod h1:lFHA76T8jfQteVfT7caREqguFrW3c4MFSPhZB7HHgUM= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 h1:wyKCCtn6pBBL46c1uIIBNUOWlNfYXfXpVo16iDyLp8Y= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0/go.mod h1:B0Al8NyYVr8Mp/KLwssKXG1RqnTk7FySqSn4fRuLNgw= +github.com/hashicorp/terraform-plugin-testing v1.11.0 h1:MeDT5W3YHbONJt2aPQyaBsgQeAIckwPX41EUHXEn29A= +github.com/hashicorp/terraform-plugin-testing v1.11.0/go.mod h1:WNAHQ3DcgV/0J+B15WTE6hDvxcUdkPPpnB1FR3M910U= +github.com/hashicorp/terraform-registry-address v0.2.4 h1:JXu/zHB2Ymg/TGVCRu10XqNa4Sh2bWcqCNyKWjnCPJA= +github.com/hashicorp/terraform-registry-address v0.2.4/go.mod h1:tUNYTVyCtU4OIGXXMDp7WNcJ+0W1B4nmstVDgHMjfAU= github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc= -github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= -github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8= +github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= @@ -137,11 +143,10 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= @@ -166,8 +171,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rschmied/gocmlclient v0.1.0 h1:PdqyKP8pCwhgIirxUFwkltLgrF2ZOBJhmOB9Ps/TJq4= github.com/rschmied/gocmlclient v0.1.0/go.mod h1:W0Q7bpPzOi4OfM5Kn+Ct9JI/4Tu6n7IBlE8lJ54UWWc= github.com/rschmied/mockresponder v1.0.4 h1:VFXa9Y9QJ/5oZFhKoqh9u3HQlbjcBfE9pxI+BanMlEs= @@ -187,8 +192,8 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= @@ -199,38 +204,48 @@ github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark v1.7.1 h1:3bajkSilaCbjdKVsKdZjZCLBNPL9pYzrCakKaf4U49U= -github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= +github.com/yuin/goldmark v1.7.7 h1:5m9rrB1sW3JUMToKFQfb+FGt1U7r57IHu5GrYrG2nqU= +github.com/yuin/goldmark v1.7.7/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc= github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0= -github.com/zclconf/go-cty v1.14.4 h1:uXXczd9QDGsgu0i/QFR/hzI5NYCHLf6NQw/atrbnhq8= -github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +github.com/zclconf/go-cty v1.15.0 h1:tTCRWxsexYUmtt/wVxgDClUe+uQusuI443uL6e+5sXQ= +github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= go.abhg.dev/goldmark/frontmatter v0.2.0 h1:P8kPG0YkL12+aYk2yU3xHv4tcXzeVnN+gU0tJ5JnxRw= go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px76YjkOzhB4YlU= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME= golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= +golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -241,11 +256,10 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -255,26 +269,26 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240725223205-93522f1f2a9f h1:RARaIm8pxYuxyNPbBQf5igT7XdOyCNtat1qAT2ZxjU4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240725223205-93522f1f2a9f/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= +google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= +google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/cmlschema/extconn_test.go b/internal/cmlschema/extconn_test.go index e6c2ca9..74df95a 100644 --- a/internal/cmlschema/extconn_test.go +++ b/internal/cmlschema/extconn_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/group.go b/internal/cmlschema/group.go index 3a1abad..6ae05b8 100644 --- a/internal/cmlschema/group.go +++ b/internal/cmlschema/group.go @@ -13,7 +13,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlvalidator" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlvalidator" ) var GroupLabAttrType = map[string]attr.Type{ diff --git a/internal/cmlschema/group_test.go b/internal/cmlschema/group_test.go index 062e803..f520a75 100644 --- a/internal/cmlschema/group_test.go +++ b/internal/cmlschema/group_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/image_def_test.go b/internal/cmlschema/image_def_test.go index 3ff92fa..0ac2287 100644 --- a/internal/cmlschema/image_def_test.go +++ b/internal/cmlschema/image_def_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/interface_test.go b/internal/cmlschema/interface_test.go index 5a68fe4..25c37ab 100644 --- a/internal/cmlschema/interface_test.go +++ b/internal/cmlschema/interface_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/lab_group.go b/internal/cmlschema/lab_group.go index 714bce4..bebe312 100644 --- a/internal/cmlschema/lab_group.go +++ b/internal/cmlschema/lab_group.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlvalidator" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlvalidator" ) var LabGroupAttrType = map[string]attr.Type{ diff --git a/internal/cmlschema/lab_test.go b/internal/cmlschema/lab_test.go index 7464497..bd7937f 100644 --- a/internal/cmlschema/lab_test.go +++ b/internal/cmlschema/lab_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/lifecycle.go b/internal/cmlschema/lifecycle.go index 56c1b21..ccc84b0 100644 --- a/internal/cmlschema/lifecycle.go +++ b/internal/cmlschema/lifecycle.go @@ -9,7 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/rschmied/terraform-provider-cml2/internal/cmlvalidator" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlvalidator" ) type LabLifecycleModel struct { diff --git a/internal/cmlschema/lifecycle_test.go b/internal/cmlschema/lifecycle_test.go index d8ca915..66efaa4 100644 --- a/internal/cmlschema/lifecycle_test.go +++ b/internal/cmlschema/lifecycle_test.go @@ -8,7 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/link_test.go b/internal/cmlschema/link_test.go index 9f1e293..469b7fa 100644 --- a/internal/cmlschema/link_test.go +++ b/internal/cmlschema/link_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/node_test.go b/internal/cmlschema/node_test.go index 91e05cd..9e00aa5 100644 --- a/internal/cmlschema/node_test.go +++ b/internal/cmlschema/node_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/provider_test.go b/internal/cmlschema/provider_test.go index acf3f9e..30b03bb 100644 --- a/internal/cmlschema/provider_test.go +++ b/internal/cmlschema/provider_test.go @@ -7,7 +7,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" tfschema "github.com/hashicorp/terraform-plugin-framework/provider/schema" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/cmlschema/user_test.go b/internal/cmlschema/user_test.go index 0a3937d..fc5f07b 100644 --- a/internal/cmlschema/user_test.go +++ b/internal/cmlschema/user_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" "github.com/stretchr/testify/assert" ) diff --git a/internal/common/configure.go b/internal/common/configure.go index 341db0f..64c615e 100644 --- a/internal/common/configure.go +++ b/internal/common/configure.go @@ -11,7 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" ) type ProviderConfig struct { diff --git a/internal/provider/datasource/extconn/extconn.go b/internal/provider/datasource/extconn/extconn.go index c285346..8cb2d0a 100644 --- a/internal/provider/datasource/extconn/extconn.go +++ b/internal/provider/datasource/extconn/extconn.go @@ -13,8 +13,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/datasource/extconn/extconn_test.go b/internal/provider/datasource/extconn/extconn_test.go index 1dc6a12..a45b324 100644 --- a/internal/provider/datasource/extconn/extconn_test.go +++ b/internal/provider/datasource/extconn/extconn_test.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){ diff --git a/internal/provider/datasource/groups/groups.go b/internal/provider/datasource/groups/groups.go index a3245dd..a42d639 100644 --- a/internal/provider/datasource/groups/groups.go +++ b/internal/provider/datasource/groups/groups.go @@ -13,8 +13,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/datasource/groups/groups_test.go b/internal/provider/datasource/groups/groups_test.go index 5a4d41b..1584902 100644 --- a/internal/provider/datasource/groups/groups_test.go +++ b/internal/provider/datasource/groups/groups_test.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){ diff --git a/internal/provider/datasource/images/images.go b/internal/provider/datasource/images/images.go index d794800..f9e146f 100644 --- a/internal/provider/datasource/images/images.go +++ b/internal/provider/datasource/images/images.go @@ -13,8 +13,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/datasource/images/images_test.go b/internal/provider/datasource/images/images_test.go index 35eebb7..e9269e2 100644 --- a/internal/provider/datasource/images/images_test.go +++ b/internal/provider/datasource/images/images_test.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){ diff --git a/internal/provider/datasource/lab/main.go b/internal/provider/datasource/lab/main.go index 1b5e269..23ed656 100644 --- a/internal/provider/datasource/lab/main.go +++ b/internal/provider/datasource/lab/main.go @@ -11,8 +11,8 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/datasource/node/main.go b/internal/provider/datasource/node/main.go index 81c2550..b50a907 100644 --- a/internal/provider/datasource/node/main.go +++ b/internal/provider/datasource/node/main.go @@ -11,8 +11,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/datasource/system/system.go b/internal/provider/datasource/system/system.go index 9a7440d..83af569 100644 --- a/internal/provider/datasource/system/system.go +++ b/internal/provider/datasource/system/system.go @@ -15,8 +15,8 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlvalidator" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlvalidator" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/datasource/system/system_test.go b/internal/provider/datasource/system/system_test.go index 245d6b2..de61df8 100644 --- a/internal/provider/datasource/system/system_test.go +++ b/internal/provider/datasource/system/system_test.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){ diff --git a/internal/provider/datasource/users/users.go b/internal/provider/datasource/users/users.go index df02b97..1d9ca3b 100644 --- a/internal/provider/datasource/users/users.go +++ b/internal/provider/datasource/users/users.go @@ -13,8 +13,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/datasource/users/users_test.go b/internal/provider/datasource/users/users_test.go index 0d70b81..fd46895 100644 --- a/internal/provider/datasource/users/users_test.go +++ b/internal/provider/datasource/users/users_test.go @@ -7,8 +7,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){ diff --git a/internal/provider/provider.go b/internal/provider/provider.go index 3ad949a..fa2695a 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -2,28 +2,29 @@ package provider import ( "context" + "net/url" "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/provider" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/rschmied/terraform-provider-cml2/internal/common" - d_extconn "github.com/rschmied/terraform-provider-cml2/internal/provider/datasource/extconn" - d_groups "github.com/rschmied/terraform-provider-cml2/internal/provider/datasource/groups" - d_images "github.com/rschmied/terraform-provider-cml2/internal/provider/datasource/images" - d_lab "github.com/rschmied/terraform-provider-cml2/internal/provider/datasource/lab" - d_node "github.com/rschmied/terraform-provider-cml2/internal/provider/datasource/node" - d_system "github.com/rschmied/terraform-provider-cml2/internal/provider/datasource/system" - d_users "github.com/rschmied/terraform-provider-cml2/internal/provider/datasource/users" - r_group "github.com/rschmied/terraform-provider-cml2/internal/provider/resource/group" - r_lab "github.com/rschmied/terraform-provider-cml2/internal/provider/resource/lab" - r_lifecycle "github.com/rschmied/terraform-provider-cml2/internal/provider/resource/lifecycle" - r_link "github.com/rschmied/terraform-provider-cml2/internal/provider/resource/link" - r_node "github.com/rschmied/terraform-provider-cml2/internal/provider/resource/node" - r_user "github.com/rschmied/terraform-provider-cml2/internal/provider/resource/user" - - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" + d_extconn "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/datasource/extconn" + d_groups "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/datasource/groups" + d_images "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/datasource/images" + d_lab "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/datasource/lab" + d_node "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/datasource/node" + d_system "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/datasource/system" + d_users "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/datasource/users" + r_group "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/resource/group" + r_lab "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/resource/lab" + r_lifecycle "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/resource/lifecycle" + r_link "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/resource/link" + r_node "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/resource/node" + r_user "github.com/ciscodevnet/terraform-provider-cml2/internal/provider/resource/user" + + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" ) // Ensure provider defined types fully satisfy framework interfaces @@ -48,6 +49,25 @@ func (p *CML2Provider) Configure(ctx context.Context, req provider.ConfigureRequ return } + // address must be https + parsedURL, err := url.Parse(data.Address.ValueString()) + if err != nil { + resp.Diagnostics.AddError( + "Can't parse server address / URL", + err.Error(), + ) + return + } + + // Check if the scheme is HTTPS and we have something like a hostname + if parsedURL.Scheme != "https" || len(parsedURL.Host) == 0 { + resp.Diagnostics.AddError( + "Invalid server address / URL, ensure it uses HTTPS", + "The address of the CML server is valid and uses HTTPS as the protocol", + ) + return + } + // https://dev.to/camptocamp-ops/how-to-allow-dynamic-terraform-provider-configuration-20ik dynamic_config := false if data.DynamicConfig.IsNull() { diff --git a/internal/provider/provider_test.go b/internal/provider/provider_test.go new file mode 100644 index 0000000..237f27c --- /dev/null +++ b/internal/provider/provider_test.go @@ -0,0 +1,66 @@ +package provider_test + +import ( + "fmt" + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-framework/providerserver" + "github.com/hashicorp/terraform-plugin-go/tfprotov6" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" +) + +// testAccProtoV6ProviderFactories are used to instantiate a provider during +// acceptance testing. The factory function will be invoked for every Terraform +// CLI command executed to create a provider server to which the CLI can +// reattach. +var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){ + "cml2": providerserver.NewProtocol6WithError(cml.New("test")()), +} + +func testAccPreCheck(t *testing.T) { + // You can add code here to run prior to any test case execution, for + // example assertions about the appropriate environment variables being set + // are common to see in a pre-check function. +} + +func TestAccHTTPScheck(t *testing.T) { + re := regexp.MustCompile(`valid and uses HTTPS`) + for _, url := range []string{"()!@*(#$&", "https://"} { + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccHTTPScheckCfg(url), + ExpectError: re, + }, + }, + }) + } + + re = regexp.MustCompile(`Can't parse server address`) + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccHTTPScheckCfg("http://cml.bla. com"), + ExpectError: re, + }, + }, + }) +} + +func testAccHTTPScheckCfg(address string) string { + return fmt.Sprintf(` +provider "cml2" { + address = "%[1]s" + token = "something" +} +resource "cml2_lifecycle" "top" { + topology = "{}" +} +`, address) +} diff --git a/internal/provider/resource/group/create.go b/internal/provider/resource/group/create.go index d4b6ddd..2bd0544 100644 --- a/internal/provider/resource/group/create.go +++ b/internal/provider/resource/group/create.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *GroupResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { diff --git a/internal/provider/resource/group/delete.go b/internal/provider/resource/group/delete.go index d80375c..b73ad1b 100644 --- a/internal/provider/resource/group/delete.go +++ b/internal/provider/resource/group/delete.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *GroupResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { diff --git a/internal/provider/resource/group/group_test.go b/internal/provider/resource/group/group_test.go index baca5b6..82b762a 100644 --- a/internal/provider/resource/group/group_test.go +++ b/internal/provider/resource/group/group_test.go @@ -7,8 +7,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) // testAccProtoV6ProviderFactories are used to instantiate a provider during diff --git a/internal/provider/resource/group/meta.go b/internal/provider/resource/group/meta.go index 78213d1..e64d752 100644 --- a/internal/provider/resource/group/meta.go +++ b/internal/provider/resource/group/meta.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/resource/group/read.go b/internal/provider/resource/group/read.go index dd697e3..e38a55e 100644 --- a/internal/provider/resource/group/read.go +++ b/internal/provider/resource/group/read.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *GroupResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/provider/resource/group/update.go b/internal/provider/resource/group/update.go index e3c3f89..8cd248a 100644 --- a/internal/provider/resource/group/update.go +++ b/internal/provider/resource/group/update.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *GroupResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { diff --git a/internal/provider/resource/lab/create.go b/internal/provider/resource/lab/create.go index 7f00168..854c4ac 100644 --- a/internal/provider/resource/lab/create.go +++ b/internal/provider/resource/lab/create.go @@ -11,8 +11,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LabResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { diff --git a/internal/provider/resource/lab/delete.go b/internal/provider/resource/lab/delete.go index 45cf568..997f94c 100644 --- a/internal/provider/resource/lab/delete.go +++ b/internal/provider/resource/lab/delete.go @@ -9,8 +9,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LabResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { diff --git a/internal/provider/resource/lab/lab_test.go b/internal/provider/resource/lab/lab_test.go index b868cf9..0a620f6 100644 --- a/internal/provider/resource/lab/lab_test.go +++ b/internal/provider/resource/lab/lab_test.go @@ -7,8 +7,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) // testAccProtoV6ProviderFactories are used to instantiate a provider during diff --git a/internal/provider/resource/lab/meta.go b/internal/provider/resource/lab/meta.go index 72ef76b..3845f77 100644 --- a/internal/provider/resource/lab/meta.go +++ b/internal/provider/resource/lab/meta.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/resource/lab/modify_plan.go b/internal/provider/resource/lab/modify_plan.go index 0117cae..21456d8 100644 --- a/internal/provider/resource/lab/modify_plan.go +++ b/internal/provider/resource/lab/modify_plan.go @@ -7,7 +7,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" ) func (r *LabResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, resp *resource.ModifyPlanResponse) { diff --git a/internal/provider/resource/lab/read.go b/internal/provider/resource/lab/read.go index e65dab4..b6c9345 100644 --- a/internal/provider/resource/lab/read.go +++ b/internal/provider/resource/lab/read.go @@ -7,8 +7,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LabResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/provider/resource/lab/update.go b/internal/provider/resource/lab/update.go index b358937..b081acf 100644 --- a/internal/provider/resource/lab/update.go +++ b/internal/provider/resource/lab/update.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r LabResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { diff --git a/internal/provider/resource/lifecycle/create.go b/internal/provider/resource/lifecycle/create.go index c299830..6dc7c4b 100644 --- a/internal/provider/resource/lifecycle/create.go +++ b/internal/provider/resource/lifecycle/create.go @@ -10,8 +10,8 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LabLifecycleResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { diff --git a/internal/provider/resource/lifecycle/delete.go b/internal/provider/resource/lifecycle/delete.go index d8a118f..69a69be 100644 --- a/internal/provider/resource/lifecycle/delete.go +++ b/internal/provider/resource/lifecycle/delete.go @@ -9,8 +9,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LabLifecycleResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { diff --git a/internal/provider/resource/lifecycle/lifecycle_test.go b/internal/provider/resource/lifecycle/lifecycle_test.go index b638dcc..06bdd42 100644 --- a/internal/provider/resource/lifecycle/lifecycle_test.go +++ b/internal/provider/resource/lifecycle/lifecycle_test.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) // testAccProtoV6ProviderFactories are used to instantiate a provider during diff --git a/internal/provider/resource/lifecycle/meta.go b/internal/provider/resource/lifecycle/meta.go index 1514ab7..6757722 100644 --- a/internal/provider/resource/lifecycle/meta.go +++ b/internal/provider/resource/lifecycle/meta.go @@ -9,8 +9,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/resource/lifecycle/modify_plan.go b/internal/provider/resource/lifecycle/modify_plan.go index 8202f62..87ee007 100644 --- a/internal/provider/resource/lifecycle/modify_plan.go +++ b/internal/provider/resource/lifecycle/modify_plan.go @@ -10,8 +10,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LabLifecycleResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, resp *resource.ModifyPlanResponse) { diff --git a/internal/provider/resource/lifecycle/read.go b/internal/provider/resource/lifecycle/read.go index 51d584a..200e004 100644 --- a/internal/provider/resource/lifecycle/read.go +++ b/internal/provider/resource/lifecycle/read.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LabLifecycleResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/provider/resource/lifecycle/update.go b/internal/provider/resource/lifecycle/update.go index 4900b8e..94aee38 100644 --- a/internal/provider/resource/lifecycle/update.go +++ b/internal/provider/resource/lifecycle/update.go @@ -10,8 +10,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r LabLifecycleResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { diff --git a/internal/provider/resource/lifecycle/utilities.go b/internal/provider/resource/lifecycle/utilities.go index 2e50788..efa2ff4 100644 --- a/internal/provider/resource/lifecycle/utilities.go +++ b/internal/provider/resource/lifecycle/utilities.go @@ -14,8 +14,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func getTimeouts(ctx context.Context, config tfsdk.Config, diags *diag.Diagnostics) *labLifecycleTimeouts { diff --git a/internal/provider/resource/link/create.go b/internal/provider/resource/link/create.go index 516c51c..80290ee 100644 --- a/internal/provider/resource/link/create.go +++ b/internal/provider/resource/link/create.go @@ -11,8 +11,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LinkResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { diff --git a/internal/provider/resource/link/delete.go b/internal/provider/resource/link/delete.go index eabd3db..4374d47 100644 --- a/internal/provider/resource/link/delete.go +++ b/internal/provider/resource/link/delete.go @@ -7,8 +7,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LinkResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { diff --git a/internal/provider/resource/link/link_test.go b/internal/provider/resource/link/link_test.go index 8b0472d..129397f 100644 --- a/internal/provider/resource/link/link_test.go +++ b/internal/provider/resource/link/link_test.go @@ -7,8 +7,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) // testAccProtoV6ProviderFactories are used to instantiate a provider during diff --git a/internal/provider/resource/link/meta.go b/internal/provider/resource/link/meta.go index d00079b..d6f29f8 100644 --- a/internal/provider/resource/link/meta.go +++ b/internal/provider/resource/link/meta.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/resource/link/modify_plan.go b/internal/provider/resource/link/modify_plan.go index 1b0aa38..390436a 100644 --- a/internal/provider/resource/link/modify_plan.go +++ b/internal/provider/resource/link/modify_plan.go @@ -7,7 +7,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" ) func (r *LinkResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, resp *resource.ModifyPlanResponse) { diff --git a/internal/provider/resource/link/read.go b/internal/provider/resource/link/read.go index 899fc77..d38fb49 100644 --- a/internal/provider/resource/link/read.go +++ b/internal/provider/resource/link/read.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *LinkResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/provider/resource/link/update.go b/internal/provider/resource/link/update.go index 879e74a..e9c801f 100644 --- a/internal/provider/resource/link/update.go +++ b/internal/provider/resource/link/update.go @@ -5,7 +5,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" ) func (r LinkResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { diff --git a/internal/provider/resource/node/create.go b/internal/provider/resource/node/create.go index 11aec73..cf2e409 100644 --- a/internal/provider/resource/node/create.go +++ b/internal/provider/resource/node/create.go @@ -11,8 +11,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *NodeResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { diff --git a/internal/provider/resource/node/delete.go b/internal/provider/resource/node/delete.go index 1680690..e0b253a 100644 --- a/internal/provider/resource/node/delete.go +++ b/internal/provider/resource/node/delete.go @@ -9,8 +9,8 @@ import ( cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *NodeResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { diff --git a/internal/provider/resource/node/meta.go b/internal/provider/resource/node/meta.go index 3a2e401..70fab26 100644 --- a/internal/provider/resource/node/meta.go +++ b/internal/provider/resource/node/meta.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/resource/node/modify_plan.go b/internal/provider/resource/node/modify_plan.go index 57a0a17..c30d22e 100644 --- a/internal/provider/resource/node/modify_plan.go +++ b/internal/provider/resource/node/modify_plan.go @@ -8,7 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" ) // ModifyPlan is called when the provider has an opportunity to modify the diff --git a/internal/provider/resource/node/node_test.go b/internal/provider/resource/node/node_test.go index 9b214fd..0cc2761 100644 --- a/internal/provider/resource/node/node_test.go +++ b/internal/provider/resource/node/node_test.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) // testAccProtoV6ProviderFactories are used to instantiate a provider during diff --git a/internal/provider/resource/node/read.go b/internal/provider/resource/node/read.go index eebfe06..7eef767 100644 --- a/internal/provider/resource/node/read.go +++ b/internal/provider/resource/node/read.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *NodeResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/provider/resource/node/update.go b/internal/provider/resource/node/update.go index f28d1bd..006140e 100644 --- a/internal/provider/resource/node/update.go +++ b/internal/provider/resource/node/update.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r NodeResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { diff --git a/internal/provider/resource/user/create.go b/internal/provider/resource/user/create.go index a235ad8..471104c 100644 --- a/internal/provider/resource/user/create.go +++ b/internal/provider/resource/user/create.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *UserResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { diff --git a/internal/provider/resource/user/delete.go b/internal/provider/resource/user/delete.go index ae0e7ff..7af9f34 100644 --- a/internal/provider/resource/user/delete.go +++ b/internal/provider/resource/user/delete.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *UserResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { diff --git a/internal/provider/resource/user/meta.go b/internal/provider/resource/user/meta.go index a060524..d54280c 100644 --- a/internal/provider/resource/user/meta.go +++ b/internal/provider/resource/user/meta.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) // Ensure provider defined types fully satisfy framework interfaces diff --git a/internal/provider/resource/user/read.go b/internal/provider/resource/user/read.go index 9d32844..73542f4 100644 --- a/internal/provider/resource/user/read.go +++ b/internal/provider/resource/user/read.go @@ -6,8 +6,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-log/tflog" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *UserResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/provider/resource/user/update.go b/internal/provider/resource/user/update.go index cd7d30a..cf9c442 100644 --- a/internal/provider/resource/user/update.go +++ b/internal/provider/resource/user/update.go @@ -9,8 +9,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" cmlclient "github.com/rschmied/gocmlclient" - "github.com/rschmied/terraform-provider-cml2/internal/cmlschema" - "github.com/rschmied/terraform-provider-cml2/internal/common" + "github.com/ciscodevnet/terraform-provider-cml2/internal/cmlschema" + "github.com/ciscodevnet/terraform-provider-cml2/internal/common" ) func (r *UserResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { diff --git a/internal/provider/resource/user/user_test.go b/internal/provider/resource/user/user_test.go index 5579112..f9dce4e 100644 --- a/internal/provider/resource/user/user_test.go +++ b/internal/provider/resource/user/user_test.go @@ -7,8 +7,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/providerserver" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - cml "github.com/rschmied/terraform-provider-cml2/internal/provider" - cfg "github.com/rschmied/terraform-provider-cml2/internal/testing" + cml "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" + cfg "github.com/ciscodevnet/terraform-provider-cml2/internal/testing" ) // testAccProtoV6ProviderFactories are used to instantiate a provider during diff --git a/main.go b/main.go index d5f41fc..c9ae5f2 100644 --- a/main.go +++ b/main.go @@ -6,7 +6,7 @@ import ( "log" "github.com/hashicorp/terraform-plugin-framework/providerserver" - "github.com/rschmied/terraform-provider-cml2/internal/provider" + "github.com/ciscodevnet/terraform-provider-cml2/internal/provider" ) // Run "go generate" to format example terraform files and generate the docs for diff --git a/tunnel.sh b/tunnel.sh deleted file mode 100755 index 647def2..0000000 --- a/tunnel.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env bash - -# set -x - -# gh CLI from https://cli.github.com/ -# ghsecret from https://github.com/rschmied/ghsecret -# -# change these two to local requirements: - -REPO="ciscodevnet/terraform-provider-cml2" -CML="https://cml-controller.cml.lab:443" - -# nothing to be changed further down - -function help() { - cmd=$(basename $0) - cat </dev/null -sf localhost:4040/api; then - echo "starting tmux and ngrok" - tmux &>/dev/null kill-session -t NGROK - tmux new-session -d -s NGROK - tmux new-window -t NGROK -n "ngrok" ngrok start --none - sleep 1 - if ! >/dev/null curl -sf localhost:4040/api; then - echo "can't start ngrok, failing" - exit 1 - else - echo "tmux and ngrok started" - fi - fi - - # get the tunnel from the agent and start it, if no tunnel - TUNNEL=$(curl -sf localhost:4040/api/tunnels | jq -r '.tunnels|map(select(.config.addr == "'$CML'"))[0]|.public_url') - if [ "$TUNNEL" = "null" ]; then - DATA='{"proto": "http","addr": "'$CML'","name": "cml"}' - TUNNEL=$(echo $DATA | curl -sf -XPOST -d@- -H "Content-Type: application/json" localhost:4040/api/tunnels | jq -r '.public_url') - fi - - # read the public github key for our repo - read -d' ' GH_KEY_ID GH_KEY <<<"$(gh api /repos/$REPO/actions/secrets/public-key | jq -r '.|.key_id, .key')" - - # make them visible to the ghsecret tool - export GH_KEY GH_KEY_ID TUNNEL - - # create/update the needed secrets on Github - # note that gh has a "secret" subcommand... so, the use of ghsecret is - # only for historical reasons :) - # https://github.com/cli/cli/releases/tag/v1.4.0 - ghsecret TUNNEL | gh api -XPUT /repos/$REPO/actions/secrets/NGROK_URL --input - - ghsecret TF_VAR_username | gh api -XPUT /repos/$REPO/actions/secrets/USERNAME --input - - ghsecret TF_VAR_password | gh api -XPUT /repos/$REPO/actions/secrets/PASSWORD --input - - ghsecret TF_VAR_token | gh api -XPUT /repos/$REPO/actions/secrets/TOKEN --input - -} - -# check if we have everything... -if ! which &>/dev/null ngrok jq gh curl tmux ghsecret; then - # color="\033[31;40m" - color="\033[31m" - nocolor="\033[0m" - echo - echo -e $color"Required command is missing!"$nocolor - echo - help - exit 1 -fi -if [ "$1" == "start" ]; then - start -elif [ "$1" == "stop" ]; then - stop -elif [ "$1" == "open" ]; then - open -elif [ "$1" == "force" ]; then - remove_secrets -elif [[ "$1" =~ -h|--help|help ]]; then - help -elif [ -z "$1" -o "$1" = "status" ]; then - get_status -else - help -fi -exit 0