diff --git a/.github/workflows/cli-test-pipeline.yml b/.github/workflows/cli-test-pipeline.yml index 14519d15..287cd146 100644 --- a/.github/workflows/cli-test-pipeline.yml +++ b/.github/workflows/cli-test-pipeline.yml @@ -8,9 +8,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Check out code uses: actions/checkout@v4 @@ -78,10 +78,14 @@ jobs: fi exit 1 - - name: Generate sample Terraform for message vpn client + - name: Failure to Generate sample Terraform due to invalid provider specific identifiers2 run: | - SOLACEBROKER_REGISTRY_OVERRIDE=registry.terraform.io/solaceproducts/solacebroker SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=http://localhost:8080 solacebroker_msg_vpn_rest_delivery_point.my-rdp default messageVpn.tf - cat messageVpn.tf + SOLACEBROKER_REGISTRY_OVERRIDE=registry.terraform.io/solaceproducts/solacebroker SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=http://localhost:8080 solacebroker_msg_vpn_rest_delivery_point.my-rdp default messageVpn.tf || error_code=$? + if [ $error_code -eq 1 ]; then + echo "\nExpected failure accurate" + exit 0 + fi + exit 1 - name: Generate sample Terraform for message vpn run: | @@ -91,13 +95,11 @@ jobs: - name: Test generated terraform on broker run: | # Create - sed -i '/# username = "admin"/c\username = "admin"' messageVpn.tf - sed -i '/# password = "admin"/c\password = "admin"' messageVpn.tf - terraform plan - terraform apply -auto-approve + TF_VAR_broker_url=http://localhost:8080 TF_VAR_broker_username=admin TF_VAR_broker_password=admin terraform plan + TF_VAR_broker_url=http://localhost:8080 TF_VAR_broker_username=admin TF_VAR_broker_password=admin terraform apply -auto-approve sleep 1 - - name: Create custom messageVPN with 21 messageVpn queues (Paging Test) + - name: Create custom messageVPN with 22 messageVpn queues (Paging Test) run: | pushd ci/broker_vpn_q3 # Create @@ -106,11 +108,16 @@ jobs: sleep 1 popd - - name: Confirm all 21 queues are present with paging (Paging Test) + - name: Confirm all 22 queues are present with paging (Paging Test) run: | SOLACEBROKER_REGISTRY_OVERRIDE=registry.terraform.io/solaceproducts/solacebroker SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=http://localhost:8080 solacebroker_msg_vpn.qn another messageVpn.tf cat messageVpn.tf - grep -o 'solacebroker_msg_vpn_queue" ' messageVpn.tf | wc -l | grep 21 + grep -o 'solacebroker_msg_vpn_queue" ' messageVpn.tf | wc -l | grep 22 + + - name: Test escape characters in resources + run: | + SOLACEBROKER_REGISTRY_OVERRIDE=registry.terraform.io/solaceproducts/solacebroker SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=http://localhost:8080 solacebroker_msg_vpn_queue_subscription.test another/aperfectly%2F%24%2Fvalid%2F%24topic%2F%24%24/foo%2Fbarr messageVpn.tf + cat messageVpn.tf - name: Create custom messageVPN with large config run: | @@ -125,6 +132,8 @@ jobs: run: | SOLACEBROKER_REGISTRY_OVERRIDE=registry.terraform.io/solaceproducts/solacebroker SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=http://localhost:8080 solacebroker_msg_vpn.test test messageVpn.tf cat messageVpn.tf + # also confirm comment is generated when ancillary object is refereced + cat messageVpn.tf | grep depends_on - name: Generate some resources( only msg_vpn_queue) for custom messageVPN file run: | diff --git a/.github/workflows/core-pipeline-dev.yml b/.github/workflows/core-pipeline-dev.yml index 815e1a23..bc2f7253 100644 --- a/.github/workflows/core-pipeline-dev.yml +++ b/.github/workflows/core-pipeline-dev.yml @@ -13,9 +13,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Check out code uses: actions/checkout@v4 @@ -28,14 +28,14 @@ jobs: - name: Checkout generator uses: actions/checkout@v4 with: - repository: SolaceDev/broker-terraform-provider-generator + repository: SolaceDev/broker-terraform-code-generator token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains your PAT - path: broker-terraform-provider-generator - ref: "v0.2.0" + path: broker-terraform-code-generator + ref: "main" - name: Build and install generator run: | - pushd broker-terraform-provider-generator + pushd broker-terraform-code-generator go mod tidy go install . ls ~/go/bin @@ -48,7 +48,7 @@ jobs: BASE=`pwd` pushd internal/broker/generated rm ./* - SEMP_V2_SWAGGER_CONFIG_EXTENDED_JSON="$BASE/ci/swagger_spec/$SWAGGER_SPEC_NAME" ~/go/bin/broker-terraform-provider-generator all + SEMP_V2_SWAGGER_CONFIG_EXTENDED_JSON="$BASE/ci/swagger_spec/$SWAGGER_SPEC_NAME" ~/go/bin/broker-terraform-code-generator software-provider all popd - name: Build provider @@ -76,7 +76,7 @@ jobs: id: check-changed-files with: files: | - !broker-terraform-provider-generator + !broker-terraform-code-generator - name: Run step only when any of the above files change. if: steps.check-changed-files.outputs.files_changed == 'true' @@ -90,7 +90,7 @@ jobs: committer_name: GitHub Actions committer_email: actions@github.com message: 'Updating generated source' - add: ". ':!broker-terraform-provider-generator'" + add: ". ':!broker-terraform-code-generator'" new_branch: GeneratedSourceUpdates-${{ github.ref_name }} - name: Create pull request diff --git a/.github/workflows/core-pipeline-main-branch-only.yml b/.github/workflows/core-pipeline-main-branch-only.yml index d3350ea0..995e556e 100644 --- a/.github/workflows/core-pipeline-main-branch-only.yml +++ b/.github/workflows/core-pipeline-main-branch-only.yml @@ -11,9 +11,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Check out code uses: actions/checkout@v4 diff --git a/.github/workflows/prep-internal-release.yml b/.github/workflows/prep-internal-release.yml index a4daccfe..dc142cb3 100644 --- a/.github/workflows/prep-internal-release.yml +++ b/.github/workflows/prep-internal-release.yml @@ -14,9 +14,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Checkout the code uses: actions/checkout@v2 @@ -85,15 +85,12 @@ jobs: sed -i "s/productName=.*$/productName=${{ github.event.repository.name }}/g" ci/whitesource/whitesource-agent.config sed -i "s/projectName=.*$/projectName=${{ github.event.repository.name }}/g" ci/whitesource/whitesource-agent.config cat ci/whitesource/whitesource-agent.config | grep productVersion - - - name: Run Whitesource Action to update licenses - uses: SolaceDev/Mend-Scan-GHA@v1.0.0 - with: - wssURL: https://saas.whitesourcesoftware.com/agent - apiKey: ${{ secrets.WSS_API_KEY }} - productName: ${{ github.event.repository.name }} - projectName: ${{ github.event.repository.name }} - configFile: 'ci/whitesource/whitesource-agent.config' + curl https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar --output /ci/whitesource/wss-unified-agent.jar + export WS_APIKEY="${{ secrets.WSS_API_KEY }}" + export WS_WSS_URL="https://saas.whitesourcesoftware.com/agent" + export WS_PRODUCTNAME="${{ github.event.repository.name }}" + export WS_PROJECTNAME="${{ github.event.repository.name }}" + java -jar ci/whitesource/wss-unified-agent.jar -c ci/whitesource/whitesource-agent.config -d . - name: Create the release branch uses: peterjgrainger/action-create-branch@v2.4.0 @@ -110,20 +107,20 @@ jobs: # with: # branch: ${{ env.NEXT_DEV_VERSION }} - - name: Create next dev branch - if: env.NEXT_DEV_VERSION != '' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git checkout -b ${{ env.NEXT_DEV_VERSION }} - VERSION=$(echo "${{ env.NEXT_DEV_VERSION }}" | cut -d'v' -f2) - sed -i "s/version =.*$/version = \"${VERSION}\"/g" version.go - git commit -a -m "Uprev'd version to ${VERSION}" - git push --set-upstream origin ${{ env.NEXT_DEV_VERSION }} - - - name: Delete last dev branch - if: env.NEXT_DEV_VERSION != '' - uses: dawidd6/action-delete-branch@v3 - with: - github_token: ${{github.token}} - branches: "${{ github.ref_name }}" + # - name: Create next dev branch + # if: env.NEXT_DEV_VERSION != '' + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # run: | + # git checkout -b ${{ env.NEXT_DEV_VERSION }} + # VERSION=$(echo "${{ env.NEXT_DEV_VERSION }}" | cut -d'v' -f2) + # sed -i "s/version =.*$/version = \"${VERSION}\"/g" version.go + # git commit -a -m "Uprev'd version to ${VERSION}" + # git push --set-upstream origin ${{ env.NEXT_DEV_VERSION }} + + # - name: Delete last dev branch + # if: env.NEXT_DEV_VERSION != '' + # uses: dawidd6/action-delete-branch@v3 + # with: + # github_token: ${{github.token}} + # branches: "${{ github.ref_name }}" diff --git a/.github/workflows/provider-acceptance-test.yml b/.github/workflows/provider-acceptance-test.yml index bd402fc2..5431dfa6 100644 --- a/.github/workflows/provider-acceptance-test.yml +++ b/.github/workflows/provider-acceptance-test.yml @@ -9,9 +9,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Check out code uses: actions/checkout@v4 diff --git a/.github/workflows/provider-test-pipeline.yml b/.github/workflows/provider-test-pipeline.yml index 822daecb..9334eb77 100644 --- a/.github/workflows/provider-test-pipeline.yml +++ b/.github/workflows/provider-test-pipeline.yml @@ -8,9 +8,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Check out code uses: actions/checkout@v4 @@ -46,7 +46,6 @@ jobs: pushd ci/broker_vpn_q terraform plan popd - - name: Test provider on test broker run: | @@ -69,10 +68,42 @@ jobs: rm terraform.tfstate* terraform import solacebroker_msg_vpn.newone new popd - # larger config + + - name: Test larger config + run: | pushd ci/bigtest terraform plan terraform apply -auto-approve terraform plan terraform destroy -auto-approve popd + + - name: Test unknown provider param, proving that the solace provider can tolerate unknown provider params until later when it is defined + run: | + pushd ci/provider_dependency + terraform init # sets up the random provider, which will be used to generate a random password (which will be used but login will fail) + bash -c "terraform apply -auto-approve &> results.out" || echo "Expecting terraform apply to fail" + cat results.out | grep "401 Unauthorized" + popd + + # Skipping state upgrade test until using new SEMP schema + # - name: Test state upgrade + # run: | + # pushd ci/state_upgrade + # bash -c "terraform plan &> results.out" || echo "Expecting terraform plan to fail" + # cat results.out | grep "Found deprecated state key 'deprecated_att" + # cp terraform.tfstate terraform.tfstate.bak + # sed -i '/deprecated_att/d' terraform.tfstate # remove deprecated non-null attributes from state + # terraform plan | grep "3 to add" + # terraform apply -auto-approve | grep "Apply complete" + # # TODO: GH actions fails on following commands, need to investigate + # # diff terraform.tfstate terraform.tfstate.bak > diff.out + # # ls -l + # # cat diff.out + # # grep "> \"schema_version\": 0," diff.out | wc -l | grep 3 # verify schema has been upgraded + # # grep "> \"deprecated1\": null," diff.out # verify deprecated has been removed + # # grep "> \"deprecated2\": null," diff.out # verify deprecated has been removed + # # grep "< \"clear_percent\": 20," diff.out # verify string has been converted to number + # # grep "< \"egress_enabled\": true," diff.out # verify string has been converted to bool + # # terraform destroy -auto-approve + # popd diff --git a/.github/workflows/verify-registry-release.yml b/.github/workflows/verify-registry-release.yml index 31e483ea..c52edb84 100644 --- a/.github/workflows/verify-registry-release.yml +++ b/.github/workflows/verify-registry-release.yml @@ -18,9 +18,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Check out code uses: actions/checkout@v4 diff --git a/README.md b/README.md index 5859c769..e6b8c4b3 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ We recommended that you familiarize yourself with Solace technology and broker m ### Requirements * [Terraform](https://www.terraform.io/downloads) (>= 1.0) -* [Go](https://go.dev/doc/install) (1.21) +* [Go](https://go.dev/doc/install) (1.22) * [Make](https://www.gnu.org/software/make/) ### Building diff --git a/ci/bigtest/test.tf b/ci/bigtest/test.tf index b24b95bd..a6d87e78 100644 --- a/ci/bigtest/test.tf +++ b/ci/bigtest/test.tf @@ -93,7 +93,6 @@ resource "solacebroker_broker" "broker" { tls_standard_domain_certificate_authorities_enabled = false tls_ticket_lifetime = 1 web_manager_allow_unencrypted_wizards_enabled = true - web_manager_customization = "test" web_manager_redirect_http_enabled = false web_manager_redirect_http_override_tls_port = 8080 } @@ -440,7 +439,6 @@ resource "solacebroker_msg_vpn_bridge_remote_msg_vpn" "msg_vpn_bridge_remote_msg msg_vpn_name = solacebroker_msg_vpn.msg_vpn.msg_vpn_name bridge_name = solacebroker_msg_vpn_bridge.msg_vpn_bridge.bridge_name bridge_virtual_router = solacebroker_msg_vpn_bridge.msg_vpn_bridge.bridge_virtual_router - remote_msg_vpn_interface = "" remote_msg_vpn_location = "192.168.1.1:1234" remote_msg_vpn_name = "default" client_username = "test" diff --git a/ci/broker_vpn_q3/testconfig3.tf b/ci/broker_vpn_q3/testconfig3.tf index 34009702..410722e1 100644 --- a/ci/broker_vpn_q3/testconfig3.tf +++ b/ci/broker_vpn_q3/testconfig3.tf @@ -51,7 +51,7 @@ resource "solacebroker_msg_vpn_queue" "qds" { resource "solacebroker_msg_vpn_queue" "qedddss" { msg_vpn_name = solacebroker_msg_vpn.another.msg_vpn_name - queue_name = "green" + queue_name = "#green" ingress_enabled = true egress_enabled = true max_msg_size = 54321 @@ -244,3 +244,17 @@ resource "solacebroker_msg_vpn_queue_subscription" "ok9" { queue_name = solacebroker_msg_vpn_queue.ok9.queue_name subscription_topic = "foo/ok9" } + +resource "solacebroker_msg_vpn_queue" "q" { + msg_vpn_name = solacebroker_msg_vpn.another.msg_vpn_name + queue_name = "aperfectly/$/valid/$topic/$$" + # ingress_enabled = true + egress_enabled = true + max_msg_size = 54321 +} + +resource "solacebroker_msg_vpn_queue_subscription" "foo2" { + msg_vpn_name = solacebroker_msg_vpn_queue.q.msg_vpn_name + queue_name = solacebroker_msg_vpn_queue.q.queue_name + subscription_topic = "foo/barr" +} diff --git a/ci/broker_vpn_test/generatortest.tf b/ci/broker_vpn_test/generatortest.tf index 117df228..2d8dd298 100644 --- a/ci/broker_vpn_test/generatortest.tf +++ b/ci/broker_vpn_test/generatortest.tf @@ -649,7 +649,7 @@ resource "solacebroker_msg_vpn_queue" "msg_vpn_queue" { max_msg_spool_usage = 9999 max_redelivery_count = 9 max_ttl = 9 - owner = "test" + owner = "#kafka/tx/test" partition_count = 1 partition_rebalance_delay = 6 partition_rebalance_max_handoff_time = 4 diff --git a/ci/provider_dependency/config.tf b/ci/provider_dependency/config.tf new file mode 100644 index 00000000..156f8f3b --- /dev/null +++ b/ci/provider_dependency/config.tf @@ -0,0 +1,34 @@ +terraform { + required_providers { + solacebroker = { + source = "solaceproducts/solacebroker" + } + random = { + source = "hashicorp/random" + } + } +} + +resource "random_password" "admin_password" { + length = 12 + special = false +} + +output "admin_password" { + value = random_password.admin_password.result + sensitive = true +} + +provider "solacebroker" { + username = "admin" + password = random_password.admin_password.result + url = "http://localhost:8080" +} + +resource "solacebroker_msg_vpn_queue" "q" { + msg_vpn_name = "default" + queue_name = "red" + ingress_enabled = true + egress_enabled = true + max_msg_size = 54321 +} diff --git a/ci/state_upgrade/terraform.tfstate b/ci/state_upgrade/terraform.tfstate new file mode 100644 index 00000000..e7ef1637 --- /dev/null +++ b/ci/state_upgrade/terraform.tfstate @@ -0,0 +1,231 @@ +{ + "version": 4, + "terraform_version": "1.7.1", + "serial": 4, + "lineage": "3ee5be41-e59f-2efc-f799-431adeabaf83", + "outputs": {}, + "resources": [ + { + "mode": "managed", + "type": "solacebroker_msg_vpn", + "name": "newone", + "provider": "provider[\"registry.terraform.io/solaceproducts/solacebroker\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alias": null, + "authentication_basic_enabled": true, + "authentication_basic_profile_name": null, + "authentication_basic_radius_domain": null, + "authentication_basic_type": null, + "authentication_client_cert_allow_api_provided_username_enabled": null, + "authentication_client_cert_certificate_matching_rules_enabled": null, + "authentication_client_cert_enabled": null, + "authentication_client_cert_max_chain_depth": null, + "authentication_client_cert_revocation_check_mode": null, + "authentication_client_cert_username_source": null, + "authentication_client_cert_validate_date_enabled": null, + "authentication_kerberos_allow_api_provided_username_enabled": null, + "authentication_kerberos_enabled": null, + "authentication_oauth_default_profile_name": null, + "authentication_oauth_enabled": null, + "authorization_ldap_group_membership_attribute_name": null, + "authorization_ldap_trim_client_username_domain_enabled": null, + "authorization_profile_name": null, + "authorization_type": null, + "bridging_tls_server_cert_max_chain_depth": null, + "bridging_tls_server_cert_validate_date_enabled": null, + "bridging_tls_server_cert_validate_name_enabled": null, + "deprecated1": null, + "deprecated_att1": "deprecated", + "dmr_enabled": null, + "enabled": true, + "event_connection_count_threshold": null, + "event_egress_flow_count_threshold": null, + "event_egress_msg_rate_threshold": { + "clear_value": 40, + "deprecated_att2": "deprecated", + "set_value": 50 + }, + "event_endpoint_count_threshold": null, + "event_ingress_flow_count_threshold": null, + "event_ingress_msg_rate_threshold": { + "clear_value": 40, + "deprecated2": null, + "set_value": 50 + }, + "event_large_msg_threshold": null, + "event_log_tag": null, + "event_msg_spool_usage_threshold": null, + "event_publish_client_enabled": null, + "event_publish_msg_vpn_enabled": null, + "event_publish_subscription_mode": null, + "event_publish_topic_format_mqtt_enabled": null, + "event_publish_topic_format_smf_enabled": null, + "event_service_amqp_connection_count_threshold": null, + "event_service_mqtt_connection_count_threshold": null, + "event_service_rest_incoming_connection_count_threshold": null, + "event_service_smf_connection_count_threshold": null, + "event_service_web_connection_count_threshold": null, + "event_subscription_count_threshold": null, + "event_transacted_session_count_threshold": null, + "event_transaction_count_threshold": { + "clear_percent": "20", + "clear_value": null, + "set_percent": 80, + "set_value": null + }, + "export_subscriptions_enabled": null, + "jndi_enabled": true, + "max_connection_count": null, + "max_egress_flow_count": null, + "max_endpoint_count": null, + "max_ingress_flow_count": null, + "max_kafka_broker_connection_count": null, + "max_msg_spool_usage": null, + "max_subscription_count": null, + "max_transacted_session_count": null, + "max_transaction_count": null, + "mqtt_retain_max_memory": null, + "msg_vpn_name": "new2", + "replication_ack_propagation_interval_msg_count": null, + "replication_bridge_authentication_basic_client_username": null, + "replication_bridge_authentication_basic_password": null, + "replication_bridge_authentication_client_cert_content": null, + "replication_bridge_authentication_client_cert_password": null, + "replication_bridge_authentication_scheme": null, + "replication_bridge_compressed_data_enabled": null, + "replication_bridge_egress_flow_window_size": null, + "replication_bridge_retry_delay": null, + "replication_bridge_tls_enabled": null, + "replication_bridge_unidirectional_client_profile_name": null, + "replication_enabled": null, + "replication_enabled_queue_behavior": null, + "replication_queue_max_msg_spool_usage": 60000, + "replication_queue_reject_msg_to_sender_on_discard_enabled": false, + "replication_reject_msg_when_sync_ineligible_enabled": null, + "replication_role": null, + "replication_transaction_mode": null, + "rest_tls_server_cert_max_chain_depth": null, + "rest_tls_server_cert_validate_date_enabled": null, + "rest_tls_server_cert_validate_name_enabled": null, + "semp_over_msg_bus_admin_client_enabled": null, + "semp_over_msg_bus_admin_distributed_cache_enabled": null, + "semp_over_msg_bus_admin_enabled": null, + "semp_over_msg_bus_enabled": null, + "semp_over_msg_bus_show_enabled": null, + "service_amqp_max_connection_count": null, + "service_amqp_plain_text_enabled": null, + "service_amqp_plain_text_listen_port": null, + "service_amqp_tls_enabled": null, + "service_amqp_tls_listen_port": null, + "service_mqtt_authentication_client_cert_request": null, + "service_mqtt_max_connection_count": null, + "service_mqtt_plain_text_enabled": null, + "service_mqtt_plain_text_listen_port": null, + "service_mqtt_tls_enabled": null, + "service_mqtt_tls_listen_port": null, + "service_mqtt_tls_web_socket_enabled": null, + "service_mqtt_tls_web_socket_listen_port": null, + "service_mqtt_web_socket_enabled": null, + "service_mqtt_web_socket_listen_port": null, + "service_rest_incoming_authentication_client_cert_request": null, + "service_rest_incoming_authorization_header_handling": null, + "service_rest_incoming_max_connection_count": null, + "service_rest_incoming_plain_text_enabled": null, + "service_rest_incoming_plain_text_listen_port": null, + "service_rest_incoming_tls_enabled": null, + "service_rest_incoming_tls_listen_port": null, + "service_rest_mode": null, + "service_rest_outgoing_max_connection_count": null, + "service_smf_max_connection_count": null, + "service_smf_plain_text_enabled": null, + "service_smf_tls_enabled": null, + "service_web_authentication_client_cert_request": null, + "service_web_max_connection_count": null, + "service_web_plain_text_enabled": null, + "service_web_tls_enabled": null, + "tls_allow_downgrade_to_plain_text_enabled": null + }, + "sensitive_attributes": [], + "private": "eyJkZWZhdWx0cyI6ImV5SmhkWFJvWlc1MGFXTmhkR2x2YmtKaGMybGpVSEp2Wm1sc1pVNWhiV1VpT2lKa1pXWmhkV3gwSWl3aWJXRjRRMjl1Ym1WamRHbHZia052ZFc1MElqb3hNREF3TENKdFlYaExZV1pyWVVKeWIydGxja052Ym01bFkzUnBiMjVEYjNWdWRDSTZNQ3dpYldGNFUzVmljMk55YVhCMGFXOXVRMjkxYm5RaU9qVXdNREF3TUN3aWJXRjRWSEpoYm5OaFkzUmxaRk5sYzNOcGIyNURiM1Z1ZENJNk1UQXdNQ3dpYldGNFZISmhibk5oWTNScGIyNURiM1Z1ZENJNk5UQXdNQ3dpYzJWeWRtbGpaVUZ0Y1hCTllYaERiMjV1WldOMGFXOXVRMjkxYm5RaU9qRXdNREFzSW5ObGNuWnBZMlZOY1hSMFRXRjRRMjl1Ym1WamRHbHZia052ZFc1MElqb3hNREF3TENKelpYSjJhV05sVW1WemRFbHVZMjl0YVc1blRXRjRRMjl1Ym1WamRHbHZia052ZFc1MElqb3hNREF3TENKelpYSjJhV05sVW1WemRFOTFkR2R2YVc1blRXRjRRMjl1Ym1WamRHbHZia052ZFc1MElqb3hNREF3TENKelpYSjJhV05sVTIxbVRXRjRRMjl1Ym1WamRHbHZia052ZFc1MElqb3hNREF3TENKelpYSjJhV05sVjJWaVRXRjRRMjl1Ym1WamRHbHZia052ZFc1MElqb3hNREF3ZlE9PSJ9" + } + ] + }, + { + "mode": "managed", + "type": "solacebroker_msg_vpn_queue", + "name": "q", + "provider": "provider[\"registry.terraform.io/solaceproducts/solacebroker\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "access_type": null, + "consumer_ack_propagation_enabled": null, + "dead_msg_queue": null, + "delivery_count_enabled": null, + "delivery_delay": null, + "egress_enabled": "true", + "event_bind_count_threshold": null, + "event_msg_spool_usage_threshold": null, + "event_reject_low_priority_msg_limit_threshold": null, + "ingress_enabled": null, + "max_bind_count": null, + "max_delivered_unacked_msgs_per_flow": null, + "max_msg_size": 54322, + "max_msg_spool_usage": null, + "max_redelivery_count": null, + "max_ttl": null, + "msg_vpn_name": "new2", + "owner": null, + "partition_count": null, + "partition_rebalance_delay": null, + "partition_rebalance_max_handoff_time": null, + "permission": null, + "queue_name": "aperfectly/$/valid/$topic/$$", + "redelivery_delay_enabled": null, + "redelivery_delay_initial_interval": null, + "redelivery_delay_max_interval": null, + "redelivery_delay_multiplier": null, + "redelivery_enabled": null, + "reject_low_priority_msg_enabled": null, + "reject_low_priority_msg_limit": null, + "reject_msg_to_sender_on_discard_behavior": null, + "respect_msg_priority_enabled": null, + "respect_ttl_enabled": null + }, + "sensitive_attributes": [], + "private": "eyJkZWZhdWx0cyI6ImUzMD0ifQ==", + "dependencies": [ + "solacebroker_msg_vpn.newone" + ] + } + ] + }, + { + "mode": "managed", + "type": "solacebroker_msg_vpn_queue_subscription", + "name": "foo", + "provider": "provider[\"registry.terraform.io/solaceproducts/solacebroker\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "msg_vpn_name": "new2", + "queue_name": "aperfectly/$/valid/$topic/$$", + "subscription_topic": "foo/bar" + }, + "sensitive_attributes": [], + "private": "eyJkZWZhdWx0cyI6ImUzMD0ifQ==", + "dependencies": [ + "solacebroker_msg_vpn.newone", + "solacebroker_msg_vpn_queue.q" + ] + } + ] + } + ], + "check_results": null +} diff --git a/ci/state_upgrade/testconfig.tf b/ci/state_upgrade/testconfig.tf new file mode 100644 index 00000000..326d3e1b --- /dev/null +++ b/ci/state_upgrade/testconfig.tf @@ -0,0 +1,54 @@ +terraform { + required_providers { + solacebroker = { + source = "registry.terraform.io/solaceproducts/solacebroker" + } + } +} + +provider solacebroker { + username = "admin" + password = "admin" + # url = "http://192.168.132.23:8080" + url = "http://localhost:8080" + # skip_api_check = true + # request_min_interval = "1s" + insecure_skip_verify = true + retries = 10 + retry_min_interval = "2s" + retry_max_interval = "20s" + request_timeout_duration = "120s" +} + +resource "solacebroker_msg_vpn" "newone" { + msg_vpn_name = "new2" + # set to default + authentication_basic_enabled = true + replication_queue_max_msg_spool_usage = 60000 + # set to non-default + enabled = true + jndi_enabled = true + #jndi_enabled = false + replication_queue_reject_msg_to_sender_on_discard_enabled = false + event_transaction_count_threshold = { "clear_percent" = 20, "set_percent" = 80 } + # set to broker default + # max_connection_count = 100 + # not set to broker default + # max_subscription_count = 27 + event_egress_msg_rate_threshold = { "clear_value" = 40, "set_value" = 50 } + event_ingress_msg_rate_threshold = { "clear_value" = 40, "set_value" = 50 } +} + +resource "solacebroker_msg_vpn_queue" "q" { + msg_vpn_name = solacebroker_msg_vpn.newone.msg_vpn_name + queue_name = "aperfectly/$/valid/$topic/$$" + # ingress_enabled = true + egress_enabled = true + max_msg_size = 54322 +} + +resource "solacebroker_msg_vpn_queue_subscription" "foo" { + msg_vpn_name = solacebroker_msg_vpn_queue.q.msg_vpn_name + queue_name = solacebroker_msg_vpn_queue.q.queue_name + subscription_topic = "foo/bar" +} diff --git a/cmd/broker/client.go b/cmd/broker/client.go deleted file mode 100644 index 03f779cc..00000000 --- a/cmd/broker/client.go +++ /dev/null @@ -1,76 +0,0 @@ -// terraform-provider-solacebroker -// -// Copyright 2024 Solace Corporation. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package broker - -import ( - "os" - "strings" - terraform "terraform-provider-solacebroker/cmd/command" - "terraform-provider-solacebroker/internal/broker" - "terraform-provider-solacebroker/internal/semp" - "time" -) - -func CliClient(url string) *semp.Client { - username := terraform.StringWithDefaultFromEnv("username", true, "") - password := terraform.StringWithDefaultFromEnv("password", false, "") - bearerToken := terraform.StringWithDefaultFromEnv("bearer_token", false, "") - retries, err := terraform.Int64WithDefaultFromEnv("retries", false, 10) - if err != nil { - terraform.LogCLIError("\nError: Unable to parse provider attribute. " + err.Error()) - os.Exit(1) - } - retryMinInterval, err := terraform.DurationWithDefaultFromEnv("retry_min_interval", false, 3*time.Second) - if err != nil { - terraform.LogCLIError("\nError: Unable to parse provider attribute. " + err.Error()) - os.Exit(1) - } - retryMaxInterval, err := terraform.DurationWithDefaultFromEnv("retry_max_interval", false, 30*time.Second) - if err != nil { - terraform.LogCLIError("\nError: Unable to parse provider attribute. " + err.Error()) - os.Exit(1) - } - requestTimeoutDuration, err := terraform.DurationWithDefaultFromEnv("request_timeout_duration", false, time.Minute) - if err != nil { - terraform.LogCLIError("\nError: Unable to parse provider attribute. " + err.Error()) - os.Exit(1) - } - requestMinInterval, err := terraform.DurationWithDefaultFromEnv("request_min_interval", false, 100*time.Millisecond) - if err != nil { - terraform.LogCLIError("\nError: Unable to parse provider attribute. " + err.Error()) - os.Exit(1) - } - insecure_skip_verify, err := terraform.BooleanWithDefaultFromEnv("insecure_skip_verify", false, false) - if err != nil { - terraform.LogCLIError("\nError: Unable to parse provider attribute. " + err.Error()) - os.Exit(1) - } - client := semp.NewClient( - getFullSempAPIURL(url), - insecure_skip_verify, - false, // this is a client for the generator - semp.BasicAuth(username, password), - semp.BearerToken(bearerToken), - semp.Retries(uint(retries), retryMinInterval, retryMaxInterval), - semp.RequestLimits(requestTimeoutDuration, requestMinInterval)) - return client -} - -func getFullSempAPIURL(url string) string { - url = strings.TrimSuffix(url, "/") - baseBath := strings.TrimPrefix(broker.SempDetail.BasePath, "/") - return url + "/" + baseBath -} diff --git a/cmd/client/cliclient.go b/cmd/client/cliclient.go new file mode 100644 index 00000000..2dfa0c83 --- /dev/null +++ b/cmd/client/cliclient.go @@ -0,0 +1,41 @@ +// terraform-provider-solacebroker +// +// Copyright 2024 Solace Corporation. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package client + +import ( + "strings" + "terraform-provider-solacebroker/cmd/generator" + "terraform-provider-solacebroker/internal/broker" + "terraform-provider-solacebroker/internal/semp" +) + +func CliClient(cliParams generator.CliParams) *semp.Client { + client := semp.NewClient( + getFullSempAPIURL(*cliParams.Url), + *cliParams.Insecure_skip_verify, + false, // this is a client for the generator + semp.BasicAuth(*cliParams.Username, *cliParams.Password), + semp.BearerToken(*cliParams.Bearer_token), + semp.Retries(uint(*cliParams.Retries), *cliParams.Retry_min_interval, *cliParams.Retry_max_interval), + semp.RequestLimits(*cliParams.Request_timeout_duration, *cliParams.Request_min_interval)) + return client +} + +func getFullSempAPIURL(url string) string { + url = strings.TrimSuffix(url, "/") + baseBath := strings.TrimPrefix(broker.SempDetail.BasePath, "/") + return url + "/" + baseBath +} diff --git a/cmd/command/configgenerator.go b/cmd/command/configgenerator.go deleted file mode 100644 index c9540289..00000000 --- a/cmd/command/configgenerator.go +++ /dev/null @@ -1,210 +0,0 @@ -// terraform-provider-solacebroker -// -// Copyright 2024 Solace Corporation. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package terraform - -import ( - "context" - "errors" - "fmt" - "net/http" - "os" - "regexp" - "strings" - internalbroker "terraform-provider-solacebroker/internal/broker" - "terraform-provider-solacebroker/internal/broker/generated" - "terraform-provider-solacebroker/internal/semp" - - "golang.org/x/exp/slices" -) - -type BrokerObjectType string - -type GeneratorTerraformOutput struct { - TerraformOutput map[string]ResourceConfig - SEMPDataResponse map[string]map[string]any -} - -var BrokerObjectRelationship = map[BrokerObjectType][]BrokerObjectType{} - -type BrokerRelationParameterPath struct { - path string - terraformName string -} - -var ObjectNamesCount = map[string]int{} - -func CreateBrokerObjectRelationships() { - - //loop through entities - terraformNamePathMap := map[string]BrokerRelationParameterPath{} - for _, ds := range internalbroker.Entities { - rex := regexp.MustCompile(`{[^{}]*}`) - matches := rex.FindAllStringSubmatch(ds.PathTemplate, -1) - - BrokerObjectRelationship[BrokerObjectType(ds.TerraformName)] = []BrokerObjectType{} - - for i := range matches { - - if i == 0 || len(matches) <= 1 { - var firstParameter string - firstParameter = strings.TrimPrefix(matches[0][0], "{") - firstParameter = strings.TrimSuffix(firstParameter, "}") - - _, ok := terraformNamePathMap[firstParameter] - if !ok { - terraformNamePathMap[firstParameter] = BrokerRelationParameterPath{ - ds.PathTemplate, - ds.TerraformName, - } - } - } else { - firstParameter := strings.TrimPrefix(matches[0][0], "{") - firstParameter = strings.TrimSuffix(firstParameter, "}") - - //check if parent path is part of child path before we add - firstParameterRelationship, firstParameterRelationshipExist := terraformNamePathMap[firstParameter] - if firstParameterRelationshipExist && strings.Contains(ds.PathTemplate, firstParameterRelationship.path) { - - children, ok := BrokerObjectRelationship[BrokerObjectType(firstParameterRelationship.terraformName)] - if !ok { - BrokerObjectRelationship[BrokerObjectType(firstParameterRelationship.terraformName)] = []BrokerObjectType{} - children = []BrokerObjectType{} - } else { - if !slices.Contains(children, BrokerObjectType(ds.TerraformName)) && ds.TerraformName != firstParameterRelationship.terraformName { - children = append(children, BrokerObjectType(ds.TerraformName)) - } - //confirm if this should be child of child - for k := range children { - childrenOfChild, childrenOfChildExists := BrokerObjectRelationship[children[k]] - if childrenOfChildExists { - if !slices.Contains(childrenOfChild, BrokerObjectType(ds.TerraformName)) && - strings.Contains(ds.TerraformName, string(children[k])) && ds.TerraformName != string(children[k]) { - childrenOfChild = append(childrenOfChild, BrokerObjectType(ds.TerraformName)) - } - } - BrokerObjectRelationship[children[k]] = childrenOfChild - } - } - - BrokerObjectRelationship[BrokerObjectType(firstParameterRelationship.terraformName)] = children - } else { - - terraformNamePathMap[firstParameter] = BrokerRelationParameterPath{ - ds.PathTemplate, - ds.TerraformName, - } - - } - } - } - } -} - -func ParseTerraformObject(ctx context.Context, client semp.Client, resourceName string, brokerObjectTerraformName string, providerSpecificIdentifier string, parentBrokerResourceAttributesRelationship map[string]string, parentResult map[string]any) GeneratorTerraformOutput { - var objectName string - tfObject := map[string]ResourceConfig{} - tfObjectSempDataResponse := map[string]map[string]any{} - entityToRead := internalbroker.EntityInputs{} - for _, ds := range internalbroker.Entities { - if strings.ToLower(ds.TerraformName) == strings.ToLower(brokerObjectTerraformName) { - entityToRead = ds - break - } - } - var path string - - if len(parentResult) > 0 { - path, _ = ResolveSempPathWithParent(entityToRead.PathTemplate, parentResult) - } else { - path, _ = ResolveSempPath(entityToRead.PathTemplate, providerSpecificIdentifier) - } - - if len(path) > 0 { - - sempData, err := client.RequestWithoutBodyForGenerator(ctx, generated.BasePath, http.MethodGet, path, []map[string]any{}) - if err != nil { - if err == semp.ErrResourceNotFound { - // continue if error is resource not found - if len(parentResult) > 0 { - print("..") - } - sempData = []map[string]any{} - } else if errors.Is(err, semp.ErrBadRequest) { - // continue if error is also bad request - if len(parentResult) > 0 { - print("..") - } - sempData = []map[string]any{} - } else { - LogCLIError("SEMP call failed. " + err.Error() + " on path " + path) - os.Exit(1) - } - } - - resourceKey := "solacebroker_" + brokerObjectTerraformName + " " + resourceName - - resourceValues, err := GenerateTerraformString(entityToRead.Attributes, sempData, parentBrokerResourceAttributesRelationship, brokerObjectTerraformName) - - //check resource names used and deduplicate to avoid collision - for i := range resourceValues { - totalOccurrence := 1 - objectName = strings.ToLower(resourceKey) + GetNameForResource(strings.ToLower(resourceKey), resourceValues[i]) - count, objectNameExists := ObjectNamesCount[objectName] - if objectNameExists { - totalOccurrence = count + 1 - } - ObjectNamesCount[objectName] = totalOccurrence - objectName = objectName + "_" + fmt.Sprint(totalOccurrence) - tfObject[objectName] = resourceValues[i] - tfObjectSempDataResponse[objectName] = sempData[i] - } - } - return GeneratorTerraformOutput{ - TerraformOutput: tfObject, - SEMPDataResponse: tfObjectSempDataResponse, - } -} - -func GetNameForResource(resourceTerraformName string, attributeResourceTerraform ResourceConfig) string { - - resourceName := GenerateRandomString(6) //use generated if not able to identify - - resourceTerraformName = strings.Split(resourceTerraformName, " ")[0] - resourceTerraformName = strings.ReplaceAll(strings.ToLower(resourceTerraformName), "solacebroker_", "") - - //Get identifying attribute name to differentiate from multiples - for _, ds := range internalbroker.Entities { - if ds.TerraformName == resourceTerraformName { - for _, attr := range ds.Attributes { - if attr.Identifying && - (strings.Contains(strings.ToLower(attr.TerraformName), "name") || - strings.Contains(strings.ToLower(attr.TerraformName), "topic")) { - // intentionally continue looping till we get the best name - attr, found := attributeResourceTerraform.ResourceAttributes[attr.TerraformName] - value := attr.AttributeValue - if strings.Contains(value, ".") { - continue - } - if found { - //sanitize name - resourceName = "_" + value - } - } - } - } - } - return SanitizeHclIdentifierName(resourceName) -} diff --git a/cmd/command/configgenerator_test.go b/cmd/command/configgenerator_test.go deleted file mode 100644 index 82318fde..00000000 --- a/cmd/command/configgenerator_test.go +++ /dev/null @@ -1,114 +0,0 @@ -// terraform-provider-solacebroker -// -// Copyright 2024 Solace Corporation. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package terraform - -import ( - "testing" -) - -func TestCreateBrokerObjectRelationships(t *testing.T) { - tests := []struct { - name string - }{ - {"Generate Broker Relationship"}, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - CreateBrokerObjectRelationships() - if len(BrokerObjectRelationship) == 0 { - t.Errorf("Broker relationship not built ") - } - _, exist := BrokerObjectRelationship["msg_vpn"] - if !exist { - t.Errorf("Broker relationship does not contain msgVPn relation") - } - }) - } -} - -func TestGetNameForResource(t *testing.T) { - type args struct { - resourceTerraformName string - attributeResourceTerraform ResourceConfig - } - tests := []struct { - name string - args args - want string - }{ - { - "GetNameForMsgVPN", - args{ - resourceTerraformName: "solacebroker_msg_vpn qn", - attributeResourceTerraform: ResourceConfig{ - ResourceAttributes: map[string]ResourceAttributeInfo{"msg_vpn_name": { - "test", - "no comment", - }, - "ingress": { - "0", - "comment here", - }, - }, - }, - }, - "_test", - }, - { - "GetNameForAclProfile", - args{ - resourceTerraformName: "solacebroker_msg_vpn_acl_profile acl", - attributeResourceTerraform: ResourceConfig{ - ResourceAttributes: map[string]ResourceAttributeInfo{"acl_profile_name": { - "default", - "no comment", - }, - "random": { - "0", - "comment here", - }, - }, - }, - }, - "_default", - }, - { - "GetNameForTopicName", - args{ - resourceTerraformName: "solacebroker_msg_vpn_jndi_topic topic", - attributeResourceTerraform: ResourceConfig{ - ResourceAttributes: map[string]ResourceAttributeInfo{"topic_name": { - "random", - "no comment", - }, - "mock": { - "parameter", - "comment here", - }, - }, - }, - }, - "_random", - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if got := GetNameForResource(tt.args.resourceTerraformName, tt.args.attributeResourceTerraform); got != tt.want { - t.Errorf("GetNameForResource() = %v, want %v", got, tt.want) - } - }) - } -} diff --git a/cmd/command/templates/terraform.template b/cmd/command/templates/terraform.template deleted file mode 100644 index 2a0a923f..00000000 --- a/cmd/command/templates/terraform.template +++ /dev/null @@ -1,25 +0,0 @@ - -terraform { - required_providers { - solacebroker = { - source = "registry.terraform.io/solaceproducts/solacebroker" - } - } -} - -provider "solacebroker" { - # username = "admin" # This is a placeholder. - # password = "admin" # This is a placeholder. - url = "{{.BrokerURL}}" -} - -{{range .BrokerResources}} - -{{range $k, $v := . -}} -{{$kslice := splitHCLResourceName $k}} -resource "{{readHCLResourceName $kslice 0 }}" "{{readHCLResourceName $kslice 1}}" { -{{$v}} -} -{{end -}} - -{{end}} \ No newline at end of file diff --git a/cmd/command/util.go b/cmd/command/util.go deleted file mode 100644 index ed5ddc64..00000000 --- a/cmd/command/util.go +++ /dev/null @@ -1,437 +0,0 @@ -// terraform-provider-solacebroker -// -// Copyright 2024 Solace Corporation. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package terraform - -import ( - "bytes" - "encoding/json" - "errors" - "fmt" - "math/rand" - "net/url" - "os" - "reflect" - "regexp" - "sort" - "strconv" - "strings" - "terraform-provider-solacebroker/internal/broker" - "text/tabwriter" - "time" -) - -type Color string - -const ( - Reset Color = "\033[0m" - Red Color = "\033[31m" -) - -var charset = []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") - -type ResourceAttributeInfo struct { - AttributeValue string - Comment string -} - -type ResourceConfig struct { - ResourceAttributes map[string]ResourceAttributeInfo // indexed by resource attribute name -} - -type ObjectInfo struct { - Registry string - BrokerURL string - Username string - Password string - BearerToken string - FileName string - BrokerResources []map[string]string -} - -func StringWithDefaultFromEnv(name string, isMandatory bool, fallback string) string { - envValue := os.Getenv("SOLACEBROKER_" + strings.ToUpper(name)) - if isMandatory && len(envValue) == 0 { - LogCLIError("SOLACEBROKER_" + strings.ToUpper(name) + " is mandatory but not available") - os.Exit(1) - } else if len(envValue) == 0 { - return fallback //default to fallback - } - return envValue -} - -func Int64WithDefaultFromEnv(name string, isMandatory bool, fallback int64) (int64, error) { - envName := "SOLACEBROKER_" + strings.ToUpper(name) - s, ok := os.LookupEnv(envName) - if !ok && isMandatory { - return 0, errors.New("SOLACEBROKER_" + strings.ToUpper(name) + " is mandatory but not available") - } else if !ok { - return fallback, nil //default to fallback - } - return strconv.ParseInt(s, 10, 64) -} - -func BooleanWithDefaultFromEnv(name string, isMandatory bool, fallback bool) (bool, error) { - envName := "SOLACEBROKER_" + strings.ToUpper(name) - s, ok := os.LookupEnv(envName) - if !ok && isMandatory { - return false, errors.New("SOLACEBROKER_" + strings.ToUpper(name) + " is mandatory but not available") - } else if !ok { - return fallback, nil //default to fallback - } - return strconv.ParseBool(s) -} - -func DurationWithDefaultFromEnv(name string, isMandatory bool, fallback time.Duration) (time.Duration, error) { - envValue := os.Getenv("SOLACEBROKER_" + strings.ToUpper(name)) - if isMandatory && len(envValue) == 0 { - return 0, errors.New("SOLACEBROKER_" + strings.ToUpper(name) + " is mandatory but not available") - } else if len(envValue) == 0 { - return fallback, nil //default to fallback - } - // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h" - d, err := time.ParseDuration(envValue) - if err != nil { - return 0, errors.New(fmt.Errorf("%v is not valid; %q cannot be parsed as a duration: %w", "SOLACEBROKER_"+strings.ToUpper(name), envValue, err).Error()) - } - return d, nil -} - -func ResolveSempPath(pathTemplate string, v string) (string, error) { - identifiersValues := map[int]string{} - if strings.Contains(v, "/") { - identifier := strings.Split(v, "/") - for i, val := range identifier { - identifiersValues[i] = val - } - } else { - identifiersValues[0] = v - } - if !strings.Contains(pathTemplate, "{") { - return pathTemplate, nil - } - rex := regexp.MustCompile(`{[^{}]*}`) - out := rex.FindAllStringSubmatch(pathTemplate, -1) - generatedPath := pathTemplate - if len(out) < len(identifiersValues) { - LogCLIError("\nError: Too many provider specific identifiers. Required identifiers: " + fmt.Sprint(out)) - os.Exit(1) - } - - for i := range identifiersValues { - if i < len(out) { - //encode all, if param is url friendly this does nothing. - value := url.QueryEscape(fmt.Sprint(identifiersValues[i])) - generatedPath = strings.ReplaceAll(generatedPath, out[i][0], value) - } - } - if len(out) > len(identifiersValues) { - //remove unused vars - for i := range out { - generatedPath = strings.ReplaceAll(generatedPath, out[i][0], "") - } - } - - //special conditions - //for /url/{param1},{param2},{param3}.. valid semp query to fetch all items when all parameters are empty - //for /url1/{param1},{param2},{param3}/url2.. invalid when all parameters are empty as it becomes /url1/url2 - if strings.Contains(generatedPath, "/,,/") || strings.Contains(generatedPath, "/,/") { - return "", errors.New("not all parameters found. SEMP call will be invalid") - } - - path := strings.ReplaceAll(generatedPath, "/,,", "") - path = strings.ReplaceAll(path, "/,", "") - if strings.HasSuffix(path, "/") { - path = strings.TrimSuffix(path, "/") - } - if strings.Contains(path, "//") { - return "", errors.New("not all parameters found. SEMP call will be invalid") - } - return path, nil -} -func ResolveSempPathWithParent(pathTemplate string, parentValues map[string]any) (string, error) { - - if !strings.Contains(pathTemplate, "{") { - return pathTemplate, nil - } - rex := regexp.MustCompile(`{[^{}]*}`) - out := rex.FindAllStringSubmatch(pathTemplate, -1) - generatedPath := pathTemplate - - for i := range out { - key := strings.TrimPrefix(out[i][0], "{") - key = strings.TrimSuffix(key, "}") - value, found := parentValues[key] - - if found { - //url encode, if param is url friendly this does nothing. - value = url.QueryEscape(fmt.Sprint(value)) - generatedPath = strings.ReplaceAll(generatedPath, out[i][0], fmt.Sprint(value)) - } - } - - //remove unused vars - for i := range out { - generatedPath = strings.ReplaceAll(generatedPath, out[i][0], "") - } - //special conditions - //for /url/{param1},{param2},{param3}.. valid semp query to fetch all items when all parameters are empty - //for /url1/{param1},{param2},{param3}/url2.. invalid when all parameters are empty as it becomes /url1/url2 - if strings.Contains(generatedPath, "/,,/") || strings.Contains(generatedPath, "/,/") { - return "", errors.New("not all parameters found. SEMP call will be invalid") - } - - path := strings.ReplaceAll(generatedPath, "/,,", "") - path = strings.ReplaceAll(path, "/,", "") - if strings.HasSuffix(path, "/") { - path = strings.TrimSuffix(path, "/") - } - if strings.Contains(path, "//") { - return "", errors.New("not all parameters found. SEMP call will be invalid") - } - return path, nil -} - -func newAttributeInfo(value string) ResourceAttributeInfo { - return ResourceAttributeInfo{ - AttributeValue: value, - Comment: "", - } -} - -func addCommentToAttributeInfo(info ResourceAttributeInfo, comment string) ResourceAttributeInfo { - return ResourceAttributeInfo{ - AttributeValue: info.AttributeValue, - Comment: comment, - } -} - -func GenerateTerraformString(attributes []*broker.AttributeInfo, values []map[string]interface{}, parentBrokerResourceAttributes map[string]string, brokerObjectTerraformName string) ([]ResourceConfig, error) { - var tfBrokerObjects []ResourceConfig - var attributesWithDefaultValue = []string{} // list of attributes, collected but not used - for k := range values { - resourceConfig := ResourceConfig{ - ResourceAttributes: map[string]ResourceAttributeInfo{}, - } - systemProvisioned := false - for _, attr := range attributes { - attributeParentNameAndValue, attributeExistInParent := parentBrokerResourceAttributes[attr.TerraformName] - if attr.Sensitive { - // write-only attributes can't be retrieved, so we don't expose them - continue - } - if !attr.Identifying && attr.ReadOnly { - // read-only attributes should only be in the datasource - continue - } - valuesRes := values[k][attr.SempName] - if attr.Identifying && attributeExistInParent { - resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(attributeParentNameAndValue) - continue - } else if attr.TerraformName == "client_profile_name" && attributeExistInParent { - //peculiar use case where client_profile is not identifying for msg_vpn_client_username but it is dependent - resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(attributeParentNameAndValue) - continue - } - - switch attr.BaseType { - case broker.String: - if reflect.TypeOf(valuesRes) == nil || valuesRes == "" { - continue - } - if attr.Identifying && valuesRes.(string)[0] == '#' && valuesRes.(string) != "#DEAD_MESSAGE_QUEUE" { - systemProvisioned = true - } - if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(valuesRes) { - //attributes with default values will be skipped - // WORKAROUND: Except if attribute is "authentication_basic_type" in "msg_vpn" - if brokerObjectTerraformName != "msg_vpn" || attr.TerraformName != "authentication_basic_type" { - attributesWithDefaultValue = append(attributesWithDefaultValue, attr.TerraformName) - continue - } else { - LogCLIInfo("Applying workaround: not ignoring default for `msg_vpn` attribute `authentication_basic_type`") - } - } - val := "\"" + SanitizeHclStringValue(valuesRes.(string)) + "\"" - resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) - case broker.Int64: - if valuesRes == nil { - continue - } - intValue := valuesRes - if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(intValue) { - //attributes with default values will be skipped - attributesWithDefaultValue = append(attributesWithDefaultValue, attr.TerraformName) - continue - } - val := fmt.Sprintf("%v", intValue) - resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) - case broker.Bool: - if valuesRes == nil { - continue - } - boolValue := valuesRes.(bool) - if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(boolValue) { - //attributes with default values will be skipped - attributesWithDefaultValue = append(attributesWithDefaultValue, attr.TerraformName) - continue - } - val := strconv.FormatBool(boolValue) - resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) - case broker.Struct: - valueJson, err := json.Marshal(valuesRes) - if err != nil { - continue - } - if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(valuesRes) { - //attributes with default values will be skipped - attributesWithDefaultValue = append(attributesWithDefaultValue, attr.TerraformName) - continue - } - output := strings.ReplaceAll(string(valueJson), "clearPercent", "clear_percent") - output = strings.ReplaceAll(output, "setPercent", "set_percent") - output = strings.ReplaceAll(output, "clearValue", "clear_value") - output = strings.ReplaceAll(output, "setValue", "set_value") - val := output - resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) - } - if attr.Deprecated && systemProvisioned { - addCommentToAttributeInfo(resourceConfig.ResourceAttributes[attr.TerraformName], - " # Note: This attribute is deprecated and may also be system provisioned.") - } else if attr.Deprecated && !systemProvisioned { - addCommentToAttributeInfo(resourceConfig.ResourceAttributes[attr.TerraformName], - " # Note: This attribute is deprecated.") - } else if !attr.Deprecated && systemProvisioned { - addCommentToAttributeInfo(resourceConfig.ResourceAttributes[attr.TerraformName], - " # Note: This attribute may be system provisioned.") - } - } - if !systemProvisioned { - tfBrokerObjects = append(tfBrokerObjects, resourceConfig) - } else { - //add to maintain index, it will not be included in generation - tfBrokerObjects = append(tfBrokerObjects, ResourceConfig{ - ResourceAttributes: nil, - }) - } - } - return tfBrokerObjects, nil -} - -func randStr(n int) string { - b := make([]byte, n) - for i := range b { - b[i] = charset[rand.Intn(len(charset))] - } - return string(b) -} - -func GenerateRandomString(n int) string { - return "_" + randStr(n) -} - -func LogCLIError(err string) { - _, _ = fmt.Fprintf(os.Stdout, "%s %s %s\n", Red, err, Reset) -} - -func LogCLIInfo(info string) { - _, _ = fmt.Fprintf(os.Stdout, "\n%s %s %s", Reset, info, Reset) -} - -func GetParentResourceAttributes(parentObjectName string, brokerParentResource map[string]ResourceConfig) map[string]string { - parentResourceAttributes := map[string]string{} - parentResourceName := strings.ReplaceAll(parentObjectName, " ", ".") - for parentResourceObject := range brokerParentResource { - resourceAttributes := brokerParentResource[parentResourceObject].ResourceAttributes - for resourceAttributeName := range resourceAttributes { - parentResourceAttributes[resourceAttributeName] = parentResourceName + "." + resourceAttributeName - } - } - return parentResourceAttributes -} - -func ConvertAttributeTextToMap(attribute string) map[string]string { - attributeMap := map[string]string{} - attributeSlice := strings.Split(attribute, "\n") - for i := range attributeSlice { - keyValue := strings.ReplaceAll(attributeSlice[i], "\t", "") - if strings.Contains(keyValue, "=") { - attributeMap[strings.Split(keyValue, "=")[0]] = strings.ReplaceAll(strings.Split(keyValue, "=")[1], "\"", "") - } - } - return attributeMap -} - -func IndexOf(elm BrokerObjectType, data []BrokerObjectType) int { - for k, v := range data { - if elm == v { - return k - } - } - return -1 -} - -func ToFormattedHCL(brokerResources []map[string]ResourceConfig) []map[string]string { - var formattedResult []map[string]string - for _, resources := range brokerResources { - resourceCollection := make(map[string]string) - for resourceTypeAndName := range resources { - formattedResource := hclFormatResource(resources[resourceTypeAndName]) - resourceCollection[resourceTypeAndName] = formattedResource - } - formattedResult = append(formattedResult, resourceCollection) - } - return formattedResult -} - -func hclFormatResource(resourceConfig ResourceConfig) string { - var attributeNames []string - for attributeName := range resourceConfig.ResourceAttributes { - attributeNames = append(attributeNames, attributeName) - } - sort.Strings(attributeNames) - var b bytes.Buffer - w := tabwriter.NewWriter(&b, 0, 0, 2, ' ', 0) - for pos := range attributeNames { - attributeName := attributeNames[pos] - attributeConfigLine := "\t" + attributeName + "\t" + "= " - attributeConfigLine += resourceConfig.ResourceAttributes[attributeName].AttributeValue - attributeConfigLine += resourceConfig.ResourceAttributes[attributeName].Comment - fmt.Fprintln(w, attributeConfigLine) - } - w.Flush() - config := b.String() - return config -} - -func SanitizeHclIdentifierName(name string) string { - name = regexp.MustCompile(`[^a-zA-Z0-9 ]+`).ReplaceAllString(strings.ReplaceAll(name, " ", ""), "_") - if len(name) == 0 || (name[0] >= '0' && name[0] <= '9') || (len(name) == 1 && name[0] == '_') { - //just prepend static string to avoid checking all characters - name = "gn_" + name - } - return name -} - -func SanitizeHclStringValue(value string) string { - b, err := json.Marshal(value) - if err != nil { - } - s := string(b) - output := s[1 : len(s)-1] - output = strings.ReplaceAll(output, "${", "$${") - output = strings.ReplaceAll(output, "%{", "%%{") - return output -} diff --git a/cmd/generate.go b/cmd/generate.go index 4675fe2a..4a78ee2a 100644 --- a/cmd/generate.go +++ b/cmd/generate.go @@ -16,68 +16,130 @@ package cmd import ( - "context" "fmt" "net/http" "os" "strings" - "terraform-provider-solacebroker/cmd/broker" - command "terraform-provider-solacebroker/cmd/command" + "terraform-provider-solacebroker/cmd/client" + "terraform-provider-solacebroker/cmd/generator" "terraform-provider-solacebroker/internal/broker/generated" "terraform-provider-solacebroker/internal/semp" "github.com/spf13/cobra" - "golang.org/x/exp/maps" ) // generateCmd represents the generate command var generateCmd = &cobra.Command{ - Use: "generate --url= ", + Use: "generate ", Short: "Generates a Terraform configuration file for a specified PubSub+ event broker object and all child objects known to the provider", Long: `The generate command on the provider binary generates a Terraform configuration file for the specified object and all child objects known to the provider. -This is not a Terraform command. One can download the provider binary and can execute that binary with the "generate" command to generate a Terraform configuration file from the current configuration of a PubSub+ event broker. +This is not a Terraform command. You can download the provider binary and execute that binary with the "generate" command to generate a Terraform configuration file from the current configuration of a PubSub+ event broker. - generate + generate [flags] - where; - is the broker provider binary - is the broker SEMP API address, for example http://: - is similar to the Terraform Import command. This is the resource name and possible values to find a specific resource - is the desirable name of the generated filename + where: + is the broker provider binary + [flags] are the supported options, which mirror the configuration options for the provider object (for example --url=https://localhost:1943 and --retry_wait_max=90s) and can also be set via environment variables in the same way. + how to address the specified object instance in the generated configuration, in the form of . + the import identifier of the specified object instance, refer to the resource type of the object in the provider documentation + is the name of the generated file Example: SOLACEBROKER_USERNAME=adminuser SOLACEBROKER_PASSWORD=pass \ - terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn.mq default my-messagevpn.tf + terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn.myvpn test vpn-config.tf -This command would create a file my-messagevpn.tf that contains a resource definition for the default message VPN and any child objects, assuming the appropriate broker credentials were set in environment variables.`, +This command will create a file vpn-config.tf that contains a resource definition for the 'test' message VPN and any child objects on the broker, assuming the appropriate broker credentials were set in environment variables. +The message VPN resource address in the generated configuration will be 'solacebroker_msg_vpn.myvpn'.`, Run: func(cmd *cobra.Command, args []string) { - brokerURL, _ := cmd.Flags().GetString("url") - command.LogCLIInfo("Connecting to Broker : " + brokerURL) - - client := broker.CliClient(brokerURL) - if client == nil { - command.LogCLIError("Error creating SEMP Client") + if len(args) < 3 { + // Print the help message if the required arguments are not provided + _ = cmd.Help() os.Exit(1) } - brokerObjectType := cmd.Flags().Arg(0) + flags := cmd.Flags() + cliParams := generator.CliParams{} + if flags.Changed("url") { + if url, err := flags.GetString("url"); err == nil { + cliParams.Url = &url + } + } + if flags.Changed("username") { + if username, err := flags.GetString("username"); err == nil { + cliParams.Username = &username + } + } + if flags.Changed("password") { + if password, err := flags.GetString("password"); err == nil { + cliParams.Password = &password + } + } + if flags.Changed("bearer_token") { + if bearerToken, err := flags.GetString("bearer_token"); err == nil { + cliParams.Bearer_token = &bearerToken + } + } + if flags.Changed("retries") { + if retries, err := flags.GetInt64("retries"); err == nil { + cliParams.Retries = &retries + } + } + if flags.Changed("retry_min_interval") { + if retryMinInterval, err := flags.GetDuration("retry_min_interval"); err == nil { + cliParams.Request_min_interval = &retryMinInterval + } + } + if flags.Changed("retry_max_interval") { + if retryMaxInterval, err := flags.GetDuration("retry_max_interval"); err == nil { + cliParams.Retry_max_interval = &retryMaxInterval + } + } + if flags.Changed("request_timeout_duration") { + if requestTimeoutDuration, err := flags.GetDuration("request_timeout_duration"); err == nil { + cliParams.Request_timeout_duration = &requestTimeoutDuration + } + } + if flags.Changed("request_min_interval") { + if requestMinInterval, err := flags.GetDuration("request_min_interval"); err == nil { + cliParams.Request_min_interval = &requestMinInterval + } + } + if flags.Changed("insecure_skip_verify") { + if insecureSkipVerify, err := flags.GetBool("insecure_skip_verify"); err == nil { + cliParams.Insecure_skip_verify = &insecureSkipVerify + } + } + if flags.Changed("skip_api_check") { + if skipApiCheck, err := flags.GetBool("skip_api_check"); err == nil { + cliParams.Skip_api_check = &skipApiCheck + } + } + // Complement params with env as required, also ensure valid values for all + cliParams = generator.UpdateCliParamsWithEnv(cliParams) + + cliClient := client.CliClient(cliParams) + if cliClient == nil { + generator.ExitWithError("Error creating SEMP Client") + } + + brokerObjectType := flags.Arg(0) if len(brokerObjectType) == 0 { - command.LogCLIError("Terraform resource name not provided") + generator.LogCLIError("Terraform resource name not provided") _ = cmd.Help() os.Exit(1) } - providerSpecificIdentifier := cmd.Flags().Arg(1) + providerSpecificIdentifier := flags.Arg(1) if len(providerSpecificIdentifier) == 0 { - command.LogCLIError("Broker object not provided") + generator.LogCLIError("Broker object not provided") _ = cmd.Help() os.Exit(1) } - fileName := cmd.Flags().Arg(2) + fileName := flags.Arg(2) if len(fileName) == 0 { - command.LogCLIError("\nError: Terraform file name not specified.\n\n") + generator.LogCLIError("\nError: Terraform file name not specified.\n\n") _ = cmd.Help() os.Exit(1) } @@ -86,221 +148,51 @@ This command would create a file my-messagevpn.tf that contains a resource defin fileName = fileName + ".tf" } - skipApiCheck, err := command.BooleanWithDefaultFromEnv("skip_api_check", false, false) - if err != nil { - command.LogCLIError("\nError: Unable to parse provider attribute. " + err.Error()) - os.Exit(1) - } + skipApiCheck := *cliParams.Skip_api_check //Confirm SEMP version and connection via client aboutPath := "/about/api" - result, err := client.RequestWithoutBody(cmd.Context(), http.MethodGet, aboutPath) + result, err := cliClient.RequestWithoutBody(cmd.Context(), http.MethodGet, aboutPath) if err != nil { - command.LogCLIError("SEMP call failed. " + err.Error()) - os.Exit(1) + generator.ExitWithError("SEMP call failed. " + err.Error()) } brokerSempVersion := result["sempVersion"].(string) brokerPlatform := result["platform"].(string) if !skipApiCheck && brokerPlatform != generated.Platform { - command.LogCLIError(fmt.Sprintf("Broker platform \"%s\" does not match generator supported platform: %s", BrokerPlatformName[brokerPlatform], BrokerPlatformName[generated.Platform])) - os.Exit(1) - } - command.LogCLIInfo("Connection successful.") - command.LogCLIInfo(fmt.Sprintf("Broker SEMP version is %s, Generator SEMP version is %s", brokerSempVersion, generated.SempVersion)) - - command.LogCLIInfo("Attempting config generation for object and its child-objects: " + brokerObjectType + ", identifier: " + providerSpecificIdentifier + ", destination file: " + fileName) - - object := &command.ObjectInfo{} - - brokerObjectTypeName := brokerObjectType - brokerObjectInstanceName := strings.ToLower(brokerObjectType) - if strings.Contains(brokerObjectType, ".") { - brokerObjectTypeName = strings.Split(brokerObjectType, ".")[0] - //sanitize name - brokerObjectInstanceName = command.SanitizeHclIdentifierName(strings.Split(brokerObjectType, ".")[1]) + generator.ExitWithError(fmt.Sprintf("Broker platform \"%s\" does not match generator supported platform: %s", BrokerPlatformName[brokerPlatform], BrokerPlatformName[generated.Platform])) } + generator.LogCLIInfo("Connection successful.") + generator.LogCLIInfo(fmt.Sprintf("Broker SEMP version is %s, Generator SEMP version is %s", brokerSempVersion, generated.SempVersion)) - brokerObjectTerraformName := strings.ReplaceAll(brokerObjectTypeName, "solacebroker_", "") + generator.LogCLIInfo(fmt.Sprintf("Attempting config generation for object and its child-objects: %s, identifier: %s, destination file: %s\n", brokerObjectType, providerSpecificIdentifier, fileName)) - _, found := command.BrokerObjectRelationship[command.BrokerObjectType(brokerObjectTerraformName)] - if !found { - command.LogCLIError("\nError: Broker resource not found by terraform name : " + brokerObjectTerraformName + "\n\n") - os.Exit(1) + // Extract and verify parameters + if strings.Count(brokerObjectType, ".") != 1 { + generator.ExitWithError("\nError: Terraform resource address is not in correct format. Should be in the format .\n\n") } - generatedResource := make(map[string]command.GeneratorTerraformOutput) - var brokerResources []map[string]command.ResourceConfig - - // get all resources to be generated for - var resourcesToGenerate []command.BrokerObjectType - resourcesToGenerate = append(resourcesToGenerate, command.BrokerObjectType(brokerObjectTerraformName)) - resourcesToGenerate = append(resourcesToGenerate, command.BrokerObjectRelationship[command.BrokerObjectType(brokerObjectTerraformName)]...) - for _, resource := range resourcesToGenerate { - generatedResults, generatedResourceChildren := generateForParentAndChildren(cmd.Context(), *client, string(resource), brokerObjectInstanceName, providerSpecificIdentifier, generatedResource) - brokerResources = append(brokerResources, generatedResults...) - maps.Copy(generatedResource, generatedResourceChildren) + brokerResourceType := strings.Split(brokerObjectType, ".")[0] + brokerResourceName := strings.Split(brokerObjectType, ".")[1] + if !generator.IsValidTerraformIdentifier(brokerResourceName) { + generator.ExitWithError(fmt.Sprintf("\nError: Resource name %s in the Terraform resource address is not a valid Terraform identifier\n\n", brokerResourceName)) } - command.LogCLIInfo("Replacing hardcoded names of inter-object dependencies by references where required") - fixInterObjectDependencies(brokerResources) + brokerResourceTerraformName := strings.ReplaceAll(brokerResourceType, "solacebroker_", "") + generator.GenerateAll(cliParams, cmd.Context(), cliClient, brokerResourceTerraformName, brokerResourceName, providerSpecificIdentifier, fileName) - // Format the results - object.BrokerResources = command.ToFormattedHCL(brokerResources) - - registry, ok := os.LookupEnv("SOLACEBROKER_REGISTRY_OVERRIDE") - if !ok { - registry = "registry.terraform.io" - } - object.Registry = registry - object.BrokerURL = brokerURL - object.Username = command.StringWithDefaultFromEnv("username", true, "") - object.Password = command.StringWithDefaultFromEnv("password", false, "") - if len(object.Password) == 0 { - object.BearerToken = command.StringWithDefaultFromEnv("bearer_token", true, "") - } else { - object.BearerToken = command.StringWithDefaultFromEnv("bearer_token", false, "") - } - object.FileName = fileName - - command.LogCLIInfo("Found all resources. Writing file " + fileName) - _ = command.GenerateTerraformFile(object) - command.LogCLIInfo(fileName + " created successfully.\n") os.Exit(0) }, } -func generateForParentAndChildren(context context.Context, client semp.Client, parentTerraformName string, brokerObjectInstanceName string, providerSpecificIdentifier string, generatedResources map[string]command.GeneratorTerraformOutput) ([]map[string]command.ResourceConfig, map[string]command.GeneratorTerraformOutput) { - var brokerResources []map[string]command.ResourceConfig - var generatorTerraformOutputForParent command.GeneratorTerraformOutput - - //get for parent - _, alreadyGenerated := generatedResources[parentTerraformName] - - if !alreadyGenerated { - generatorTerraformOutputForParent = command.ParseTerraformObject(context, client, brokerObjectInstanceName, parentTerraformName, providerSpecificIdentifier, map[string]string{}, map[string]any{}) - if len(generatorTerraformOutputForParent.TerraformOutput) > 0 { - command.LogCLIInfo("Generating terraform config for " + parentTerraformName) - resource := generatorTerraformOutputForParent.TerraformOutput - brokerResources = append(brokerResources, resource) - generatedResources[parentTerraformName] = generatorTerraformOutputForParent - } - } else { - //pick output for generated data - generatorTerraformOutputForParent = generatedResources[parentTerraformName] - } - - childBrokerObjects := command.BrokerObjectRelationship[command.BrokerObjectType(parentTerraformName)] - //get all children resources - - for _, childBrokerObject := range childBrokerObjects { - - _, alreadyGeneratedChild := generatedResources[string(childBrokerObject)] - - if !alreadyGeneratedChild { - - command.LogCLIInfo("Generating terraform config for " + string(childBrokerObject) + " as related to " + parentTerraformName) - - for key, parentBrokerResource := range generatorTerraformOutputForParent.TerraformOutput { - - parentResourceAttributes := map[string]command.ResourceConfig{} - - //use object name to build relationship - parentResourceAttributes[key] = parentBrokerResource - - parentBrokerResourceAttributeRelationship := command.GetParentResourceAttributes(key, parentResourceAttributes) - - brokerResourcesToAppend := map[string]command.ResourceConfig{} - - //use parent semp response data to build semp request for children - generatorTerraformOutputForChild := command.ParseTerraformObject(context, client, brokerObjectInstanceName, - string(childBrokerObject), - providerSpecificIdentifier, - parentBrokerResourceAttributeRelationship, - generatorTerraformOutputForParent.SEMPDataResponse[key]) - - if len(generatorTerraformOutputForChild.TerraformOutput) > 0 { - generatedResources[string(childBrokerObject)] = generatorTerraformOutputForChild - for childBrokerResourceKey, childBrokerResourceValue := range generatorTerraformOutputForChild.TerraformOutput { - if len(generatorTerraformOutputForChild.SEMPDataResponse[childBrokerResourceKey]) > 0 { - //remove blanks - if generatorTerraformOutputForChild.TerraformOutput[childBrokerResourceKey].ResourceAttributes != nil { - brokerResourcesToAppend[childBrokerResourceKey] = childBrokerResourceValue - } - } - } - print("..") - brokerResources = append(brokerResources, brokerResourcesToAppend) - } - } - } - } - return brokerResources, generatedResources -} - -func fixInterObjectDependencies(brokerResources []map[string]command.ResourceConfig) { - // this will modify the passed brokerResources object - - //temporal hard coding dependency graph fix not available in SEMP API - InterObjectDependencies := map[string][]string{"solacebroker_msg_vpn_authorization_group": {"solacebroker_msg_vpn_client_profile", "solacebroker_msg_vpn_acl_profile"}, - "solacebroker_msg_vpn_client_username": {"solacebroker_msg_vpn_client_profile", "solacebroker_msg_vpn_acl_profile"}, - "solacebroker_msg_vpn_rest_delivery_point": {"solacebroker_msg_vpn_client_profile"}, - "solacebroker_msg_vpn_acl_profile_client_connect_exception": {"solacebroker_msg_vpn_acl_profile"}, - "solacebroker_msg_vpn_acl_profile_publish_topic_exception": {"solacebroker_msg_vpn_acl_profile"}, - "solacebroker_msg_vpn_acl_profile_subscribe_share_name_exception": {"solacebroker_msg_vpn_acl_profile"}, - "solacebroker_msg_vpn_acl_profile_subscribe_topic_exception": {"solacebroker_msg_vpn_acl_profile"}} - - ObjectNameAttributes := map[string]string{"solacebroker_msg_vpn_client_profile": "client_profile_name", "solacebroker_msg_vpn_acl_profile": "acl_profile_name"} - - // Post-process brokerResources for dependencies - - // For ech resource check if there is any dependency - for _, resources := range brokerResources { - var resourceType string - // var resourceConfig command.ResourceConfig - for resourceKey := range resources { - resourceType = strings.Split(resourceKey, " ")[0] - resourceDependencies, exists := InterObjectDependencies[resourceType] - if !exists { - continue - } - // Found a resource that has inter-object relationship - // fmt.Print("Found " + resourceKey + " with dependencies ") - // fmt.Println(resourceDependencies) - for _, dependency := range resourceDependencies { - nameAttribute := ObjectNameAttributes[dependency] - dependencyName := strings.Trim(resources[resourceKey].ResourceAttributes[nameAttribute].AttributeValue, "\"") - if dependencyName != "" { - // fmt.Println(" Dependency " + dependency + " name is " + dependencyName) - // Look up key for dependency with dependencyName - iterate all brokerResources - found := false - for _, r := range brokerResources { - for k := range r { - rName := strings.Split(k, " ")[0] - if rName != dependency { - continue - } - // Check the name of the found resource - if strings.Trim(r[k].ResourceAttributes[nameAttribute].AttributeValue, "\"") == dependencyName { - // fmt.Println(" Found " + k + " as suitable dependency") - // Replace hardcoded name by reference - newInfo := command.ResourceAttributeInfo{ - AttributeValue: strings.Replace(k, " ", ".", -1) + "." + nameAttribute, - Comment: resources[resourceKey].ResourceAttributes[nameAttribute].Comment, - } - resources[resourceKey].ResourceAttributes[nameAttribute] = newInfo - found = true - break - } - } - if found { - break - } - } - } - } - } - } -} - func init() { rootCmd.AddCommand(generateCmd) - generateCmd.PersistentFlags().String("url", "http://localhost:8080", "Broker URL") + generateCmd.PersistentFlags().String("url", "http://localhost:8080", "Broker base URL") + generateCmd.PersistentFlags().String("username", "", "Basic authentication username") + generateCmd.PersistentFlags().String("password", "", "Basic authentication password") + generateCmd.PersistentFlags().String("bearer_token", "", "Bearer token for authentication") + generateCmd.PersistentFlags().Int64("retries", semp.DefaultRetries, "Retries") + generateCmd.PersistentFlags().Duration("retry_min_interval", semp.DefaultRetryMinInterval, "Minimum retry interval") + generateCmd.PersistentFlags().Duration("retry_max_interval", semp.DefaultRetryMaxInterval, "Maximum retry interval") + generateCmd.PersistentFlags().Duration("request_timeout_duration", semp.DefaultRequestTimeout, "Request timeout duration") + generateCmd.PersistentFlags().Duration("request_min_interval", semp.DefaultRequestInterval, "Minimum request interval") + generateCmd.PersistentFlags().Bool("insecure_skip_verify", false, "Disable validation of server SSL certificates") + generateCmd.PersistentFlags().Bool("skip_api_check", false, "Disable validation of the broker SEMP API") } diff --git a/cmd/generator/brokercrawler.go b/cmd/generator/brokercrawler.go new file mode 100644 index 00000000..3c9509a8 --- /dev/null +++ b/cmd/generator/brokercrawler.go @@ -0,0 +1,313 @@ +// terraform-provider-solacebroker +// +// Copyright 2024 Solace Corporation. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package generator + +import ( + "context" + "errors" + "fmt" + "net/http" + "net/url" + "regexp" + "strings" + internalbroker "terraform-provider-solacebroker/internal/broker" + "terraform-provider-solacebroker/internal/broker/generated" + "terraform-provider-solacebroker/internal/semp" +) + +type IdentifyingAttribute struct { + key, value string +} + +type IdentifyingAttributes []IdentifyingAttribute // Described as a set of identifying attributes + +type BrokerObjectInstanceInfo struct { + resourceTypeAndName string + identifyingAttributes IdentifyingAttributes +} + +var rootBrokerObjectPathTemplate string +var rootBrokerObjectResourceName string +var cachedResources map[string]interface{} +var brokerResources []map[string]ResourceConfig +var variables map[string]VariableConfig + +func buildResourceTypeAndName(brokerObjectType BrokerObjectType, resourceInstancePathTemplate string, foundChildIndentifyingAttributes IdentifyingAttributes) (string, error) { + var resourceTypeAndName string + // Replace rootBrokerObjectPathTemplate part with rootBrokerObjectResourceName + convertedPath := strings.Replace(resourceInstancePathTemplate, rootBrokerObjectPathTemplate, rootBrokerObjectResourceName, 1) + // Split path by / + sections := strings.Split(convertedPath, "/") + resourceTypeAndName = sections[0] + for i := 1; i < len(sections); i++ { + if strings.HasPrefix(sections[i], "{") && strings.HasSuffix(sections[i], "}") { + // in case of multiple attributes replace all },{ with }_{ + adjustedSection := strings.Replace(sections[i], "},{", "}_{", -1) + resourceTypeAndName += adjustedSection + } else { + resourceTypeAndName += "_" + } + } + var err error + resourceTypeAndName, err = substituteVariables(resourceTypeAndName, foundChildIndentifyingAttributes, false) + if err != nil { + return "", err + } + resourceTypeAndName = string(brokerObjectType) + " " + makeValidForTerraformIdentifier(resourceTypeAndName) + resourceTypeAndName = "solacebroker_" + resourceTypeAndName + // Loop while cachedResources has an entry with this key. Change the key appending __number until it is unique + i := 2 + modifiedResourceTypeAndName := resourceTypeAndName + for cachedResources[modifiedResourceTypeAndName] != nil { + modifiedResourceTypeAndName = resourceTypeAndName + "__" + fmt.Sprint(i) + i++ + } + resourceTypeAndName = modifiedResourceTypeAndName + return resourceTypeAndName, nil +} + +// Returns the path template for all instances of a broker object type, additionally the identifier attributes and the path template for a single instance +func getAllInstancesPathTemplate(brokerObjectType BrokerObjectType) (string, []string, string, error) { + pathTemplate, err := getInstancePathTemplate(brokerObjectType) + if err != nil { + return "", nil, "", err + } + // Example path template: /msgVpns/{msgVpnName}/queues/{queueName}/subscriptions/{subscriptionTopic} + // Example all instances path template: /msgVpns/{msgVpnName}/queues/{queueName}/subscriptions + sections := strings.Split(pathTemplate, "/") + if len(sections) < 2 || !strings.Contains(sections[len(sections)-1], "{") || !strings.Contains(sections[len(sections)-1], "}") { + return "", nil, "", fmt.Errorf("cannot create all resources query from path template: %s", pathTemplate) + } + allInstancesPathTemplate := strings.Join(sections[:len(sections)-1], "/") + rex := regexp.MustCompile(`{[^{}]*}`) + matches := rex.FindAllStringSubmatch(sections[len(sections)-1], -1) + // flatten matches into identifierAttributes + var identifierAttributes []string + for _, match := range matches { + identifierAttributes = append(identifierAttributes, strings.TrimSuffix(strings.TrimPrefix(match[0], "{"), "}")) + } + return allInstancesPathTemplate, identifierAttributes, pathTemplate, nil +} + +func getInstancePathTemplate(brokerObjectType BrokerObjectType) (string, error) { + i, ok := DSLookup[brokerObjectType] + if !ok { + return "", fmt.Errorf("invalid broker object type") + } + dsEntity := internalbroker.Entities[i] + return dsEntity.PathTemplate, nil +} + +// This function substitutes variables in a template string with values from the attributes, optionally escaping the values +func substituteVariables(template string, attributes IdentifyingAttributes, doEscape bool) (string, error) { + // Example template: /msgVpns/{msgVpnName}/queues/{queueName}/subscriptions/{subscriptionTopic} + // Example brokerObjectAttributes: [IdentifyingAttribute{key: "msgVpnName", value: "myvpn"}, IdentifyingAttribute{key: "queueName", value: "myqueue"}, IdentifyingAttribute{key: "subscriptionTopic", value: "mysubscription"}] + // Example results: /msgVpns/myvpn/queues/myqueue/subscriptions/mysubscription + result := template + for _, attr := range attributes { + var value string + if doEscape { + value = url.PathEscape(attr.value) + } else { + value = attr.value + } + result = strings.Replace(result, "{"+attr.key+"}", value, -1) + } + return result, nil +} + +func identifierToBrokerObjectAttributes(brokerObjectType BrokerObjectType, identifier string) (IdentifyingAttributes, error) { + pathTemplate, err := getInstancePathTemplate(brokerObjectType) + if err != nil { + return nil, err + } + identifierValues := map[int]string{} + brokerObjectAttributes := IdentifyingAttributes{} + if strings.Contains(identifier, "/") { + ids := strings.Split(identifier, "/") + for i, val := range ids { + identifierValues[i] = val + } + } else { + identifierValues[0] = identifier + } + if !strings.Contains(pathTemplate, "{") { + return brokerObjectAttributes, nil + } + rex := regexp.MustCompile(`{[^{}]*}`) + matches := rex.FindAllStringSubmatch(pathTemplate, -1) + if len(matches) != len(identifierValues) { + return nil, fmt.Errorf("incorrect identifier: \"" + identifier + "\". Following required identifier elements are expected: " + fmt.Sprint(matches)) + } + for i := range identifierValues { + decodedPathVar, _ := url.PathUnescape(fmt.Sprint(identifierValues[i])) + brokerObjectAttributes = append(brokerObjectAttributes, IdentifyingAttribute{key: strings.TrimSuffix(strings.TrimPrefix(matches[i][0], "{"), "}"), value: decodedPathVar}) + } + return brokerObjectAttributes, nil +} + +// Returns one instance of the brokerObjectType if identifier has been provided, otherwise all instances that match the parentIdentifyingAttributes +// Communicates with the broker via the SEMP client to fetch the instances +// As a side effect, it will also construct an identifier for an object instance, prep the attributes and cache the results for later use +func getInstances(context context.Context, client semp.Client, brokerObjectType BrokerObjectType, identifier string, parent BrokerObjectInstanceInfo) ([]BrokerObjectInstanceInfo, error) { + var instances []BrokerObjectInstanceInfo + + if identifier != "" { + // Return a single instance of the brokerObjectType that matches the identifier + // Determine the identifying attributes for the instance + instanceIdentifyingAttributes, err := identifierToBrokerObjectAttributes(brokerObjectType, identifier) + if err != nil { + return nil, err + } + // Query broker if resource exists + resourcePathTemplate, err := getInstancePathTemplate(brokerObjectType) + if err != nil { + return nil, err + } + requestPath, err := substituteVariables(resourcePathTemplate, instanceIdentifyingAttributes, true) + if err != nil { + return nil, err + } + results, err := client.RequestWithoutBodyForGenerator(context, generated.BasePath, http.MethodGet, requestPath, []map[string]any{}) + if err != nil { + return nil, err + } + resourceTypeAndName, err := buildResourceTypeAndName(brokerObjectType, resourcePathTemplate, instanceIdentifyingAttributes) + if err != nil { + return nil, err + } + // create a resource config from results[0] + attributes := internalbroker.Entities[DSLookup[BrokerObjectType(brokerObjectType)]].Attributes + resourceValues, tfVariables, err := processSempResults(resourceTypeAndName, attributes, results, BrokerObjectInstanceInfo{}) + if err != nil { + return nil, err + } + element := make(map[string]ResourceConfig) + element[resourceTypeAndName] = resourceValues[0] + brokerResources = append(brokerResources, element) + for key, value := range tfVariables { + variables[key] = value + } + instances = append(instances, BrokerObjectInstanceInfo{ + resourceTypeAndName: resourceTypeAndName, + identifyingAttributes: instanceIdentifyingAttributes, + }) + + } else { + // Query broker for all instances that match the parentIdentifyingAttributes + allResourcesPathTemplate, childIdentifierAttributes, resourceInstancePathTemplate, err := getAllInstancesPathTemplate(brokerObjectType) + if err != nil { + return nil, err + } + requestPath, err := substituteVariables(allResourcesPathTemplate, parent.identifyingAttributes, true) + if err != nil { + return nil, err + } + results, err := client.RequestWithoutBodyForGenerator(context, generated.BasePath, http.MethodGet, requestPath, []map[string]any{}) + if err != nil { + // Fail except if the path is invalid - this means the generator SEMP schema is trying + // to fetch a resource that doesn't exist in an older broker + if !errors.Is(err, semp.ErrInvalidPath) { + return nil, err + } + LogCLIInfo(fmt.Sprintf(" Resource %s unknown on broker, check broker and generator SEMP versions\n", brokerObjectType)) + } + for _, result := range results { + // Extract the identifying attributes from the result + foundChildIndentifyingAttributes := parent.identifyingAttributes + skipAppendInstance := false + for _, childIdentifierAttribute := range childIdentifierAttributes { + // Skip system provisioned objects + if isSystemProvisionedAttribute(result[childIdentifierAttribute].(string)) { + // Workaround while waiting for SOL-117252 + if string(brokerObjectType) == "msg_vpn_acl_profile" || string(brokerObjectType) == "msg_vpn_client_profile" || string(brokerObjectType) == "msg_vpn_client_username" || string(brokerObjectType) == "msg_vpn" { + skipAppendInstance = true + break + } + } + foundChildIndentifyingAttributes = append(foundChildIndentifyingAttributes, IdentifyingAttribute{key: childIdentifierAttribute, value: result[childIdentifierAttribute].(string)}) + } + if !skipAppendInstance { + // also cache the results for later use + resourceTypeAndName, err := buildResourceTypeAndName(brokerObjectType, resourceInstancePathTemplate, foundChildIndentifyingAttributes) + if err != nil { + return nil, err + } + cachedResources[resourceTypeAndName] = "" // using cachedResources as a set + // create a resource config from result + var elems []map[string]interface{} + elems = append(elems, result) + attributes := internalbroker.Entities[DSLookup[BrokerObjectType(brokerObjectType)]].Attributes + resourceValues, tfVariables, err := processSempResults(resourceTypeAndName, attributes, elems, parent) + if err != nil { + return nil, err + } + element := make(map[string]ResourceConfig) + element[resourceTypeAndName] = resourceValues[0] + brokerResources = append(brokerResources, element) + for key, value := range tfVariables { + variables[key] = value + } + instances = append(instances, BrokerObjectInstanceInfo{ + resourceTypeAndName: resourceTypeAndName, + identifyingAttributes: foundChildIndentifyingAttributes, + }) + } + } + + } + return instances, nil +} + +// Main entry point to generate the config for a broker object +func fetchBrokerConfig(context context.Context, client semp.Client, brokerObjectType BrokerObjectType, brokerResourceName string, identifier string) ([]map[string]ResourceConfig, map[string]VariableConfig, error) { + var err error + cachedResources = make(map[string]interface{}) + variables = map[string]VariableConfig{} + rootBrokerObjectResourceName = brokerResourceName + rootBrokerObjectPathTemplate, err = getInstancePathTemplate(brokerObjectType) + if err != nil { + return nil, nil, err + } + err = GenerateConfigForObjectInstances(context, client, brokerObjectType, identifier, BrokerObjectInstanceInfo{}) + if err != nil { + return nil, nil, err + } + return brokerResources, variables, nil +} + +// This is a recursive function that generates the config for a broker object and its children +// The entry point is the parent object with the identifier. For child objects the identifier is empty +// It will call itself for each child object instance +func GenerateConfigForObjectInstances(context context.Context, client semp.Client, brokerObjectType BrokerObjectType, identifier string, parentInstanceInfo BrokerObjectInstanceInfo) error { + // brokerObjectType is the current object type + // instances is the list of instances of the current object type + LogCLIInfo(fmt.Sprintf(" ## Fetching config for resource %s\n", brokerObjectType)) + instances, err := getInstances(context, client, brokerObjectType, identifier, parentInstanceInfo) + if err != nil { + return err + } + for i := 0; i < len(instances); i++ { + for _, subType := range BrokerObjectRelationship[brokerObjectType] { + // Will need to pass additional params like the parent name etc. so to construct the appropriate names + err := GenerateConfigForObjectInstances(context, client, subType, "", instances[i]) + if err != nil { + return err + } + } + } + return nil +} diff --git a/cmd/generator/configgenerator.go b/cmd/generator/configgenerator.go new file mode 100644 index 00000000..d6f68a66 --- /dev/null +++ b/cmd/generator/configgenerator.go @@ -0,0 +1,185 @@ +// terraform-provider-solacebroker +// +// Copyright 2024 Solace Corporation. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package generator + +import ( + "context" + "path" + "regexp" + "strings" + internalbroker "terraform-provider-solacebroker/internal/broker" + "terraform-provider-solacebroker/internal/semp" +) + +type BrokerObjectType string + +type ResourceAttributeInfo struct { + AttributeValue string + Comment string +} + +type ResourceConfig struct { + ResourceAttributes map[string]ResourceAttributeInfo // indexed by resource attribute name +} + +type VariableConfig struct { + Type string + Default string + Sensitive bool +} + +type ObjectInfo struct { + BasicAuthentication bool + FileName string + BrokerResources []map[string]string + Variables map[string]VariableConfig +} + +var BrokerObjectRelationship = map[BrokerObjectType][]BrokerObjectType{} +var DSLookup = map[BrokerObjectType]int{} // Helper to easily lookup an entity in internalbroker.Entities by name + +var ObjectNamesCount = map[string]int{} + +func GenerateAll(cliParams CliParams, context context.Context, cliClient *semp.Client, brokerResourceTerraformName string, brokerResourceName string, providerSpecificIdentifier string, fileName string) { + // First build the parent-child relationship between broker objects + CreateBrokerObjectRelationships() + + // Check if the broker resource is supported + _, found := BrokerObjectRelationship[BrokerObjectType(brokerResourceTerraformName)] + if !found { + ExitWithError("\nError: Broker resource not found by terraform name : " + brokerResourceTerraformName + "\n\n") + } + + // This will iterate all resources starting at brokerResourceTerraformName and genarete brokerResources and variables config for that and children + brokerResources, variables, err := fetchBrokerConfig(context, *cliClient, BrokerObjectType(brokerResourceTerraformName), brokerResourceName, providerSpecificIdentifier) + if err != nil { + ExitWithError("Failed to fetch broker config, " + err.Error()) + } + + // Postprocess brokerResources for dependencies + LogCLIInfo("Replacing hardcoded names of inter-object dependencies by references where required") + fixInterObjectDependencies(brokerResources) + + // Prep to generate the Terraform file + object := &ObjectInfo{} + object.BrokerResources = resourcesToFormattedHCL(brokerResources) + object.Variables = variables + object.BasicAuthentication = (*cliParams.Username != "" && *cliParams.Bearer_token == "") + object.FileName = fileName + LogCLIInfo("Found all resources. Writing file " + fileName) + + // Generate the Terraform file + err = GenerateTerraformFile(object) + if err != nil { + ExitWithError("Failed to write file, " + err.Error()) + } + LogCLIInfo(fileName + " created successfully.\n") +} + +func CreateBrokerObjectRelationships() { + // Loop through entities and build database + resourcesPathSignatureMap := map[string]string{} + e := internalbroker.Entities + for i, ds := range e { + // Create new entry for each resource + BrokerObjectRelationship[BrokerObjectType(ds.TerraformName)] = []BrokerObjectType{} + DSLookup[BrokerObjectType(ds.TerraformName)] = i + // Build a signature for each resource + rex := regexp.MustCompile(`{[^\/]*}`) + signature := strings.TrimSuffix(strings.Replace(rex.ReplaceAllString(ds.PathTemplate, ""), "//", "/", -1), "/") // Find all parameters in path template enclosed in {} including multiple ones + if signature != "" { + resourcesPathSignatureMap[signature] = ds.TerraformName + } + } + + // Loop through entities again and add children to parents + for _, ds := range e { + // Parent signature for each resource and add + rex := regexp.MustCompile(`{[^\/]*}`) + signature := strings.TrimSuffix(strings.Replace(rex.ReplaceAllString(ds.PathTemplate, ""), "//", "/", -1), "/") + // get parentSignature by removing the part of signature after the last / + parentSignature := path.Dir(signature) + if parentSignature != "." && parentSignature != "/" { + parentResource := resourcesPathSignatureMap[parentSignature] + BrokerObjectRelationship[BrokerObjectType(parentResource)] = append(BrokerObjectRelationship[BrokerObjectType(parentResource)], BrokerObjectType(ds.TerraformName)) + } + } +} + +func fixInterObjectDependencies(brokerResources []map[string]ResourceConfig) { + // this will modify the passed brokerResources object + + //temporal hard coding dependency graph fix not available in SEMP API + InterObjectDependencies := map[string][]string{"solacebroker_msg_vpn_authorization_group": {"solacebroker_msg_vpn_client_profile", "solacebroker_msg_vpn_acl_profile"}, + "solacebroker_msg_vpn_client_username": {"solacebroker_msg_vpn_client_profile", "solacebroker_msg_vpn_acl_profile"}, + "solacebroker_msg_vpn_rest_delivery_point": {"solacebroker_msg_vpn_client_profile"}, + "solacebroker_msg_vpn_acl_profile_client_connect_exception": {"solacebroker_msg_vpn_acl_profile"}, + "solacebroker_msg_vpn_acl_profile_publish_topic_exception": {"solacebroker_msg_vpn_acl_profile"}, + "solacebroker_msg_vpn_acl_profile_subscribe_share_name_exception": {"solacebroker_msg_vpn_acl_profile"}, + "solacebroker_msg_vpn_acl_profile_subscribe_topic_exception": {"solacebroker_msg_vpn_acl_profile"}} + + ObjectNameAttributes := map[string]string{"solacebroker_msg_vpn_client_profile": "client_profile_name", "solacebroker_msg_vpn_acl_profile": "acl_profile_name"} + + // Post-process brokerResources for dependencies + + // For each resource check if there is any dependency + for _, resources := range brokerResources { + var resourceType string + // var resourceConfig ResourceConfig + for resourceKey := range resources { + resourceType = strings.Split(resourceKey, " ")[0] + resourceDependencies, exists := InterObjectDependencies[resourceType] + if !exists { + continue + } + // Found a resource that has inter-object relationship + // fmt.Print("Found " + resourceKey + " with dependencies ") + // fmt.Println(resourceDependencies) + for _, dependency := range resourceDependencies { + nameAttribute := ObjectNameAttributes[dependency] + dependencyName := strings.Trim(resources[resourceKey].ResourceAttributes[nameAttribute].AttributeValue, "\"") + if dependencyName != "" { + // fmt.Println(" Dependency " + dependency + " name is " + dependencyName) + // Look up key for dependency with dependencyName - iterate all brokerResources + found := false + for _, r := range brokerResources { + for k := range r { + rName := strings.Split(k, " ")[0] + if rName != dependency { + continue + } + // Check the name of the found resource + if strings.Trim(r[k].ResourceAttributes[nameAttribute].AttributeValue, "\"") == dependencyName { + // fmt.Println(" Found " + k + " as suitable dependency") + // Replace hardcoded name by reference + newInfo := ResourceAttributeInfo{ + AttributeValue: strings.Replace(k, " ", ".", -1) + "." + nameAttribute, + Comment: resources[resourceKey].ResourceAttributes[nameAttribute].Comment, + } + resources[resourceKey].ResourceAttributes[nameAttribute] = newInfo + found = true + break + } + } + if found { + break + } + } + } + } + } + } +} diff --git a/cmd/generator/configgenerator_test.go b/cmd/generator/configgenerator_test.go new file mode 100644 index 00000000..8d4848f9 --- /dev/null +++ b/cmd/generator/configgenerator_test.go @@ -0,0 +1,40 @@ +// terraform-provider-solacebroker +// +// Copyright 2024 Solace Corporation. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package generator + +import ( + "testing" +) + +func TestCreateBrokerObjectRelationships(t *testing.T) { + tests := []struct { + name string + }{ + {"Generate Broker Relationship"}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + CreateBrokerObjectRelationships() + if len(BrokerObjectRelationship) == 0 { + t.Errorf("Broker relationship not built ") + } + _, exist := BrokerObjectRelationship["msg_vpn"] + if !exist { + t.Errorf("Broker relationship does not contain msgVPn relation") + } + }) + } +} diff --git a/cmd/command/configwriter.go b/cmd/generator/configwriter.go similarity index 93% rename from cmd/command/configwriter.go rename to cmd/generator/configwriter.go index 01ac4d75..795caced 100644 --- a/cmd/command/configwriter.go +++ b/cmd/generator/configwriter.go @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -package terraform +package generator import ( "bytes" @@ -49,8 +49,7 @@ func GenerateTerraformFile(terraformObjectInfo *ObjectInfo) error { var codeStream bytes.Buffer err := terraformTemplate.Execute(&codeStream, terraformObjectInfo) if err != nil { - LogCLIError("\nError: Templating error : " + err.Error() + "\n\n") - os.Exit(1) + return err } return os.WriteFile(terraformObjectInfo.FileName, codeStream.Bytes(), 0664) } diff --git a/cmd/command/configwriter_test.go b/cmd/generator/configwriter_test.go similarity index 83% rename from cmd/command/configwriter_test.go rename to cmd/generator/configwriter_test.go index 1aa0b7de..1179be1a 100644 --- a/cmd/command/configwriter_test.go +++ b/cmd/generator/configwriter_test.go @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -package terraform +package generator import "testing" @@ -29,13 +29,9 @@ func TestGenerateTerraformFile(t *testing.T) { { "CanGenerateFile", args{terraformObjectInfo: &ObjectInfo{ - Registry: "", - BrokerURL: "http://localhost:8080", - Username: "admin", - Password: "admin", - BearerToken: "", - FileName: "/tmp/somefile.tf", - BrokerResources: []map[string]string{}}, + BasicAuthentication: true, + FileName: "/tmp/somefile.tf", + BrokerResources: []map[string]string{}}, }, false, }, diff --git a/cmd/generator/sempprocessor.go b/cmd/generator/sempprocessor.go new file mode 100644 index 00000000..16cb83ed --- /dev/null +++ b/cmd/generator/sempprocessor.go @@ -0,0 +1,245 @@ +// terraform-provider-solacebroker +// +// Copyright 2024 Solace Corporation. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package generator + +import ( + "encoding/json" + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "terraform-provider-solacebroker/internal/broker" +) + +func processSempResults(resourceTypeAndName string, attributes []*broker.AttributeInfo, values []map[string]interface{}, parentInfo BrokerObjectInstanceInfo) ([]ResourceConfig, map[string]VariableConfig, error) { + var tfBrokerObjects []ResourceConfig + var tfVariables = map[string]VariableConfig{} + var attributeLookup = map[string]int{} + for k := range values { + resourceConfig := ResourceConfig{ + ResourceAttributes: map[string]ResourceAttributeInfo{}, + } + attributesWithDefaultValue := map[string]*string{} // list of attributes with default values + linkedAttributes := map[string][]string{} + + for i, attr := range attributes { + systemProvisioned := false // reset systemProvisioned + attributeLookup[attr.TerraformName] = i + if len(attr.Requires) > 0 { + linkedAttributes[attr.TerraformName] = append(linkedAttributes[attr.TerraformName], attr.Requires...) + } + if attr.Sensitive { + // write-only attributes can't be retrieved, so we don't expose them + attributesWithDefaultValue[attr.TerraformName] = nil + continue + } + if !attr.Identifying && attr.ReadOnly { + // read-only attributes should only be in the datasource + continue + } + valuesRes := values[k][attr.SempName] + if attr.Identifying { + // iterate parentInfo.identifyingAttributes + if parentInfo.identifyingAttributes != nil { + foundReference := false + for _, identifyingAttribute := range parentInfo.identifyingAttributes { + if identifyingAttribute.key == attr.SempName { + reference := strings.ReplaceAll(parentInfo.resourceTypeAndName, " ", ".") + "." + attr.TerraformName + resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(reference) + // this means that the attribute value is a reference to a parent attribute, no need to process further + foundReference = true + break + } + } + if foundReference { + continue + } + } + } + + switch attr.BaseType { + case broker.String: + if reflect.TypeOf(valuesRes) == nil { + continue + } + if !attr.Identifying && valuesRes == "" { + // non-identifying attributes with empty values will be skipped + continue + } + if len(valuesRes.(string)) > 0 { + systemProvisioned = isSystemProvisionedAttribute(valuesRes.(string)) + } + val := "\"" + SanitizeHclStringValue(valuesRes.(string)) + "\"" + if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(valuesRes) { + //attributes with default values will be added to the internal list but will be skipped from results + attributesWithDefaultValue[attr.TerraformName] = &val + continue + } + resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) + case broker.Int64: + if valuesRes == nil { + continue + } + intValue := valuesRes + val := fmt.Sprintf("%v", intValue) + if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(intValue) { + //attributes with default values will be skipped + attributesWithDefaultValue[attr.TerraformName] = &val + continue + } + resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) + case broker.Bool: + if valuesRes == nil { + continue + } + boolValue := valuesRes.(bool) + val := strconv.FormatBool(boolValue) + if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(boolValue) { + //attributes with default values will be skipped + attributesWithDefaultValue[attr.TerraformName] = &val + continue + } + resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) + case broker.Struct: + valueJson, err := json.Marshal(valuesRes) + if err != nil { + continue + } + output := strings.ReplaceAll(string(valueJson), "clearPercent", "clear_percent") + output = strings.ReplaceAll(output, "setPercent", "set_percent") + output = strings.ReplaceAll(output, "clearValue", "clear_value") + output = strings.ReplaceAll(output, "setValue", "set_value") + val := output + if reflect.TypeOf(attr.Default) != nil && fmt.Sprint(attr.Default) == fmt.Sprint(valuesRes) { + //attributes with default values will be skipped + attributesWithDefaultValue[attr.TerraformName] = &val + continue + } + resourceConfig.ResourceAttributes[attr.TerraformName] = newAttributeInfo(val) + } + // Also see SOL-102658 + if attr.Deprecated && systemProvisioned { + resourceConfig.ResourceAttributes[attr.TerraformName] = addCommentToAttributeInfo(resourceConfig.ResourceAttributes[attr.TerraformName], + " # Note: This attribute is deprecated and may also be system provisioned.") + } else if attr.Deprecated && !systemProvisioned { + resourceConfig.ResourceAttributes[attr.TerraformName] = addCommentToAttributeInfo(resourceConfig.ResourceAttributes[attr.TerraformName], + " # Note: This attribute is deprecated.") + } else if !attr.Deprecated && systemProvisioned { + if attr.Identifying { + resourceConfig.ResourceAttributes[attr.TerraformName] = addCommentToAttributeInfo(resourceConfig.ResourceAttributes[attr.TerraformName], + " # Note: The resource to which this attribute belongs may be system provisioned and may need to be removed from the config in case of error reported at apply time") + } else { + resourceConfig.ResourceAttributes[attr.TerraformName] = addCommentToAttributeInfo(resourceConfig.ResourceAttributes[attr.TerraformName], + " # Note: This attribute may be system provisioned and a \"depends_on\" meta-argument may be required to the parent object of this attribute to ensure proper order of creation") + } + } + } + // Iterate linkedAttributes + // for each attribute check if there is an entry in resourceConfig + // if so, iterate all strings as attributes and add them to resourceConfig if not already there, with value from attributesWithDefaultValue + for attrName := range linkedAttributes { + if _, ok := resourceConfig.ResourceAttributes[attrName]; ok { + sensitive := false + for _, linkedAttrName := range linkedAttributes[attrName] { + if _, ok := resourceConfig.ResourceAttributes[linkedAttrName]; !ok { + if val, ok := attributesWithDefaultValue[linkedAttrName]; ok { + if val == nil { + sensitive = true + break + } + resourceConfig.ResourceAttributes[linkedAttrName] = newAttributeInfo(*val) + } + } + } + if sensitive { + resourceName := strings.Split(resourceTypeAndName, " ")[1] + // if any linked attribute is sensitive, use variables + // first add the current attribute to variables + variableName := resourceName + "_" + attrName + attrInfo := attributes[attributeLookup[attrName]] + attrSensitive := attrInfo.Sensitive + attrType, attrDefault, _ := GetBaseTypeAndDefault(attrInfo) + val, ok := resourceConfig.ResourceAttributes[attrName] + if ok && val.AttributeValue != "" { + attrDefault = val.AttributeValue + } + newVariable := VariableConfig{ + Type: attrType, + Default: attrDefault, + Sensitive: attrSensitive, // note: expecting not sensitive since this was a defined attribute + } + tfVariables[variableName] = newVariable + resourceConfig.ResourceAttributes[attrName] = newAttributeInfo("var." + variableName) + // then iterate linked attributes and also add them to variables + for _, linkedAttrName := range linkedAttributes[attrName] { + attrInfo := attributes[attributeLookup[linkedAttrName]] + attrSensitive := attrInfo.Sensitive + attrType, attrDefault, _ := GetBaseTypeAndDefault(attrInfo) + val, ok := resourceConfig.ResourceAttributes[linkedAttrName] + if ok && val.AttributeValue != "" { + attrDefault = val.AttributeValue + } + variableName := resourceName + "_" + linkedAttrName + newVariable := VariableConfig{ + Type: attrType, + Default: attrDefault, + Sensitive: attrSensitive, + } + tfVariables[variableName] = newVariable + resourceConfig.ResourceAttributes[linkedAttrName] = newAttributeInfo("var." + variableName) + } + } + } + } + tfBrokerObjects = append(tfBrokerObjects, resourceConfig) + } + return tfBrokerObjects, tfVariables, nil +} + +func newAttributeInfo(value string) ResourceAttributeInfo { + return ResourceAttributeInfo{ + AttributeValue: value, + Comment: "", + } +} + +func addCommentToAttributeInfo(info ResourceAttributeInfo, comment string) ResourceAttributeInfo { + return ResourceAttributeInfo{ + AttributeValue: info.AttributeValue, + Comment: comment, + } +} + +func GetBaseTypeAndDefault(attrInfo *broker.AttributeInfo) (string, string, error) { + defaultValue := "" + switch attrInfo.BaseType { + case broker.String: + defaultValue = "\"" + fmt.Sprint(attrInfo.Default) + "\"" + return "string", defaultValue, nil + case broker.Int64: + defaultValue = fmt.Sprint(attrInfo.Default) + return "number", defaultValue, nil + case broker.Bool: + defaultValue = strconv.FormatBool(attrInfo.Default.(bool)) + return "bool", defaultValue, nil + case broker.Struct: + // Struct is not used right now, but if it is used in the future, it should be handled here + return "object", "", nil + default: + return "", "", errors.New("unknown base type") + } +} diff --git a/cmd/generator/templates/terraform.template b/cmd/generator/templates/terraform.template new file mode 100644 index 00000000..bc74d017 --- /dev/null +++ b/cmd/generator/templates/terraform.template @@ -0,0 +1,62 @@ +terraform { + required_providers { + solacebroker = { + source = "registry.terraform.io/solaceproducts/solacebroker" + } + } +} + +variable "broker_url" { + type = string + description = "The URL of the Solace broker." +} + +{{- if .BasicAuthentication}} + +variable "broker_username" { + type = string + description = "The management username of the Solace broker." +} + +variable "broker_password" { + type = string + description = "The management password of the Solace broker." +} +{{- else}} + +variable "broker_bearer_token" { + type = string + description = "The management bearer token of the Solace broker." +} +{{- end}} + +provider "solacebroker" { + url = var.broker_url +{{- if .BasicAuthentication}} + username = var.broker_username + password = var.broker_password +{{- else}} + bearer_token = var.broker_bearer_token +{{- end}} +} + +{{range $key,$value:= .Variables -}} +variable "{{ $key }}" { + type = {{ $value.Type }} + {{ if $value.Sensitive -}} + sensitive = true +{{else -}} + # default = {{ $value.Default }} +{{end -}} +} + +{{end -}} + +{{range .BrokerResources -}} +{{range $k, $v := . -}} +{{$kslice := splitHCLResourceName $k}} +resource "{{readHCLResourceName $kslice 0 }}" "{{readHCLResourceName $kslice 1}}" { +{{$v}} +} +{{end -}} +{{end -}} \ No newline at end of file diff --git a/cmd/generator/util.go b/cmd/generator/util.go new file mode 100644 index 00000000..7fb1a0b9 --- /dev/null +++ b/cmd/generator/util.go @@ -0,0 +1,298 @@ +// terraform-provider-solacebroker +// +// Copyright 2024 Solace Corporation. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package generator + +import ( + "bytes" + "encoding/json" + "fmt" + "os" + "sort" + "strconv" + "strings" + "text/tabwriter" + "time" + "unicode" + + "terraform-provider-solacebroker/internal/semp" +) + +type CliParams struct { + Url *string + Username *string + Password *string + Bearer_token *string + Retries *int64 + Retry_min_interval *time.Duration + Retry_max_interval *time.Duration + Request_timeout_duration *time.Duration + Request_min_interval *time.Duration + Insecure_skip_verify *bool + Skip_api_check *bool +} + +type Color string + +const ( + Reset Color = "\033[0m" + Red Color = "\033[31m" +) + +var idStartYes = []*unicode.RangeTable{ + unicode.L, + // unicode.Nl, // not included as it is not a valid starting character for an identifier + unicode.Other_ID_Start, + // include Hyphen and Underscore + { + R16: []unicode.Range16{ + {uint16('-'), uint16('-'), 1}, + {uint16('_'), uint16('_'), 1}, + }, + }, +} + +// This code defines the idContinueYes slice, which contains Unicode range tables for valid continuation characters in an identifier. +// The idContinueYes slice includes categories such as letter, number, mark, punctuation, and other valid continuation characters. +var idContinueYes = []*unicode.RangeTable{ + unicode.L, + unicode.Nl, + unicode.Other_ID_Start, + unicode.Mn, + unicode.Mc, + unicode.Nd, + unicode.Pc, + unicode.Other_ID_Continue, +} + +var idNo = []*unicode.RangeTable{ + unicode.Pattern_Syntax, + unicode.Pattern_White_Space, +} + +func UpdateCliParamsWithEnv(cliParams CliParams) CliParams { + cliParams.Url = StringParamWithEnv("url", cliParams.Url, true, "") + cliParams.Username = StringParamWithEnv("username", cliParams.Username, false, "") + cliParams.Password = StringParamWithEnv("password", cliParams.Password, false, "") + cliParams.Bearer_token = StringParamWithEnv("bearer_token", cliParams.Bearer_token, false, "") + if *cliParams.Bearer_token != "" && (*cliParams.Username != "" || *cliParams.Password != "") { + ExitWithError("Cannot provide both bearer_token and basic authentication username/password") + } + if *cliParams.Bearer_token == "" && *cliParams.Username == "" { + ExitWithError("Either bearer_token or basic authentication username/password must be provided") + } + if *cliParams.Username != "" && *cliParams.Password == "" { + ExitWithError("Password must be provided when username is provided") + } + cliParams.Retries = Int64ParamWithEnv("retries", cliParams.Retries, false, semp.DefaultRetries) + cliParams.Retry_min_interval = DurationParamWithEnv("retry_min_interval", cliParams.Retry_min_interval, false, semp.DefaultRetryMinInterval) + cliParams.Retry_max_interval = DurationParamWithEnv("retry_max_interval", cliParams.Retry_max_interval, false, semp.DefaultRetryMaxInterval) + cliParams.Request_timeout_duration = DurationParamWithEnv("request_timeout_duration", cliParams.Request_timeout_duration, false, semp.DefaultRequestTimeout) + cliParams.Request_min_interval = DurationParamWithEnv("request_min_interval", cliParams.Request_min_interval, false, semp.DefaultRequestInterval) + cliParams.Insecure_skip_verify = BooleanParamWithEnv("insecure_skip_verify", cliParams.Insecure_skip_verify, false, false) + cliParams.Skip_api_check = BooleanParamWithEnv("skip_api_check", cliParams.Skip_api_check, false, false) + return cliParams +} + +func StringParamWithEnv(name string, value *string, isMandatory bool, fallback string) *string { + if value != nil { + return value + } + envValue := os.Getenv("SOLACEBROKER_" + strings.ToUpper(name)) + if len(envValue) == 0 { + if isMandatory { + ExitWithError(fmt.Sprintf("Required parameter '%s' is missing", name)) + } else { + return &fallback //default to fallback + } + } + return &envValue +} + +func Int64ParamWithEnv(name string, value *int64, isMandatory bool, fallback int64) *int64 { + if value != nil { + return value + } + envValue := os.Getenv("SOLACEBROKER_" + strings.ToUpper(name)) + if len(envValue) == 0 { + if isMandatory { + ExitWithError(fmt.Sprintf("Required parameter '%s' is missing", name)) + } else { + return &fallback //default to fallback + } + } + i, err := strconv.ParseInt(envValue, 10, 64) + if err != nil { + ExitWithError(fmt.Sprintf("Invalid value for %s: %s", name, envValue)) + } + return &i +} + +func BooleanParamWithEnv(name string, value *bool, isMandatory bool, fallback bool) *bool { + if value != nil { + return value + } + envValue := os.Getenv("SOLACEBROKER_" + strings.ToUpper(name)) + if len(envValue) == 0 { + if isMandatory { + ExitWithError(fmt.Sprintf("Required parameter '%s' is missing", name)) + } else { + return &fallback //default to fallback + } + } + b, err := strconv.ParseBool(envValue) + if err != nil { + ExitWithError(fmt.Sprintf("Invalid value for %s: %s", name, envValue)) + } + return &b +} + +func DurationParamWithEnv(name string, value *time.Duration, isMandatory bool, fallback time.Duration) *time.Duration { + if value != nil { + return value + } + envValue := os.Getenv("SOLACEBROKER_" + strings.ToUpper(name)) + if len(envValue) == 0 { + if isMandatory { + ExitWithError(fmt.Sprintf("Required parameter '%s' is missing", name)) + } else { + return &fallback //default to fallback + } + } + d, err := time.ParseDuration(envValue) + if err != nil { + ExitWithError(fmt.Sprintf("Invalid value for %s: %s", name, envValue)) + } + return &d +} + +// Workaround filter for system provisioned attributes +func isSystemProvisionedAttribute(attribute string) bool { + systemProvisioned := strings.HasPrefix(attribute, "#") && attribute != "#DEAD_MSG_QUEUE" + return systemProvisioned +} + +func LogCLIError(err string) { + _, _ = fmt.Fprintf(os.Stdout, "%s %s %s\n", Red, err, Reset) +} + +func LogCLIInfo(info string) { + _, _ = fmt.Fprintf(os.Stdout, "\n%s %s %s", Reset, info, Reset) +} + +func ExitWithError(err string) { + LogCLIError(err) + os.Exit(1) +} + +func ConvertAttributeTextToMap(attribute string) map[string]string { + attributeMap := map[string]string{} + attributeSlice := strings.Split(attribute, "\n") + for i := range attributeSlice { + keyValue := strings.ReplaceAll(attributeSlice[i], "\t", "") + if strings.Contains(keyValue, "=") { + attributeMap[strings.Split(keyValue, "=")[0]] = strings.ReplaceAll(strings.Split(keyValue, "=")[1], "\"", "") + } + } + return attributeMap +} + +func resourcesToFormattedHCL(brokerResources []map[string]ResourceConfig) []map[string]string { + var formattedResult []map[string]string + for _, resources := range brokerResources { + resourceCollection := make(map[string]string) + for resourceTypeAndName := range resources { + formattedResource := hclFormatResource(resources[resourceTypeAndName]) + resourceCollection[resourceTypeAndName] = formattedResource + } + formattedResult = append(formattedResult, resourceCollection) + } + return formattedResult +} + +func hclFormatResource(resourceConfig ResourceConfig) string { + var attributeNames []string + for attributeName := range resourceConfig.ResourceAttributes { + attributeNames = append(attributeNames, attributeName) + } + sort.Strings(attributeNames) + var b bytes.Buffer + w := tabwriter.NewWriter(&b, 0, 0, 2, ' ', 0) + for pos := range attributeNames { + attributeName := attributeNames[pos] + attributeConfigLine := "\t" + attributeName + "\t" + "= " + attributeConfigLine += resourceConfig.ResourceAttributes[attributeName].AttributeValue + attributeConfigLine += resourceConfig.ResourceAttributes[attributeName].Comment + fmt.Fprintln(w, attributeConfigLine) + } + w.Flush() + config := b.String() + return config +} + +func SanitizeHclStringValue(value string) string { + b, _ := json.Marshal(value) + s := string(b) + output := s[1 : len(s)-1] + output = strings.ReplaceAll(output, "${", "$${") + output = strings.ReplaceAll(output, "%{", "%%{") + return output +} + +func isStartRune(r rune) bool { + return r == '-' || unicode.In(r, idStartYes...) && !unicode.In(r, idNo...) +} + +func isContinueRune(r rune) bool { + return r == '-' || unicode.In(r, idContinueYes...) && !unicode.In(r, idNo...) +} + +// A valid Terraform identifier must satisfy the following conditions: +// - It must not be an empty string. +// - The first character must be a valid starting character for an identifier. +// - All subsequent characters must be valid continuation characters for an identifier. +func IsValidTerraformIdentifier(s string) bool { + if s == "" { + return false + } + runes := []rune(s) + if !isStartRune(runes[0]) { + return false + } + for _, r := range runes[1:] { + if !isContinueRune(r) { + return false + } + } + return true +} + +// makeValidForTerraformIdentifier replaces invalid characters in a string with hyphens ('-'). +// It takes a string as input and iterates over each rune in the string. +// If the rune is not a valid continuation character or is in the idNo slice, it is replaced with a hyphen. +// The function returns the modified string with hyphens replacing the invalid characters. +func makeValidForTerraformIdentifier(s string) string { + runes := []rune(s) + for i, r := range runes { + if i == 0 && !unicode.In(r, idStartYes...) || unicode.In(r, idNo...) { + runes[i] = '-' + } else { + if !unicode.In(r, idContinueYes...) || unicode.In(r, idNo...) { + runes[i] = '-' + } + } + } + return string(runes) +} diff --git a/cmd/command/util_test.go b/cmd/generator/util_test.go similarity index 53% rename from cmd/command/util_test.go rename to cmd/generator/util_test.go index 64b6a0dd..5602cf1f 100644 --- a/cmd/command/util_test.go +++ b/cmd/generator/util_test.go @@ -13,169 +13,46 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -package terraform +package generator import ( "reflect" "testing" ) -func TestResolveSempPath(t *testing.T) { +// Add unit test for CliParamsWithEnv +func TestCliParamsWithEnv(t *testing.T) { type args struct { - pathTemplate string - v string - } - tests := []struct { - name string - args args - want string - wantErr bool - }{ - { - "MSGVPNParsing", - args{ - pathTemplate: "/msgVpns/{msgVpnName}", - v: "Test", - }, - "/msgVpns/Test", - false, - }, - { - "MSGVPNParsing", - args{ - pathTemplate: "/msgVpns/{msgVpnName}/{anotherMock}", - v: "Test/Mock", - }, - "/msgVpns/Test/Mock", - false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got, err := ResolveSempPath(tt.args.pathTemplate, tt.args.v) - if (err != nil) != tt.wantErr { - t.Errorf("ResolveSempPath() error = %v, wantErr %v", err, tt.wantErr) - return - } - if got != tt.want { - t.Errorf("ResolveSempPath() got = %v, want %v", got, tt.want) - } - }) - } -} - -func TestResolveSempPathWithParent(t *testing.T) { - type args struct { - pathTemplate string - parentValues map[string]any - } - tests := []struct { - name string - args args - want string - wantErr bool - }{ - { - "MSGVPNParsing", - args{ - pathTemplate: "/msgVpns/{msgVpnName}", - parentValues: map[string]any{"msgVpnName": "Test"}, - }, - "/msgVpns/Test", - false, - }, - { - "Parsing where all values not available", - args{ - pathTemplate: "/msgVpns/{msgVpnName}/bridges/{bridgeName},{bridgeVirtualRouter}", - parentValues: map[string]any{"msgVpnName": "Test"}, - }, - "/msgVpns/Test/bridges", - false, - }, - { - "Parsing with commas", - args{ - pathTemplate: "/msgVpns/{msgVpnName}/bridges/{bridgeName},{bridgeVirtualRouter}", - parentValues: map[string]any{"msgVpnName": "Test", "bridgeName": "TestBridge", "bridgeVirtualRouter": "TestingBridgeRouter"}, - }, - "/msgVpns/Test/bridges/TestBridge,TestingBridgeRouter", - false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got, err := ResolveSempPathWithParent(tt.args.pathTemplate, tt.args.parentValues) - if (err != nil) != tt.wantErr { - t.Errorf("ResolveSempPathWithParent() error = %v, wantErr %v", err, tt.wantErr) - return - } - if got != tt.want { - t.Errorf("ResolveSempPathWithParent() got = %v, want %v", got, tt.want) - } - }) - } -} - -func TestStringWithDefaultFromEnv(t *testing.T) { - type args struct { - name string - isMandatory bool - fallback string + cliParams CliParams } + url := "https://localhost:1943" + bearerToken := "abc" tests := []struct { name string args args - want string }{ { - "GetDefaultValue", + "TestCliParamsWithEnv", args{ - name: "REGISTRY", - isMandatory: false, - fallback: "Test", - }, - "Test", - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if got := StringWithDefaultFromEnv(tt.args.name, tt.args.isMandatory, tt.args.fallback); got != tt.want { - t.Errorf("StringWithDefaultFromEnv() = %v, want %v", got, tt.want) - } - }) - } -} - -func Test_addCommentToAttributeInfo(t *testing.T) { - type args struct { - info ResourceAttributeInfo - comment string - } - tests := []struct { - name string - args args - want ResourceAttributeInfo - }{ - { - "TestCommentAdd", - args{ - info: ResourceAttributeInfo{ - "test", - "", + cliParams: CliParams{ + Url: &url, + Username: nil, + Password: nil, + Bearer_token: &bearerToken, + Retries: nil, + Retry_min_interval: nil, + Retry_max_interval: nil, + Request_timeout_duration: nil, + Request_min_interval: nil, + Insecure_skip_verify: nil, + Skip_api_check: nil, }, }, - ResourceAttributeInfo{ - AttributeValue: "test", - Comment: "", - }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got := addCommentToAttributeInfo(tt.args.info, tt.args.comment); !reflect.DeepEqual(got, tt.want) { - t.Errorf("addCommentToAttributeInfo() = %v, want %v", got, tt.want) - } + UpdateCliParamsWithEnv(tt.args.cliParams) }) } } @@ -207,7 +84,7 @@ func Test_newAttributeInfo(t *testing.T) { } } -func TestSanitizeHclIdentifierName(t *testing.T) { +func TestMakeValidForTerraformIdentifier(t *testing.T) { type args struct { name string } @@ -219,58 +96,58 @@ func TestSanitizeHclIdentifierName(t *testing.T) { { "SanitizeTextStartingWithNumber", args{name: "1testing"}, - "gn_1testing", + "-testing", }, { "SanitizeTextContainingSpecialCharacters", args{name: "*testing*"}, - "_testing_", + "-testing-", }, { "SanitizeTextContainingSpecialCharactersTwo", args{name: "#testing/"}, - "_testing_", + "-testing-", }, { "SanitizeTextContainingSpecialCharactersThree", args{name: "$testing\""}, - "_testing_", + "-testing-", }, { "SanitizeTextContainingSpecialCharactersFour", args{name: "%testing^"}, - "_testing_", + "-testing-", }, { "SanitizeTextContainingSpecialCharactersFive", args{name: "%testing^"}, - "_testing_", + "-testing-", }, { "SanitizeTextEmpty", args{name: ""}, - "gn_", + "", }, { "SanitizeTextContainingEmpty", args{name: " "}, - "gn_", + "-", }, { "SanitizeTextOnlySpecialCharacter", args{name: "#"}, - "gn__", + "-", }, { "SanitizeTextOnlySpecialCharacterTwo", args{name: "\\"}, - "gn__", + "-", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got := SanitizeHclIdentifierName(tt.args.name); got != tt.want { - t.Errorf("SanitizeHclIdentifierName() = %v, want %v", got, tt.want) + if got := makeValidForTerraformIdentifier(tt.args.name); got != tt.want { + t.Errorf("makeValidForTerraformIdentifier() = %v, want %v", got, tt.want) } }) } @@ -353,3 +230,71 @@ func TestSanitizeHclValue(t *testing.T) { }) } } + +func TestIsValidTerraformIdentifier(t *testing.T) { + tests := []struct { + name string + input string + expected bool + }{ + { + name: "EmptyString", + input: "", + expected: false, + }, + { + name: "ValidIdentifier", + input: "validIdentifier", + expected: true, + }, + { + name: "InvalidIdentifier_StartsWithNumber", + input: "1invalidIdentifier", + expected: false, + }, + { + name: "DoesnotStartWithNumber", + input: "a123456", + expected: true, + }, + { + name: "InvalidIdentifier_ContainsSpecialCharacter", + input: "invalid@Identifier", + expected: false, + }, + { + name: "InvalidIdentifier_ContainsSpace", + input: "invalid Identifier", + expected: false, + }, + { + name: "StartsWithUnderscore", + input: "_test", + expected: true, + }, + { + name: "IncludesUnderscore", + input: "a_test", + expected: true, + }, + { + name: "StartsWithHyphen", + input: "-test", + expected: true, + }, + { + name: "IncludesHyphen", + input: "a-test", + expected: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := IsValidTerraformIdentifier(tt.input) + if result != tt.expected { + t.Errorf("IsValidTerraformIdentifier() = %v, want %v", result, tt.expected) + } + }) + } +} diff --git a/cmd/root.go b/cmd/root.go index 279f23a0..7be34a2e 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -17,8 +17,6 @@ package cmd import ( - terraform "terraform-provider-solacebroker/cmd/command" - "github.com/spf13/cobra" ) @@ -31,7 +29,6 @@ The rest of this help describes the command-line use.`, } func Execute() error { - terraform.CreateBrokerObjectRelationships() err := rootCmd.Execute() if err != nil { return err diff --git a/cmd/versioncmd.go b/cmd/versioncmd.go index 66698aa8..6bb416ea 100644 --- a/cmd/versioncmd.go +++ b/cmd/versioncmd.go @@ -36,7 +36,7 @@ var versionCmd = &cobra.Command{ Short: "Provides version information about the current binary", Long: "", Run: func(cmd *cobra.Command, args []string) { - fmt.Println(fmt.Sprintf("Terraform Provider for Solace PubSub+ %s platform, version: %s, based on Semp version %s", BrokerPlatformName[generated.Platform], broker.ProviderVersion, generated.SempVersion)) + fmt.Printf("Terraform Provider for Solace PubSub+ %s platform, version: %s, based on Semp version %s\n", BrokerPlatformName[generated.Platform], broker.ProviderVersion, generated.SempVersion) }, } diff --git a/debugRun.go b/debugRun.go index 3611482b..ea369cf2 100644 --- a/debugRun.go +++ b/debugRun.go @@ -73,7 +73,7 @@ func debugRun(debugRun, address string) { } cmdLine := strings.Split(debugRun, " ") cmd := exec.Command(cmdLine[0], cmdLine[1:]...) - data, err := json.Marshal(map[string]any{ + data, _ := json.Marshal(map[string]any{ address: map[string]any{ "Protocol": "grpc", "ProtocolVersion": 6, diff --git a/docs/data-sources/about_user.md b/docs/data-sources/about_user.md index 7ac08891..32b1ac1d 100644 --- a/docs/data-sources/about_user.md +++ b/docs/data-sources/about_user.md @@ -33,7 +33,6 @@ This has been available since SEMP API version 2.2. "read-only" - Read only access. "read-write" - Read and write access. -- `global_dmr_bridge_access_enabled` (Boolean) Indicates whether global DMR Bridge access is enabled for the User. This is only for Solace internal use. This attribute may not be returned in a GET. Available since (hidden in public API). - `session_active` (Boolean) Indicates whether a session is active for this request. Available since SEMP API version 2.24. - `session_create_time` (Number) The timestamp of when the session was created. This attribute may not be returned in a GET. This value represents the number of seconds since 1970-01-01 00:00:00 UTC (Unix time). Available since SEMP API version 2.21. - `session_current_time` (Number) The current server timestamp. This is provided as a reference point for the other timestamps provided. This attribute may not be returned in a GET. This value represents the number of seconds since 1970-01-01 00:00:00 UTC (Unix time). Available since SEMP API version 2.21. diff --git a/docs/data-sources/about_user_msg_vpn.md b/docs/data-sources/about_user_msg_vpn.md index b41be7f9..2d5be0cf 100644 --- a/docs/data-sources/about_user_msg_vpn.md +++ b/docs/data-sources/about_user_msg_vpn.md @@ -6,7 +6,7 @@ description: |- This provides information about the Message VPN access level for the username used to access the SEMP API. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "global/none" is required to perform this operation. This has been available since SEMP API version 2.2. --- diff --git a/docs/data-sources/broker.md b/docs/data-sources/broker.md index 08b9f0a3..bc002147 100644 --- a/docs/data-sources/broker.md +++ b/docs/data-sources/broker.md @@ -6,129 +6,129 @@ description: |- This object contains global configuration for the message broker. Attribute|Write-Only|Opaque :---|:---:|:---: - tlsservercertcontent|x|x - tlsservercertpassword|x| + tls_server_cert_content|x|x + tls_server_cert_password|x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. Requests which include the following attributes may require greater access scope/level than "vpn/read-only": Attribute|Access Scope/Level :---|:---: - authclientcertrevocationcheckmode|global/read-only - configsyncauthenticationclientcertmaxchaindepth|global/read-only - configsyncauthenticationclientcertvalidatedateenabled|global/read-only - configsyncclientprofiletcpinitialcongestionwindow|global/read-only - configsyncclientprofiletcpkeepalivecount|global/read-only - configsyncclientprofiletcpkeepaliveidle|global/read-only - configsyncclientprofiletcpkeepaliveinterval|global/read-only - configsyncclientprofiletcpmaxwindow|global/read-only - configsyncclientprofiletcpmss|global/read-only - configsyncenabled|global/read-only - configsyncsynchronizeusernameenabled|global/read-only - configsynctlsenabled|global/read-only - guaranteedmsgingdefragmentationscheduledaylist|global/read-only - guaranteedmsgingdefragmentationscheduleenabled|global/read-only - guaranteedmsgingdefragmentationscheduletimelist|global/read-only - guaranteedmsgingdefragmentationthresholdenabled|global/read-only - guaranteedmsgingdefragmentationthresholdfragmentationpercentage|global/read-only - guaranteedmsgingdefragmentationthresholdmininterval|global/read-only - guaranteedmsgingdefragmentationthresholdusagepercentage|global/read-only - guaranteedmsgingenabled|global/read-only - guaranteedmsgingeventcacheusagethreshold.clearpercent|global/read-only - guaranteedmsgingeventcacheusagethreshold.clearvalue|global/read-only - guaranteedmsgingeventcacheusagethreshold.setpercent|global/read-only - guaranteedmsgingeventcacheusagethreshold.setvalue|global/read-only - guaranteedmsgingeventdeliveredunackedthreshold.clearpercent|global/read-only - guaranteedmsgingeventdeliveredunackedthreshold.setpercent|global/read-only - guaranteedmsgingeventdiskusagethreshold.clearpercent|global/read-only - guaranteedmsgingeventdiskusagethreshold.setpercent|global/read-only - guaranteedmsgingeventegressflowcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventegressflowcountthreshold.clearvalue|global/read-only - guaranteedmsgingeventegressflowcountthreshold.setpercent|global/read-only - guaranteedmsgingeventegressflowcountthreshold.setvalue|global/read-only - guaranteedmsgingeventendpointcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventendpointcountthreshold.clearvalue|global/read-only - guaranteedmsgingeventendpointcountthreshold.setpercent|global/read-only - guaranteedmsgingeventendpointcountthreshold.setvalue|global/read-only - guaranteedmsgingeventingressflowcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventingressflowcountthreshold.clearvalue|global/read-only - guaranteedmsgingeventingressflowcountthreshold.setpercent|global/read-only - guaranteedmsgingeventingressflowcountthreshold.setvalue|global/read-only - guaranteedmsgingeventmsgcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventmsgcountthreshold.setpercent|global/read-only - guaranteedmsgingeventmsgspoolfilecountthreshold.clearpercent|global/read-only - guaranteedmsgingeventmsgspoolfilecountthreshold.setpercent|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.clearpercent|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.clearvalue|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.setpercent|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.setvalue|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.clearpercent|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.clearvalue|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.setpercent|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.setvalue|global/read-only - guaranteedmsgingeventtransactedsessionresourcecountthreshold.clearpercent|global/read-only - guaranteedmsgingeventtransactedsessionresourcecountthreshold.setpercent|global/read-only - guaranteedmsgingeventtransactioncountthreshold.clearpercent|global/read-only - guaranteedmsgingeventtransactioncountthreshold.clearvalue|global/read-only - guaranteedmsgingeventtransactioncountthreshold.setpercent|global/read-only - guaranteedmsgingeventtransactioncountthreshold.setvalue|global/read-only - guaranteedmsgingmaxcacheusage|global/read-only - guaranteedmsgingmaxmsgspoolusage|global/read-only - guaranteedmsgingmsgspoolsyncmirroredmsgacktimeout|global/read-only - guaranteedmsgingmsgspoolsyncmirroredspoolfileacktimeout|global/read-only - guaranteedmsgingtransactionreplicationcompatibilitymode|global/read-only - oauthprofiledefault|global/read-only - serviceamqpenabled|global/read-only - serviceamqptlslistenport|global/read-only - serviceeventconnectioncountthreshold.clearpercent|global/read-only - serviceeventconnectioncountthreshold.clearvalue|global/read-only - serviceeventconnectioncountthreshold.setpercent|global/read-only - serviceeventconnectioncountthreshold.setvalue|global/read-only - servicehealthcheckenabled|global/read-only - servicehealthchecklistenport|global/read-only - servicehealthchecktlsenabled|global/read-only - servicehealthchecktlslistenport|global/read-only - servicematelinkenabled|global/read-only - servicematelinklistenport|global/read-only - servicemqttenabled|global/read-only - servicemsgbackboneenabled|global/read-only - serviceredundancyenabled|global/read-only - serviceredundancyfirstlistenport|global/read-only - serviceresteventoutgoingconnectioncountthreshold.clearpercent|global/read-only - serviceresteventoutgoingconnectioncountthreshold.clearvalue|global/read-only - serviceresteventoutgoingconnectioncountthreshold.setpercent|global/read-only - serviceresteventoutgoingconnectioncountthreshold.setvalue|global/read-only - servicerestincomingenabled|global/read-only - servicerestoutgoingenabled|global/read-only - servicesempcorsallowanyhostenabled|global/read-only - servicesemplegacytimeoutenabled|global/read-only - servicesempplaintextenabled|global/read-only - servicesempplaintextlistenport|global/read-only - servicesempsessionidletimeout|global/read-only - servicesempsessionmaxlifetime|global/read-only - servicesemptlsenabled|global/read-only - servicesemptlslistenport|global/read-only - servicesmfcompressionlistenport|global/read-only - servicesmfenabled|global/read-only - servicesmfeventconnectioncountthreshold.clearpercent|global/read-only - servicesmfeventconnectioncountthreshold.clearvalue|global/read-only - servicesmfeventconnectioncountthreshold.setpercent|global/read-only - servicesmfeventconnectioncountthreshold.setvalue|global/read-only - servicesmfplaintextlistenport|global/read-only - servicesmfroutingcontrollistenport|global/read-only - servicesmftlslistenport|global/read-only - servicetlseventconnectioncountthreshold.clearpercent|global/read-only - servicetlseventconnectioncountthreshold.clearvalue|global/read-only - servicetlseventconnectioncountthreshold.setpercent|global/read-only - servicetlseventconnectioncountthreshold.setvalue|global/read-only - servicewebtransportenabled|global/read-only - servicewebtransportplaintextlistenport|global/read-only - servicewebtransporttlslistenport|global/read-only - servicewebtransportweburlsuffix|global/read-only - tlsblockversion11enabled|global/read-only - tlsciphersuitemanagementlist|global/read-only - tlsciphersuitemsgbackbonelist|global/read-only - tlsciphersuitesecureshelllist|global/read-only - tlscrimeexploitprotectionenabled|global/read-only - tlsservercertcontent|global/read-only - tlsticket_lifetime|global/read-only + auth_client_cert_revocation_check_mode|global/read-only + config_sync_authentication_client_cert_max_chain_depth|global/read-only + config_sync_authentication_client_cert_validate_date_enabled|global/read-only + config_sync_client_profile_tcp_initial_congestion_window|global/read-only + config_sync_client_profile_tcp_keepalive_count|global/read-only + config_sync_client_profile_tcp_keepalive_idle|global/read-only + config_sync_client_profile_tcp_keepalive_interval|global/read-only + config_sync_client_profile_tcp_max_window|global/read-only + config_sync_client_profile_tcp_mss|global/read-only + config_sync_enabled|global/read-only + config_sync_synchronize_username_enabled|global/read-only + config_sync_tls_enabled|global/read-only + guaranteed_msging_defragmentation_schedule_day_list|global/read-only + guaranteed_msging_defragmentation_schedule_enabled|global/read-only + guaranteed_msging_defragmentation_schedule_time_list|global/read-only + guaranteed_msging_defragmentation_threshold_enabled|global/read-only + guaranteed_msging_defragmentation_threshold_fragmentation_percentage|global/read-only + guaranteed_msging_defragmentation_threshold_min_interval|global/read-only + guaranteed_msging_defragmentation_threshold_usage_percentage|global/read-only + guaranteed_msging_enabled|global/read-only + guaranteed_msging_event_cache_usage_threshold.clear_percent|global/read-only + guaranteed_msging_event_cache_usage_threshold.clear_value|global/read-only + guaranteed_msging_event_cache_usage_threshold.set_percent|global/read-only + guaranteed_msging_event_cache_usage_threshold.set_value|global/read-only + guaranteed_msging_event_delivered_unacked_threshold.clear_percent|global/read-only + guaranteed_msging_event_delivered_unacked_threshold.set_percent|global/read-only + guaranteed_msging_event_disk_usage_threshold.clear_percent|global/read-only + guaranteed_msging_event_disk_usage_threshold.set_percent|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.clear_value|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.set_percent|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.set_value|global/read-only + guaranteed_msging_event_endpoint_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_endpoint_count_threshold.clear_value|global/read-only + guaranteed_msging_event_endpoint_count_threshold.set_percent|global/read-only + guaranteed_msging_event_endpoint_count_threshold.set_value|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.clear_value|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.set_percent|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.set_value|global/read-only + guaranteed_msging_event_msg_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_msg_count_threshold.set_percent|global/read-only + guaranteed_msging_event_msg_spool_file_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_msg_spool_file_count_threshold.set_percent|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.clear_percent|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.clear_value|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.set_percent|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.set_value|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.clear_value|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.set_percent|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.set_value|global/read-only + guaranteed_msging_event_transacted_session_resource_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_transacted_session_resource_count_threshold.set_percent|global/read-only + guaranteed_msging_event_transaction_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_transaction_count_threshold.clear_value|global/read-only + guaranteed_msging_event_transaction_count_threshold.set_percent|global/read-only + guaranteed_msging_event_transaction_count_threshold.set_value|global/read-only + guaranteed_msging_max_cache_usage|global/read-only + guaranteed_msging_max_msg_spool_usage|global/read-only + guaranteed_msging_msg_spool_sync_mirrored_msg_ack_timeout|global/read-only + guaranteed_msging_msg_spool_sync_mirrored_spool_file_ack_timeout|global/read-only + guaranteed_msging_transaction_replication_compatibility_mode|global/read-only + oauth_profile_default|global/read-only + service_amqp_enabled|global/read-only + service_amqp_tls_listen_port|global/read-only + service_event_connection_count_threshold.clear_percent|global/read-only + service_event_connection_count_threshold.clear_value|global/read-only + service_event_connection_count_threshold.set_percent|global/read-only + service_event_connection_count_threshold.set_value|global/read-only + service_health_check_enabled|global/read-only + service_health_check_listen_port|global/read-only + service_health_check_tls_enabled|global/read-only + service_health_check_tls_listen_port|global/read-only + service_mate_link_enabled|global/read-only + service_mate_link_listen_port|global/read-only + service_mqtt_enabled|global/read-only + service_msg_backbone_enabled|global/read-only + service_redundancy_enabled|global/read-only + service_redundancy_first_listen_port|global/read-only + service_rest_event_outgoing_connection_count_threshold.clear_percent|global/read-only + service_rest_event_outgoing_connection_count_threshold.clear_value|global/read-only + service_rest_event_outgoing_connection_count_threshold.set_percent|global/read-only + service_rest_event_outgoing_connection_count_threshold.set_value|global/read-only + service_rest_incoming_enabled|global/read-only + service_rest_outgoing_enabled|global/read-only + service_semp_cors_allow_any_host_enabled|global/read-only + service_semp_legacy_timeout_enabled|global/read-only + service_semp_plain_text_enabled|global/read-only + service_semp_plain_text_listen_port|global/read-only + service_semp_session_idle_timeout|global/read-only + service_semp_session_max_lifetime|global/read-only + service_semp_tls_enabled|global/read-only + service_semp_tls_listen_port|global/read-only + service_smf_compression_listen_port|global/read-only + service_smf_enabled|global/read-only + service_smf_event_connection_count_threshold.clear_percent|global/read-only + service_smf_event_connection_count_threshold.clear_value|global/read-only + service_smf_event_connection_count_threshold.set_percent|global/read-only + service_smf_event_connection_count_threshold.set_value|global/read-only + service_smf_plain_text_listen_port|global/read-only + service_smf_routing_control_listen_port|global/read-only + service_smf_tls_listen_port|global/read-only + service_tls_event_connection_count_threshold.clear_percent|global/read-only + service_tls_event_connection_count_threshold.clear_value|global/read-only + service_tls_event_connection_count_threshold.set_percent|global/read-only + service_tls_event_connection_count_threshold.set_value|global/read-only + service_web_transport_enabled|global/read-only + service_web_transport_plain_text_listen_port|global/read-only + service_web_transport_tls_listen_port|global/read-only + service_web_transport_web_url_suffix|global/read-only + tls_block_version11_enabled|global/read-only + tls_cipher_suite_management_list|global/read-only + tls_cipher_suite_msg_backbone_list|global/read-only + tls_cipher_suite_secure_shell_list|global/read-only + tls_crime_exploit_protection_enabled|global/read-only + tls_server_cert_content|global/read-only + tls_ticket_lifetime|global/read-only This has been available since SEMP API version 2.13. --- @@ -306,18 +306,18 @@ This has been available since SEMP API version 2.13. - `guaranteed_msging_defragmentation_threshold_min_interval` (Number) Minimum interval of time (in minutes) between defragmentation runs triggered by thresholds. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `15`. Available since SEMP API version 2.25. - `guaranteed_msging_defragmentation_threshold_usage_percentage` (Number) Percentage of spool usage needed to trigger defragmentation run. The minimum value allowed is 30%. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `50`. Available since SEMP API version 2.25. - `guaranteed_msging_enabled` (Boolean) Enable or disable Guaranteed Messaging. The default value is `false`. Available since SEMP API version 2.18. -- `guaranteed_msging_event_cache_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_cache_usage_threshold)) -- `guaranteed_msging_event_delivered_unacked_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_delivered_unacked_threshold)) -- `guaranteed_msging_event_disk_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_disk_usage_threshold)) -- `guaranteed_msging_event_egress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_egress_flow_count_threshold)) -- `guaranteed_msging_event_endpoint_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_endpoint_count_threshold)) -- `guaranteed_msging_event_ingress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_ingress_flow_count_threshold)) -- `guaranteed_msging_event_msg_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_count_threshold)) -- `guaranteed_msging_event_msg_spool_file_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_file_count_threshold)) -- `guaranteed_msging_event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_usage_threshold)) -- `guaranteed_msging_event_transacted_session_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_count_threshold)) -- `guaranteed_msging_event_transacted_session_resource_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_resource_count_threshold)) -- `guaranteed_msging_event_transaction_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_transaction_count_threshold)) +- `guaranteed_msging_event_cache_usage_threshold` (Attributes) The thresholds for the cache usage event at system level, relative to `guaranteed_msging_max_cache_usage`. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_cache_usage_threshold)) +- `guaranteed_msging_event_delivered_unacked_threshold` (Attributes) The thresholds for the number of delivered but unacknowledged messages event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_delivered_unacked_threshold)) +- `guaranteed_msging_event_disk_usage_threshold` (Attributes) The thresholds for the active disk partition usage event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_disk_usage_threshold)) +- `guaranteed_msging_event_egress_flow_count_threshold` (Attributes) The thresholds for the transmit flow count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_egress_flow_count_threshold)) +- `guaranteed_msging_event_endpoint_count_threshold` (Attributes) The thresholds for the endpoints count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_endpoint_count_threshold)) +- `guaranteed_msging_event_ingress_flow_count_threshold` (Attributes) The thresholds for the receive flow count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_ingress_flow_count_threshold)) +- `guaranteed_msging_event_msg_count_threshold` (Attributes) The thresholds for the spool message count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_count_threshold)) +- `guaranteed_msging_event_msg_spool_file_count_threshold` (Attributes) The thresholds for the spool file count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_file_count_threshold)) +- `guaranteed_msging_event_msg_spool_usage_threshold` (Attributes) The thresholds for the spool usage event at system level, relative to `max_spool_usage`. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_usage_threshold)) +- `guaranteed_msging_event_transacted_session_count_threshold` (Attributes) The thresholds for the transacted sessions event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_count_threshold)) +- `guaranteed_msging_event_transacted_session_resource_count_threshold` (Attributes) The thresholds for the transacted session resources at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_resource_count_threshold)) +- `guaranteed_msging_event_transaction_count_threshold` (Attributes) The thresholds for the transactions event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_transaction_count_threshold)) - `guaranteed_msging_max_cache_usage` (Number) Guaranteed messaging cache usage limit. Expressed as a maximum percentage of the NAB's egress queueing. resources that the guaranteed message cache is allowed to use. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `10`. Available since SEMP API version 2.18. - `guaranteed_msging_max_msg_spool_usage` (Number) The maximum total message spool usage allowed across all VPNs on this broker, in megabytes. Recommendation: the maximum value should be less than 90% of the disk space allocated for the guaranteed message spool. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `1500`. Available since SEMP API version 2.18. - `guaranteed_msging_msg_spool_sync_mirrored_msg_ack_timeout` (Number) The maximum time, in milliseconds, that can be tolerated for remote acknowledgment of synchronization messages before which the remote system will be considered out of sync. The default value is `10000`. Available since SEMP API version 2.18. @@ -332,7 +332,7 @@ This has been available since SEMP API version 2.13. - `oauth_profile_default` (String) The default OAuth profile for OAuth authenticated SEMP requests. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `""`. Available since SEMP API version 2.24. - `service_amqp_enabled` (Boolean) Enable or disable the AMQP service. When disabled new AMQP Clients may not connect through the global or per-VPN AMQP listen-ports, and all currently connected AMQP Clients are immediately disconnected. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_amqp_tls_listen_port` (Number) TCP port number that AMQP clients can use to connect to the broker using raw TCP over TLS. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_amqp_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `0`. Available since SEMP API version 2.17. -- `service_event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_event_connection_count_threshold)) +- `service_event_connection_count_threshold` (Attributes) The thresholds for the connection count event. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_event_connection_count_threshold)) - `service_health_check_enabled` (Boolean) Enable or disable the plain-text health-check service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_health_check_listen_port` (Number) The port number for the plain-text health-check service. The port must be unique across the message backbone. The health-check service must be disabled to change the port. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_health_check_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `5550`. Available since SEMP API version 2.17. - `service_health_check_tls_enabled` (Boolean) Enable or disable the TLS health-check service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.34. @@ -343,7 +343,7 @@ This has been available since SEMP API version 2.13. - `service_msg_backbone_enabled` (Boolean) Enable or disable the msg-backbone service. When disabled new Clients may not connect through global or per-VPN listen-ports, and all currently connected Clients are immediately disconnected. The default value is `true`. Available since SEMP API version 2.17. - `service_redundancy_enabled` (Boolean) Enable or disable the redundancy service. The default value is `true`. Available since SEMP API version 2.17. - `service_redundancy_first_listen_port` (Number) The first listen-port used for the redundancy service. Redundancy uses this port and the subsequent 2 ports. These port must be unique across the message backbone. The redundancy service must be disabled to change this port. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_redundancy_enabled will be temporarily set to false to apply the change. The default value is `8300`. Available since SEMP API version 2.17. -- `service_rest_event_outgoing_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_rest_event_outgoing_connection_count_threshold)) +- `service_rest_event_outgoing_connection_count_threshold` (Attributes) The thresholds for the REST outgoing connection count event. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_rest_event_outgoing_connection_count_threshold)) - `service_rest_incoming_enabled` (Boolean) Enable or disable the REST service incoming connections on the broker. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_rest_outgoing_enabled` (Boolean) Enable or disable the REST service outgoing connections on the broker. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_semp_cors_allow_any_host_enabled` (Boolean) Enable or disable cross origin resource requests for the SEMP service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `true`. Available since SEMP API version 2.24. @@ -354,11 +354,11 @@ This has been available since SEMP API version 2.13. - `service_semp_tls_enabled` (Boolean) Enable or disable TLS SEMP service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `true`. Available since SEMP API version 2.17. - `service_smf_compression_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw compression TCP. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55003`. Available since SEMP API version 2.17. - `service_smf_enabled` (Boolean) Enable or disable the SMF service. When disabled new SMF Clients may not connect through the global listen-ports, and all currently connected SMF Clients are immediately disconnected. The default value is `true`. Available since SEMP API version 2.17. -- `service_smf_event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_smf_event_connection_count_threshold)) +- `service_smf_event_connection_count_threshold` (Attributes) The thresholds for the SMF connection count event. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_smf_event_connection_count_threshold)) - `service_smf_plain_text_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw TCP. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55555`. Available since SEMP API version 2.17. - `service_smf_routing_control_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw routing control TCP. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55556`. Available since SEMP API version 2.17. - `service_smf_tls_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw TCP over TLS. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55443`. Available since SEMP API version 2.17. -- `service_tls_event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_tls_event_connection_count_threshold)) +- `service_tls_event_connection_count_threshold` (Attributes) The thresholds for the incoming and outgoing TLS connection count event of the broker. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_tls_event_connection_count_threshold)) - `service_web_transport_enabled` (Boolean) Enable or disable the web-transport service. When disabled new web-transport Clients may not connect through the global listen-ports, and all currently connected web-transport Clients are immediately disconnected. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_web_transport_plain_text_listen_port` (Number) The TCP port for plain-text WEB client connections. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_web_transport_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `8008`. Available since SEMP API version 2.17. - `service_web_transport_tls_listen_port` (Number) The TCP port for TLS WEB client connections. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_web_transport_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `1443`. Available since SEMP API version 2.17. @@ -371,7 +371,6 @@ This has been available since SEMP API version 2.13. - `tls_standard_domain_certificate_authorities_enabled` (Boolean) Enable or disable the standard domain certificate authority list. The default value is `true`. Available since SEMP API version 2.19. - `tls_ticket_lifetime` (Number) The TLS ticket lifetime in seconds. When a client connects with TLS, a session with a session ticket is created using the TLS ticket lifetime which determines how long the client has to resume the session. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `86400`. - `web_manager_allow_unencrypted_wizards_enabled` (Boolean) Enable or disable the use of unencrypted wizards in the Web-based Manager UI. This setting should be left at its default on all production systems or other systems that need to be secure. Enabling this option will permit the broker to forward plain-text data to other brokers, making important information or credentials available for snooping. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.28. -- `web_manager_customization` (String) Reserved for internal use by Solace. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `""`. Available since SEMP API version 2.25. - `web_manager_redirect_http_enabled` (Boolean) Enable or disable redirection of HTTP requests for the broker manager to HTTPS. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `true`. Available since SEMP API version 2.24. - `web_manager_redirect_http_override_tls_port` (Number) The HTTPS port that HTTP requests will be redirected towards in a HTTP 301 redirect response. Zero is a special value that means use the value specified for the SEMP TLS port value. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `0`. Available since SEMP API version 2.24. @@ -380,9 +379,9 @@ This has been available since SEMP API version 2.13. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -391,8 +390,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -400,8 +399,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -409,9 +408,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -420,9 +419,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -431,9 +430,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -442,8 +441,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -451,8 +450,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -460,9 +459,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -471,9 +470,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -482,8 +481,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -491,9 +490,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -502,9 +501,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -513,9 +512,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -524,9 +523,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -535,7 +534,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/client_cert_authority.md b/docs/data-sources/client_cert_authority.md index e2c89581..42cdd4aa 100644 --- a/docs/data-sources/client_cert_authority.md +++ b/docs/data-sources/client_cert_authority.md @@ -6,7 +6,7 @@ description: |- Clients can authenticate with the message broker over TLS by presenting a valid client certificate. The message broker authenticates the client certificate by constructing a full certificate chain (from the client certificate to intermediate CAs to a configured root CA). The intermediate CAs in this chain can be provided by the client, or configured in the message broker. The root CA must be configured on the message broker. Attribute|Identifying :---|:---: - certauthorityname|x + cert_authority_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.19. --- diff --git a/docs/data-sources/client_cert_authority_ocsp_tls_trusted_common_name.md b/docs/data-sources/client_cert_authority_ocsp_tls_trusted_common_name.md index cef30a05..7ab05a22 100644 --- a/docs/data-sources/client_cert_authority_ocsp_tls_trusted_common_name.md +++ b/docs/data-sources/client_cert_authority_ocsp_tls_trusted_common_name.md @@ -6,8 +6,8 @@ description: |- When an OCSP override URL is configured, the OCSP responder will be required to sign the OCSP responses with certificates issued to these Trusted Common Names. A maximum of 8 common names can be configured as valid response signers. Attribute|Identifying :---|:---: - certauthorityname|x - ocsptlstrustedcommonname|x + cert_authority_name|x + ocsp_tls_trusted_common_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.19. --- diff --git a/docs/data-sources/dmr_cluster.md b/docs/data-sources/dmr_cluster.md index c67ca55e..001375ff 100644 --- a/docs/data-sources/dmr_cluster.md +++ b/docs/data-sources/dmr_cluster.md @@ -6,11 +6,11 @@ description: |- A Cluster is a provisioned object on a message broker that contains global DMR configuration parameters. Attribute|Identifying|Write-Only|Deprecated|Opaque :---|:---:|:---:|:---:|:---: - authenticationbasicpassword||x||x - authenticationclientcertcontent||x||x - authenticationclientcertpassword||x|| - dmrclustername|x||| - tlsservercertenforcetrustedcommonname_enabled|||x| + authentication_basic_password||x||x + authentication_client_cert_content||x||x + authentication_client_cert_password||x|| + dmr_cluster_name|x||| + tls_server_cert_enforce_trusted_common_name_enabled|||x| A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- diff --git a/docs/data-sources/dmr_cluster_cert_matching_rule.md b/docs/data-sources/dmr_cluster_cert_matching_rule.md index 99079189..d60d41a3 100644 --- a/docs/data-sources/dmr_cluster_cert_matching_rule.md +++ b/docs/data-sources/dmr_cluster_cert_matching_rule.md @@ -6,7 +6,7 @@ description: |- A Cert Matching Rule is a collection of conditions and attribute filters that all have to be satisfied for certificate to be acceptable as authentication for a given link. Attribute|Identifying :---|:---: - dmrclustername|x + dmr_cluster_name|x rule_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. diff --git a/docs/data-sources/dmr_cluster_cert_matching_rule_attribute_filter.md b/docs/data-sources/dmr_cluster_cert_matching_rule_attribute_filter.md index 249d4816..4814465f 100644 --- a/docs/data-sources/dmr_cluster_cert_matching_rule_attribute_filter.md +++ b/docs/data-sources/dmr_cluster_cert_matching_rule_attribute_filter.md @@ -6,9 +6,9 @@ description: |- A Cert Matching Rule Attribute Filter compares a link attribute to a string. Attribute|Identifying :---|:---: - dmrclustername|x - filtername|x - rulename|x + dmr_cluster_name|x + filter_name|x + rule_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. --- diff --git a/docs/data-sources/dmr_cluster_cert_matching_rule_condition.md b/docs/data-sources/dmr_cluster_cert_matching_rule_condition.md index cbdaddf4..2f929c16 100644 --- a/docs/data-sources/dmr_cluster_cert_matching_rule_condition.md +++ b/docs/data-sources/dmr_cluster_cert_matching_rule_condition.md @@ -6,7 +6,7 @@ description: |- A Cert Matching Rule Condition compares data extracted from a certificate to a link attribute or an expression. Attribute|Identifying :---|:---: - dmrclustername|x + dmr_cluster_name|x rule_name|x source|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. diff --git a/docs/data-sources/dmr_cluster_link.md b/docs/data-sources/dmr_cluster_link.md index a4d2248d..380fa6fc 100644 --- a/docs/data-sources/dmr_cluster_link.md +++ b/docs/data-sources/dmr_cluster_link.md @@ -6,9 +6,9 @@ description: |- A Link connects nodes (either within a Cluster or between two different Clusters) and allows them to exchange topology information, subscriptions and data. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - dmrclustername|x|| - remotenodename|x|| + authentication_basic_password||x|x + dmr_cluster_name|x|| + remote_node_name|x|| A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- @@ -74,7 +74,7 @@ This has been available since SEMP API version 2.11. "remote" - The remote node initiates. - `queue_dead_msg_queue` (String) The name of the Dead Message Queue (DMQ) used by the Queue for discarded messages. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `"#DEAD_MSG_QUEUE"`. -- `queue_event_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_spool_usage_threshold)) +- `queue_event_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `queue_max_msg_spool_usage`. (see [below for nested schema](#nestedatt--queue_event_spool_usage_threshold)) - `queue_max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the Queue. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `1000000`. - `queue_max_msg_spool_usage` (Number) The maximum message spool usage by the Queue (quota), in megabytes (MB). Changes to this attribute are synchronized to HA mates via config-sync. The default value is `800000`. - `queue_max_redelivery_count` (Number) The maximum number of times the Queue will attempt redelivery of a message prior to it being discarded or moved to the DMQ. A value of 0 means to retry forever. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `0`. @@ -101,7 +101,7 @@ This has been available since SEMP API version 2.11. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `1`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `2`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/dmr_cluster_link_attribute.md b/docs/data-sources/dmr_cluster_link_attribute.md index cc5ebfb1..c847d340 100644 --- a/docs/data-sources/dmr_cluster_link_attribute.md +++ b/docs/data-sources/dmr_cluster_link_attribute.md @@ -6,10 +6,10 @@ description: |- A Link Attribute is a key+value pair that can be used to locate a DMR Cluster Link, for example when using client certificate mapping. Attribute|Identifying :---|:---: - attributename|x - attributevalue|x - dmrclustername|x - remotenodename|x + attribute_name|x + attribute_value|x + dmr_cluster_name|x + remote_node_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. --- diff --git a/docs/data-sources/dmr_cluster_link_remote_address.md b/docs/data-sources/dmr_cluster_link_remote_address.md index 173df6f3..be8b90c1 100644 --- a/docs/data-sources/dmr_cluster_link_remote_address.md +++ b/docs/data-sources/dmr_cluster_link_remote_address.md @@ -6,9 +6,9 @@ description: |- Each Remote Address, consisting of a FQDN or IP address and optional port, is used to connect to the remote node for this Link. Up to 4 addresses may be provided for each Link, and will be tried on a round-robin basis. Attribute|Identifying :---|:---: - dmrclustername|x - remoteaddress|x - remotenode_name|x + dmr_cluster_name|x + remote_address|x + remote_node_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- diff --git a/docs/data-sources/domain_cert_authority.md b/docs/data-sources/domain_cert_authority.md index 4a783b73..e6830125 100644 --- a/docs/data-sources/domain_cert_authority.md +++ b/docs/data-sources/domain_cert_authority.md @@ -6,7 +6,7 @@ description: |- Certificate Authorities trusted for domain verification. Attribute|Identifying :---|:---: - certauthorityname|x + cert_authority_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.19. --- diff --git a/docs/data-sources/msg_vpn.md b/docs/data-sources/msg_vpn.md index 66ddcd45..bdd8fdad 100644 --- a/docs/data-sources/msg_vpn.md +++ b/docs/data-sources/msg_vpn.md @@ -6,15 +6,15 @@ description: |- Message VPNs (Virtual Private Networks) allow for the segregation of topic space and clients. They also group clients connecting to a network of message brokers, such that messages published within a particular group are only visible to that group's clients. Attribute|Identifying|Write-Only|Deprecated|Opaque :---|:---:|:---:|:---:|:---: - authenticationoauthdefaultprovidername|||x| - bridgingtlsservercertenforcetrustedcommonnameenabled|||x| - distributedcachemanagementenabled|||x| - msgvpnname|x||| - replicationbridgeauthenticationbasicpassword||x||x - replicationbridgeauthenticationclientcertcontent||x||x - replicationbridgeauthenticationclientcertpassword||x|| - replicationenabledqueuebehavior||x|| - resttlsservercertenforcetrustedcommonnameenabled|||x| + authentication_oauth_default_provider_name|||x| + bridging_tls_server_cert_enforce_trusted_common_name_enabled|||x| + distributed_cache_management_enabled|||x| + msg_vpn_name|x||| + replication_bridge_authentication_basic_password||x||x + replication_bridge_authentication_client_cert_content||x||x + replication_bridge_authentication_client_cert_password||x|| + replication_enabled_queue_behavior||x|| + rest_tls_server_cert_enforce_trusted_common_name_enabled|||x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- @@ -111,15 +111,15 @@ Changes to this attribute are synchronized to HA mates and replication sites via - `bridging_tls_server_cert_validate_name_enabled` (Boolean) Enable or disable the standard TLS authentication mechanism of verifying the name used to connect to the bridge. If enabled, the name used to connect to the bridge is checked against the names specified in the certificate returned by the remote broker. Legacy Common Name validation is not performed if Server Certificate Name Validation is enabled, even if Common Name validation is also enabled. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. Available since SEMP API version 2.18. - `dmr_enabled` (Boolean) Enable or disable Dynamic Message Routing (DMR) for the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.11. - `enabled` (Boolean) Enable or disable the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_connection_count_threshold)) -- `event_egress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) -- `event_egress_msg_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_egress_msg_rate_threshold)) -- `event_endpoint_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_endpoint_count_threshold)) -- `event_ingress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) -- `event_ingress_msg_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_ingress_msg_rate_threshold)) +- `event_connection_count_threshold` (Attributes) The thresholds for the client connection count event of the Message VPN, relative to `max_connection_count`. (see [below for nested schema](#nestedatt--event_connection_count_threshold)) +- `event_egress_flow_count_threshold` (Attributes) The thresholds for the egress flow count event of the Message VPN, relative to `max_egress_flow_count`. (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) +- `event_egress_msg_rate_threshold` (Attributes) The thresholds for the egress message rate event of the Message VPN. (see [below for nested schema](#nestedatt--event_egress_msg_rate_threshold)) +- `event_endpoint_count_threshold` (Attributes) The thresholds for the Queues and Topic Endpoints count event of the Message VPN, relative to `max_endpoint_count`. (see [below for nested schema](#nestedatt--event_endpoint_count_threshold)) +- `event_ingress_flow_count_threshold` (Attributes) The thresholds for the receive flow count event of the Message VPN, relative to `max_ingress_flow_count`. (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) +- `event_ingress_msg_rate_threshold` (Attributes) The thresholds for the receive message rate event of the Message VPN. (see [below for nested schema](#nestedatt--event_ingress_msg_rate_threshold)) - `event_large_msg_threshold` (Number) The threshold, in kilobytes, after which a message is considered to be large for the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1024`. - `event_log_tag` (String) A prefix applied to all published Events in the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `""`. -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Message VPN, relative to `max_msg_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) - `event_publish_client_enabled` (Boolean) Enable or disable Client level Event message publishing. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `event_publish_msg_vpn_enabled` (Boolean) Enable or disable Message VPN level Event message publishing. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `event_publish_subscription_mode` (String) Subscription level Event message publishing mode. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"off"`. The allowed values and their meaning are: @@ -133,14 +133,14 @@ Changes to this attribute are synchronized to HA mates and replication sites via - `event_publish_topic_format_mqtt_enabled` (Boolean) Enable or disable Event publish topics in MQTT format. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `event_publish_topic_format_smf_enabled` (Boolean) Enable or disable Event publish topics in SMF format. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. -- `event_service_amqp_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_amqp_connection_count_threshold)) -- `event_service_mqtt_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_mqtt_connection_count_threshold)) -- `event_service_rest_incoming_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_rest_incoming_connection_count_threshold)) -- `event_service_smf_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_smf_connection_count_threshold)) -- `event_service_web_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_web_connection_count_threshold)) -- `event_subscription_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) -- `event_transacted_session_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) -- `event_transaction_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) +- `event_service_amqp_connection_count_threshold` (Attributes) The thresholds for the AMQP client connection count event of the Message VPN, relative to `service_amqp_max_connection_count`. Available since SEMP API version 2.7. (see [below for nested schema](#nestedatt--event_service_amqp_connection_count_threshold)) +- `event_service_mqtt_connection_count_threshold` (Attributes) The thresholds for the MQTT client connection count event of the Message VPN, relative to `service_mqtt_max_connection_count`. Available since SEMP API version 2.1. (see [below for nested schema](#nestedatt--event_service_mqtt_connection_count_threshold)) +- `event_service_rest_incoming_connection_count_threshold` (Attributes) The thresholds for the incoming REST client connection count event of the Message VPN, relative to `service_rest_incoming_max_connection_count`. (see [below for nested schema](#nestedatt--event_service_rest_incoming_connection_count_threshold)) +- `event_service_smf_connection_count_threshold` (Attributes) The thresholds for the SMF client connection count event of the Message VPN, relative to `service_smf_max_connection_count`. (see [below for nested schema](#nestedatt--event_service_smf_connection_count_threshold)) +- `event_service_web_connection_count_threshold` (Attributes) The thresholds for the Web Transport client connection count event of the Message VPN, relative to `service_web_max_connection_count`. (see [below for nested schema](#nestedatt--event_service_web_connection_count_threshold)) +- `event_subscription_count_threshold` (Attributes) The thresholds for the subscription count event of the Message VPN, relative to `max_subscription_count`. (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) +- `event_transacted_session_count_threshold` (Attributes) The thresholds for the transacted session count event of the Message VPN, relative to `max_transacted_session_count`. (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) +- `event_transaction_count_threshold` (Attributes) The thresholds for the transaction count event of the Message VPN, relative to `max_transaction_count`. (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) - `export_subscriptions_enabled` (Boolean) Enable or disable the export of subscriptions in the Message VPN to other routers in the network over Neighbor links. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `jndi_enabled` (Boolean) Enable or disable JNDI access for clients in the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.2. - `max_connection_count` (Number) The maximum number of client connections to the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default is the maximum value supported by the platform. @@ -262,9 +262,9 @@ Changes to this attribute are synchronized to HA mates and replication sites via Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -273,9 +273,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -284,8 +284,8 @@ Read-Only: Read-Only: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `3000000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `4000000`. @@ -293,9 +293,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -304,9 +304,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -315,8 +315,8 @@ Read-Only: Read-Only: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `3000000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `4000000`. @@ -324,9 +324,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -335,9 +335,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -346,9 +346,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -357,9 +357,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -368,9 +368,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -379,9 +379,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -390,9 +390,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -401,9 +401,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -412,7 +412,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/msg_vpn_acl_profile.md b/docs/data-sources/msg_vpn_acl_profile.md index 27f33ab4..4bd7b104 100644 --- a/docs/data-sources/msg_vpn_acl_profile.md +++ b/docs/data-sources/msg_vpn_acl_profile.md @@ -6,8 +6,8 @@ description: |- An ACL Profile controls whether an authenticated client is permitted to establish a connection with the message broker or permitted to publish and subscribe to specific topics. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x + acl_profile_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_acl_profile_client_connect_exception.md b/docs/data-sources/msg_vpn_acl_profile_client_connect_exception.md index 0f3f79d8..9dff3baf 100644 --- a/docs/data-sources/msg_vpn_acl_profile_client_connect_exception.md +++ b/docs/data-sources/msg_vpn_acl_profile_client_connect_exception.md @@ -6,9 +6,9 @@ description: |- A Client Connect Exception is an exception to the default action to take when a client using the ACL Profile connects to the Message VPN. Exceptions must be expressed as an IP address/netmask in CIDR form. Attribute|Identifying :---|:---: - aclprofilename|x - clientconnectexceptionaddress|x - msgvpn_name|x + acl_profile_name|x + client_connect_exception_address|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_acl_profile_publish_topic_exception.md b/docs/data-sources/msg_vpn_acl_profile_publish_topic_exception.md index f5a6847f..ca31b6d0 100644 --- a/docs/data-sources/msg_vpn_acl_profile_publish_topic_exception.md +++ b/docs/data-sources/msg_vpn_acl_profile_publish_topic_exception.md @@ -6,10 +6,10 @@ description: |- A Publish Topic Exception is an exception to the default action to take when a client using the ACL Profile publishes to a topic in the Message VPN. Exceptions must be expressed as a topic. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x - publishtopicexception|x - publishtopicexception_syntax|x + acl_profile_name|x + msg_vpn_name|x + publish_topic_exception|x + publish_topic_exception_syntax|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. --- diff --git a/docs/data-sources/msg_vpn_acl_profile_subscribe_share_name_exception.md b/docs/data-sources/msg_vpn_acl_profile_subscribe_share_name_exception.md index 7741ac95..0e1dfa2d 100644 --- a/docs/data-sources/msg_vpn_acl_profile_subscribe_share_name_exception.md +++ b/docs/data-sources/msg_vpn_acl_profile_subscribe_share_name_exception.md @@ -6,10 +6,10 @@ description: |- A Subscribe Share Name Exception is an exception to the default action to take when a client using the ACL Profile subscribes to a share-name subscription in the Message VPN. Exceptions must be expressed as a topic. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x - subscribesharenameexception|x - subscribesharenameexception_syntax|x + acl_profile_name|x + msg_vpn_name|x + subscribe_share_name_exception|x + subscribe_share_name_exception_syntax|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. --- diff --git a/docs/data-sources/msg_vpn_acl_profile_subscribe_topic_exception.md b/docs/data-sources/msg_vpn_acl_profile_subscribe_topic_exception.md index 74e62ec0..aca4669a 100644 --- a/docs/data-sources/msg_vpn_acl_profile_subscribe_topic_exception.md +++ b/docs/data-sources/msg_vpn_acl_profile_subscribe_topic_exception.md @@ -6,10 +6,10 @@ description: |- A Subscribe Topic Exception is an exception to the default action to take when a client using the ACL Profile subscribes to a topic in the Message VPN. Exceptions must be expressed as a topic. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x - subscribetopicexception|x - subscribetopicexception_syntax|x + acl_profile_name|x + msg_vpn_name|x + subscribe_topic_exception|x + subscribe_topic_exception_syntax|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. --- diff --git a/docs/data-sources/msg_vpn_authentication_oauth_profile.md b/docs/data-sources/msg_vpn_authentication_oauth_profile.md index e31f0b47..2ed5b952 100644 --- a/docs/data-sources/msg_vpn_authentication_oauth_profile.md +++ b/docs/data-sources/msg_vpn_authentication_oauth_profile.md @@ -6,9 +6,9 @@ description: |- OAuth profiles specify how to securely authenticate to an OAuth provider. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - clientsecret||x|x - msgvpnname|x|| - oauthprofile_name|x|| + client_secret||x|x + msg_vpn_name|x|| + oauth_profile_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.25. --- diff --git a/docs/data-sources/msg_vpn_authentication_oauth_profile_client_required_claim.md b/docs/data-sources/msg_vpn_authentication_oauth_profile_client_required_claim.md index bfcf15a5..a3a631bf 100644 --- a/docs/data-sources/msg_vpn_authentication_oauth_profile_client_required_claim.md +++ b/docs/data-sources/msg_vpn_authentication_oauth_profile_client_required_claim.md @@ -6,9 +6,9 @@ description: |- Additional claims to be verified in the ID token. Attribute|Identifying :---|:---: - clientrequiredclaimname|x - msgvpnname|x - oauthprofile_name|x + client_required_claim_name|x + msg_vpn_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.25. --- diff --git a/docs/data-sources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md b/docs/data-sources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md index 00e7d09b..b2e8adc9 100644 --- a/docs/data-sources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md +++ b/docs/data-sources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md @@ -6,9 +6,9 @@ description: |- Additional claims to be verified in the access token. Attribute|Identifying :---|:---: - msgvpnname|x - oauthprofilename|x - resourceserverrequiredclaimname|x + msg_vpn_name|x + oauth_profile_name|x + resource_server_required_claim_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.25. --- diff --git a/docs/data-sources/msg_vpn_authorization_group.md b/docs/data-sources/msg_vpn_authorization_group.md index 6e95065d..fdecddd8 100644 --- a/docs/data-sources/msg_vpn_authorization_group.md +++ b/docs/data-sources/msg_vpn_authorization_group.md @@ -6,10 +6,10 @@ description: |- To use client authorization groups configured on an external server to provide client authorizations, Authorization Group objects must be created on the Message VPN that match the authorization groups provisioned on the external server. These objects must be configured with the client profiles and ACL profiles that will be assigned to the clients that belong to those authorization groups. A newly created group is placed at the end of the group list which is the lowest priority. Attribute|Identifying|Write-Only :---|:---:|:---: - authorizationgroupname|x| - msgvpnname|x| - orderafterauthorizationgroupname||x - orderbeforeauthorizationgroupname||x + authorization_group_name|x| + msg_vpn_name|x| + order_after_authorization_group_name||x + order_before_authorization_group_name||x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_bridge.md b/docs/data-sources/msg_vpn_bridge.md index da680190..5b1bcf11 100644 --- a/docs/data-sources/msg_vpn_bridge.md +++ b/docs/data-sources/msg_vpn_bridge.md @@ -6,12 +6,12 @@ description: |- Bridges can be used to link two Message VPNs so that messages published to one Message VPN that match the topic subscriptions set for the bridge are also delivered to the linked Message VPN. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - bridgename|x|| - bridgevirtualrouter|x|| - msgvpnname|x|| - remoteauthenticationbasicpassword||x|x - remoteauthenticationclientcertcontent||x|x - remoteauthenticationclientcertpassword||x| + bridge_name|x|| + bridge_virtual_router|x|| + msg_vpn_name|x|| + remote_authentication_basic_password||x|x + remote_authentication_client_cert_content||x|x + remote_authentication_client_cert_password||x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_bridge_remote_msg_vpn.md b/docs/data-sources/msg_vpn_bridge_remote_msg_vpn.md index 90ae4d70..0c16e9a0 100644 --- a/docs/data-sources/msg_vpn_bridge_remote_msg_vpn.md +++ b/docs/data-sources/msg_vpn_bridge_remote_msg_vpn.md @@ -6,13 +6,13 @@ description: |- The Remote Message VPN is the Message VPN that the Bridge connects to. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - bridgename|x|| - bridgevirtualrouter|x|| - msgvpnname|x|| + bridge_name|x|| + bridge_virtual_router|x|| + msg_vpn_name|x|| password||x|x - remotemsgvpninterface|x|| - remotemsgvpnlocation|x|| - remotemsgvpnname|x|| + remote_msg_vpn_interface|x|| + remote_msg_vpn_location|x|| + remote_msg_vpn_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_bridge_remote_subscription.md b/docs/data-sources/msg_vpn_bridge_remote_subscription.md index 941b9241..ba7b60ef 100644 --- a/docs/data-sources/msg_vpn_bridge_remote_subscription.md +++ b/docs/data-sources/msg_vpn_bridge_remote_subscription.md @@ -6,10 +6,10 @@ description: |- A Remote Subscription is a topic subscription used by the Message VPN Bridge to attract messages from the remote message broker. Attribute|Identifying :---|:---: - bridgename|x - bridgevirtualrouter|x - msgvpnname|x - remotesubscription_topic|x + bridge_name|x + bridge_virtual_router|x + msg_vpn_name|x + remote_subscription_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_cert_matching_rule.md b/docs/data-sources/msg_vpn_cert_matching_rule.md index a12fbe1c..0dbcc131 100644 --- a/docs/data-sources/msg_vpn_cert_matching_rule.md +++ b/docs/data-sources/msg_vpn_cert_matching_rule.md @@ -6,7 +6,7 @@ description: |- A Cert Matching Rule is a collection of conditions and attribute filters that all have to be satisfied for certificate to be acceptable as authentication for a given username. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x rule_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.27. diff --git a/docs/data-sources/msg_vpn_cert_matching_rule_attribute_filter.md b/docs/data-sources/msg_vpn_cert_matching_rule_attribute_filter.md index f23f6040..ec1cd6b8 100644 --- a/docs/data-sources/msg_vpn_cert_matching_rule_attribute_filter.md +++ b/docs/data-sources/msg_vpn_cert_matching_rule_attribute_filter.md @@ -6,9 +6,9 @@ description: |- A Cert Matching Rule Attribute Filter compares a username attribute to a string. Attribute|Identifying :---|:---: - filtername|x - msgvpnname|x - rulename|x + filter_name|x + msg_vpn_name|x + rule_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. --- diff --git a/docs/data-sources/msg_vpn_cert_matching_rule_condition.md b/docs/data-sources/msg_vpn_cert_matching_rule_condition.md index 3a8878c6..819a4664 100644 --- a/docs/data-sources/msg_vpn_cert_matching_rule_condition.md +++ b/docs/data-sources/msg_vpn_cert_matching_rule_condition.md @@ -6,7 +6,7 @@ description: |- A Cert Matching Rule Condition compares data extracted from a certificate to a username attribute or an expression. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x rule_name|x source|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. diff --git a/docs/data-sources/msg_vpn_client_profile.md b/docs/data-sources/msg_vpn_client_profile.md index 141178f7..e429a0e3 100644 --- a/docs/data-sources/msg_vpn_client_profile.md +++ b/docs/data-sources/msg_vpn_client_profile.md @@ -6,11 +6,11 @@ description: |- Client Profiles are used to assign common configuration properties to clients that have been successfully authorized. Attribute|Identifying|Deprecated :---|:---:|:---: - allowcutthroughforwardingenabled||x - apiqueuemanagementcopyfromoncreatename||x - apitopicendpointmanagementcopyfromoncreatename||x - clientprofilename|x| - msgvpn_name|x| + allow_cut_through_forwarding_enabled||x + api_queue_management_copy_from_on_create_name||x + api_topic_endpoint_management_copy_from_on_create_name||x + client_profile_name|x| + msg_vpn_name|x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- @@ -66,16 +66,16 @@ This has been available since SEMP API version 2.0. - `eliding_delay` (Number) The amount of time to delay the delivery of messages to clients using the Client Profile after the initial message has been delivered (the eliding delay interval), in milliseconds. A value of 0 means there is no delay in delivering messages to clients. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. - `eliding_enabled` (Boolean) Enable or disable message eliding for clients using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `eliding_max_topic_count` (Number) The maximum number of topics tracked for message eliding per client connection using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `256`. -- `event_client_provisioned_endpoint_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_client_provisioned_endpoint_spool_usage_threshold)) -- `event_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_connection_count_per_client_username_threshold)) -- `event_egress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) -- `event_endpoint_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_endpoint_count_per_client_username_threshold)) -- `event_ingress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) -- `event_service_smf_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_smf_connection_count_per_client_username_threshold)) -- `event_service_web_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_web_connection_count_per_client_username_threshold)) -- `event_subscription_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) -- `event_transacted_session_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) -- `event_transaction_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) +- `event_client_provisioned_endpoint_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of Queues and Topic Endpoints provisioned by clients, relative to `max_msg_spool_usage` for these Queues and Topic Endpoints. Changing these values during operation does not affect existing sessions. For provisioned durable Queues and Topic Endpoints, this value applies when initially provisioned, but can then be changed afterwards by configuring the Queue or Topic Endpoint. (see [below for nested schema](#nestedatt--event_client_provisioned_endpoint_spool_usage_threshold)) +- `event_connection_count_per_client_username_threshold` (Attributes) The thresholds for the Client Username connection count event of the Client Profile, relative to `max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--event_connection_count_per_client_username_threshold)) +- `event_egress_flow_count_threshold` (Attributes) The thresholds for the transmit flow count event of the Client Profile, relative to `max_egress_flow_count`. (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) +- `event_endpoint_count_per_client_username_threshold` (Attributes) The thresholds for the Client Username endpoint count event of the Client Profile, relative to `max_endpoint_count_per_client_username`. (see [below for nested schema](#nestedatt--event_endpoint_count_per_client_username_threshold)) +- `event_ingress_flow_count_threshold` (Attributes) The thresholds for the receive flow count event of the Client Profile, relative to `max_ingress_flow_count`. (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) +- `event_service_smf_connection_count_per_client_username_threshold` (Attributes) The thresholds for the client username SMF connection count event of the Client Profile, relative to `service_smf_max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--event_service_smf_connection_count_per_client_username_threshold)) +- `event_service_web_connection_count_per_client_username_threshold` (Attributes) The thresholds for the Client Username Web Transport connection count event of the Client Profile, relative to `service_web_max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--event_service_web_connection_count_per_client_username_threshold)) +- `event_subscription_count_threshold` (Attributes) The thresholds for the subscription count event of the Client Profile, relative to `max_subscription_count`. (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) +- `event_transacted_session_count_threshold` (Attributes) The thresholds for the transacted session count event of the Client Profile, relative to `max_transacted_session_count`. (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) +- `event_transaction_count_threshold` (Attributes) The thresholds for the transaction count event of the Client Profile, relative to `max_transaction_count`. (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) - `max_connection_count_per_client_username` (Number) The maximum number of client connections per Client Username using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default is the maximum value supported by the platform. - `max_egress_flow_count` (Number) The maximum number of transmit flows that can be created by one client using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `max_endpoint_count_per_client_username` (Number) The maximum number of queues and topic endpoints that can be created by clients with the same Client Username using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. @@ -115,8 +115,8 @@ This has been available since SEMP API version 2.0. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `18`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `25`. @@ -124,9 +124,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -135,9 +135,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -146,9 +146,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -157,9 +157,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -168,9 +168,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -179,9 +179,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -190,9 +190,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -201,9 +201,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -212,7 +212,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/msg_vpn_client_username.md b/docs/data-sources/msg_vpn_client_username.md index ebca952a..41d1d72f 100644 --- a/docs/data-sources/msg_vpn_client_username.md +++ b/docs/data-sources/msg_vpn_client_username.md @@ -6,8 +6,8 @@ description: |- A client is only authorized to connect to a Message VPN that is associated with a Client Username that the client has been assigned. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - clientusername|x|| - msgvpn_name|x|| + client_username|x|| + msg_vpn_name|x|| password||x|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. diff --git a/docs/data-sources/msg_vpn_client_username_attribute.md b/docs/data-sources/msg_vpn_client_username_attribute.md index ef5e52c0..f3aef498 100644 --- a/docs/data-sources/msg_vpn_client_username_attribute.md +++ b/docs/data-sources/msg_vpn_client_username_attribute.md @@ -6,10 +6,10 @@ description: |- A ClientUsername Attribute is a key+value pair that can be used to locate a client username, for example when using client certificate mapping. Attribute|Identifying :---|:---: - attributename|x - attributevalue|x - clientusername|x - msgvpn_name|x + attribute_name|x + attribute_value|x + client_username|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.27. --- diff --git a/docs/data-sources/msg_vpn_distributed_cache.md b/docs/data-sources/msg_vpn_distributed_cache.md index 9ddc68dc..d0eeef4a 100644 --- a/docs/data-sources/msg_vpn_distributed_cache.md +++ b/docs/data-sources/msg_vpn_distributed_cache.md @@ -6,8 +6,8 @@ description: |- A Distributed Cache is a collection of one or more Cache Clusters that belong to the same Message VPN. Each Cache Cluster in a Distributed Cache is configured to subscribe to a different set of topics. This effectively divides up the configured topic space, to provide scaling to very large topic spaces or very high cached message throughput. Attribute|Identifying :---|:---: - cachename|x - msgvpn_name|x + cache_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- diff --git a/docs/data-sources/msg_vpn_distributed_cache_cluster.md b/docs/data-sources/msg_vpn_distributed_cache_cluster.md index a46a010d..a9eba051 100644 --- a/docs/data-sources/msg_vpn_distributed_cache_cluster.md +++ b/docs/data-sources/msg_vpn_distributed_cache_cluster.md @@ -6,9 +6,9 @@ description: |- A Cache Cluster is a collection of one or more Cache Instances that subscribe to exactly the same topics. Cache Instances are grouped together in a Cache Cluster for the purpose of fault tolerance and load balancing. As published messages are received, the message broker message bus sends these live data messages to the Cache Instances in the Cache Cluster. This enables client cache requests to be served by any of Cache Instances in the Cache Cluster. Attribute|Identifying :---|:---: - cachename|x - clustername|x - msgvpnname|x + cache_name|x + cluster_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- @@ -45,13 +45,13 @@ This has been available since SEMP API version 2.11. - `deliver_to_one_override_enabled` (Boolean) Enable or disable deliver-to-one override for the Cache Cluster. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. - `enabled` (Boolean) Enable or disable the Cache Cluster. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_data_byte_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_data_byte_rate_threshold)) -- `event_data_msg_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_data_msg_rate_threshold)) -- `event_max_memory_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_max_memory_threshold)) -- `event_max_topics_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_max_topics_threshold)) -- `event_request_queue_depth_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_request_queue_depth_threshold)) -- `event_request_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_request_rate_threshold)) -- `event_response_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_response_rate_threshold)) +- `event_data_byte_rate_threshold` (Attributes) The thresholds for the cached data incoming byte rate event, in bytes per second. (see [below for nested schema](#nestedatt--event_data_byte_rate_threshold)) +- `event_data_msg_rate_threshold` (Attributes) The thresholds for the cached data incoming message rate event, in messages per second. (see [below for nested schema](#nestedatt--event_data_msg_rate_threshold)) +- `event_max_memory_threshold` (Attributes) The thresholds for the memory usage per instance event, relative to `max_memory`. (see [below for nested schema](#nestedatt--event_max_memory_threshold)) +- `event_max_topics_threshold` (Attributes) The thresholds for the topics per instance event, relative to `max_topic_count`. (see [below for nested schema](#nestedatt--event_max_topics_threshold)) +- `event_request_queue_depth_threshold` (Attributes) The thresholds for the request queue depth event, relative to `max_request_queue_depth`. (see [below for nested schema](#nestedatt--event_request_queue_depth_threshold)) +- `event_request_rate_threshold` (Attributes) The thresholds for the cache request message rate event, in messages per second. (see [below for nested schema](#nestedatt--event_request_rate_threshold)) +- `event_response_rate_threshold` (Attributes) The thresholds for the cache response message rate event, in messages per second. (see [below for nested schema](#nestedatt--event_response_rate_threshold)) - `global_caching_enabled` (Boolean) Enable or disable global caching for the Cache Cluster. When enabled, the Cache Instances will fetch topics from remote Home Cache Clusters when requested, and subscribe to those topics to cache them locally. When disabled, the Cache Instances will remove all subscriptions and cached messages for topics from remote Home Cache Clusters. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `global_caching_heartbeat` (Number) The heartbeat interval, in seconds, used by the Cache Instances to monitor connectivity with the remote Home Cache Clusters. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `3`. - `global_caching_topic_lifetime` (Number) The topic lifetime, in seconds. If no client requests are received for a given global topic over the duration of the topic lifetime, then the Cache Instance will remove the subscription and cached messages for that topic. A value of 0 disables aging. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `3600`. @@ -67,8 +67,8 @@ This has been available since SEMP API version 2.11. Read-Only: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `187500000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `250000000`. @@ -76,8 +76,8 @@ Read-Only: Read-Only: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `36000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `48000`. @@ -85,8 +85,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -94,8 +94,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -103,8 +103,8 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -112,8 +112,8 @@ Read-Only: Read-Only: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `1000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `25000`. @@ -121,5 +121,5 @@ Read-Only: Read-Only: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `1000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `80000`. diff --git a/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md b/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md index 1ffda305..197cbb9a 100644 --- a/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md +++ b/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md @@ -6,10 +6,10 @@ description: |- A Home Cache Cluster is a Cache Cluster that is the "definitive" Cache Cluster for a given topic in the context of the Global Caching feature. Attribute|Identifying :---|:---: - cachename|x - clustername|x - homeclustername|x - msgvpnname|x + cache_name|x + cluster_name|x + home_cluster_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- diff --git a/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md b/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md index 0ce756d8..35379f2c 100644 --- a/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md +++ b/docs/data-sources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md @@ -6,10 +6,10 @@ description: |- A Topic Prefix is a prefix for a global topic that is available from the containing Home Cache Cluster. Attribute|Identifying :---|:---: - cachename|x - clustername|x - homeclustername|x - msgvpnname|x + cache_name|x + cluster_name|x + home_cluster_name|x + msg_vpn_name|x topic_prefix|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. diff --git a/docs/data-sources/msg_vpn_distributed_cache_cluster_instance.md b/docs/data-sources/msg_vpn_distributed_cache_cluster_instance.md index d9fd3cbd..efe0caac 100644 --- a/docs/data-sources/msg_vpn_distributed_cache_cluster_instance.md +++ b/docs/data-sources/msg_vpn_distributed_cache_cluster_instance.md @@ -6,10 +6,10 @@ description: |- A Cache Instance is a single Cache process that belongs to a single Cache Cluster. A Cache Instance object provisioned on the broker is used to disseminate configuration information to the Cache process. Cache Instances listen for and cache live data messages that match the topic subscriptions configured for their parent Cache Cluster. Attribute|Identifying :---|:---: - cachename|x - clustername|x - instancename|x - msgvpn_name|x + cache_name|x + cluster_name|x + instance_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- diff --git a/docs/data-sources/msg_vpn_distributed_cache_cluster_topic.md b/docs/data-sources/msg_vpn_distributed_cache_cluster_topic.md index 3f8883b7..8d99d7ca 100644 --- a/docs/data-sources/msg_vpn_distributed_cache_cluster_topic.md +++ b/docs/data-sources/msg_vpn_distributed_cache_cluster_topic.md @@ -6,9 +6,9 @@ description: |- The Cache Instances that belong to the containing Cache Cluster will cache any messages published to topics that match a Topic Subscription. Attribute|Identifying :---|:---: - cachename|x - clustername|x - msgvpnname|x + cache_name|x + cluster_name|x + msg_vpn_name|x topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. diff --git a/docs/data-sources/msg_vpn_dmr_bridge.md b/docs/data-sources/msg_vpn_dmr_bridge.md index 4401d906..afcf5ef7 100644 --- a/docs/data-sources/msg_vpn_dmr_bridge.md +++ b/docs/data-sources/msg_vpn_dmr_bridge.md @@ -6,8 +6,8 @@ description: |- A DMR Bridge is required to establish a data channel over a corresponding external link to the remote node for a given Message VPN. Each DMR Bridge identifies which external link the Message VPN should use, and what the name of the equivalent Message VPN at the remote node is. Attribute|Identifying :---|:---: - msgvpnname|x - remotenodename|x + msg_vpn_name|x + remote_node_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- diff --git a/docs/data-sources/msg_vpn_jndi_connection_factory.md b/docs/data-sources/msg_vpn_jndi_connection_factory.md index f195f5f0..216cb9cb 100644 --- a/docs/data-sources/msg_vpn_jndi_connection_factory.md +++ b/docs/data-sources/msg_vpn_jndi_connection_factory.md @@ -6,8 +6,8 @@ description: |- The message broker provides an internal JNDI store for provisioned Connection Factory objects that clients can access through JNDI lookups. Attribute|Identifying :---|:---: - connectionfactoryname|x - msgvpnname|x + connection_factory_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.2. --- diff --git a/docs/data-sources/msg_vpn_jndi_queue.md b/docs/data-sources/msg_vpn_jndi_queue.md index 5ed252e1..cc6a2541 100644 --- a/docs/data-sources/msg_vpn_jndi_queue.md +++ b/docs/data-sources/msg_vpn_jndi_queue.md @@ -6,7 +6,7 @@ description: |- The message broker provides an internal JNDI store for provisioned Queue objects that clients can access through JNDI lookups. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x queue_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.2. diff --git a/docs/data-sources/msg_vpn_jndi_topic.md b/docs/data-sources/msg_vpn_jndi_topic.md index 4ddc7243..a1fd24eb 100644 --- a/docs/data-sources/msg_vpn_jndi_topic.md +++ b/docs/data-sources/msg_vpn_jndi_topic.md @@ -6,7 +6,7 @@ description: |- The message broker provides an internal JNDI store for provisioned Topic objects that clients can access through JNDI lookups. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x topic_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.2. diff --git a/docs/data-sources/msg_vpn_kafka_receiver.md b/docs/data-sources/msg_vpn_kafka_receiver.md index 2c8411d5..b2806025 100644 --- a/docs/data-sources/msg_vpn_kafka_receiver.md +++ b/docs/data-sources/msg_vpn_kafka_receiver.md @@ -6,13 +6,13 @@ description: |- A Kafka Receiver receives messages from a Kafka Cluster. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - authenticationclientcertcontent||x|x - authenticationclientcertpassword||x| - authenticationoauthclientsecret||x|x - authenticationscrampassword||x|x - kafkareceivername|x|| - msgvpn_name|x|| + authentication_basic_password||x|x + authentication_client_cert_content||x|x + authentication_client_cert_password||x| + authentication_oauth_client_secret||x|x + authentication_scram_password||x|x + kafka_receiver_name|x|| + msg_vpn_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. --- diff --git a/docs/data-sources/msg_vpn_kafka_receiver_topic_binding.md b/docs/data-sources/msg_vpn_kafka_receiver_topic_binding.md index 943f9f65..e21b31d6 100644 --- a/docs/data-sources/msg_vpn_kafka_receiver_topic_binding.md +++ b/docs/data-sources/msg_vpn_kafka_receiver_topic_binding.md @@ -6,8 +6,8 @@ description: |- A Topic Binding receives messages from a remote Kafka Topic. Attribute|Identifying :---|:---: - kafkareceivername|x - msgvpnname|x + kafka_receiver_name|x + msg_vpn_name|x topic_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. diff --git a/docs/data-sources/msg_vpn_kafka_sender.md b/docs/data-sources/msg_vpn_kafka_sender.md index 5a2b20b0..4c3d9340 100644 --- a/docs/data-sources/msg_vpn_kafka_sender.md +++ b/docs/data-sources/msg_vpn_kafka_sender.md @@ -6,13 +6,13 @@ description: |- A Kafka Sender sends messages to a Kafka Cluster. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - authenticationclientcertcontent||x|x - authenticationclientcertpassword||x| - authenticationoauthclientsecret||x|x - authenticationscrampassword||x|x - kafkasendername|x|| - msgvpn_name|x|| + authentication_basic_password||x|x + authentication_client_cert_content||x|x + authentication_client_cert_password||x| + authentication_oauth_client_secret||x|x + authentication_scram_password||x|x + kafka_sender_name|x|| + msg_vpn_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. --- diff --git a/docs/data-sources/msg_vpn_kafka_sender_queue_binding.md b/docs/data-sources/msg_vpn_kafka_sender_queue_binding.md index 96762ddc..08c669ba 100644 --- a/docs/data-sources/msg_vpn_kafka_sender_queue_binding.md +++ b/docs/data-sources/msg_vpn_kafka_sender_queue_binding.md @@ -6,8 +6,8 @@ description: |- A Queue Binding sends messages from a local Solace Queue to a remote Kafka topic. Attribute|Identifying :---|:---: - kafkasendername|x - msgvpnname|x + kafka_sender_name|x + msg_vpn_name|x queue_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. diff --git a/docs/data-sources/msg_vpn_mqtt_retain_cache.md b/docs/data-sources/msg_vpn_mqtt_retain_cache.md index 2d554c6d..b37b377a 100644 --- a/docs/data-sources/msg_vpn_mqtt_retain_cache.md +++ b/docs/data-sources/msg_vpn_mqtt_retain_cache.md @@ -6,8 +6,8 @@ description: |- Using MQTT retained messages allows publishing MQTT clients to indicate that a message must be stored for later delivery to subscribing clients when those subscribing clients add subscriptions matching the retained message's topic. An MQTT Retain Cache processes all retained messages for a Message VPN. Attribute|Identifying :---|:---: - cachename|x - msgvpn_name|x + cache_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. --- diff --git a/docs/data-sources/msg_vpn_mqtt_session.md b/docs/data-sources/msg_vpn_mqtt_session.md index 7530ac1b..7b24854f 100644 --- a/docs/data-sources/msg_vpn_mqtt_session.md +++ b/docs/data-sources/msg_vpn_mqtt_session.md @@ -6,9 +6,9 @@ description: |- An MQTT Session object is a virtual representation of an MQTT client connection. An MQTT session holds the state of an MQTT client (that is, it is used to contain a client's QoS 0 and QoS 1 subscription sets and any undelivered QoS 1 messages). Attribute|Identifying :---|:---: - mqttsessionclientid|x - mqttsessionvirtualrouter|x - msgvpnname|x + mqtt_session_client_id|x + mqtt_session_virtual_router|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. --- @@ -53,9 +53,9 @@ This has been available since SEMP API version 2.1. - `owner` (String) The owner of the MQTT Session. For externally-created sessions this defaults to the Client Username of the connecting client. For management-created sessions this defaults to empty. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `""`. - `queue_consumer_ack_propagation_enabled` (Boolean) Enable or disable the propagation of consumer acknowledgments (ACKs) received on the active replication Message VPN to the standby replication Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. Available since SEMP API version 2.14. - `queue_dead_msg_queue` (String) The name of the Dead Message Queue (DMQ) used by the MQTT Session Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"#DEAD_MSG_QUEUE"`. Available since SEMP API version 2.14. -- `queue_event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) -- `queue_event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) -- `queue_event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_reject_low_priority_msg_limit_threshold)) +- `queue_event_bind_count_threshold` (Attributes) Thresholds for the high number of the MQTT Session Queue Consumers Event, relative to `queue_max_bind_count`. Available since SEMP API version 2.14. (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) +- `queue_event_msg_spool_usage_threshold` (Attributes) The threshold for the Message Spool usage event of the MQTT Session Queue, relative to `queue_max_msg_spool_usage`. Available since SEMP API version 2.14. (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) +- `queue_event_reject_low_priority_msg_limit_threshold` (Attributes) The threshold for the maximum allowed number of any priority messages queued in the MQTT Session Queue, relative to `queue_reject_low_priority_msg_limit`. Available since SEMP API version 2.14. (see [below for nested schema](#nestedatt--queue_event_reject_low_priority_msg_limit_threshold)) - `queue_max_bind_count` (Number) The maximum number of consumer flows that can bind to the MQTT Session Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. Available since SEMP API version 2.14. - `queue_max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the MQTT Session Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. Available since SEMP API version 2.14. - `queue_max_msg_size` (Number) The maximum message size allowed in the MQTT Session Queue, in bytes (B). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000000`. Available since SEMP API version 2.14. @@ -79,9 +79,9 @@ This has been available since SEMP API version 2.1. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -90,9 +90,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -101,7 +101,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/msg_vpn_mqtt_session_subscription.md b/docs/data-sources/msg_vpn_mqtt_session_subscription.md index 49cc88d0..073ad201 100644 --- a/docs/data-sources/msg_vpn_mqtt_session_subscription.md +++ b/docs/data-sources/msg_vpn_mqtt_session_subscription.md @@ -6,9 +6,9 @@ description: |- An MQTT session contains a client's QoS 0 and QoS 1 subscription sets. On creation, a subscription defaults to QoS 0. Attribute|Identifying :---|:---: - mqttsessionclientid|x - mqttsessionvirtualrouter|x - msgvpnname|x + mqtt_session_client_id|x + mqtt_session_virtual_router|x + msg_vpn_name|x subscription_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. diff --git a/docs/data-sources/msg_vpn_proxy.md b/docs/data-sources/msg_vpn_proxy.md index 79284a96..9b40b5c7 100644 --- a/docs/data-sources/msg_vpn_proxy.md +++ b/docs/data-sources/msg_vpn_proxy.md @@ -6,8 +6,8 @@ description: |- Proxy objects define the connection parameters for a proxy server. To use a proxy for a particular connection such as a REST Consumer, select the proxy by name in the configuration for that object. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - msgvpnname|x|| + authentication_basic_password||x|x + msg_vpn_name|x|| proxy_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. diff --git a/docs/data-sources/msg_vpn_queue.md b/docs/data-sources/msg_vpn_queue.md index 18289833..bfe2c14c 100644 --- a/docs/data-sources/msg_vpn_queue.md +++ b/docs/data-sources/msg_vpn_queue.md @@ -6,7 +6,7 @@ description: |- A Queue acts as both a destination that clients can publish messages to, and as an endpoint that clients can bind consumers to and consume messages from. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x queue_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. @@ -51,9 +51,9 @@ This has been available since SEMP API version 2.0. - `delivery_count_enabled` (Boolean) Enable or disable the ability for client applications to query the message delivery count of messages received from the Queue. This is a controlled availability feature. Please contact support to find out if this feature is supported for your use case. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.19. - `delivery_delay` (Number) The delay, in seconds, to apply to messages arriving on the Queue before the messages are eligible for delivery. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. Available since SEMP API version 2.22. - `egress_enabled` (Boolean) Enable or disable the transmission of messages from the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Queue consumer flows event, relative to `max_bind_count`. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `max_msg_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Queue event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) - `ingress_enabled` (Boolean) Enable or disable the reception of messages to the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `max_bind_count` (Number) The maximum number of consumer flows that can bind to the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. @@ -97,9 +97,9 @@ This has been available since SEMP API version 2.0. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -108,9 +108,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -119,7 +119,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/msg_vpn_queue_subscription.md b/docs/data-sources/msg_vpn_queue_subscription.md index 8b38565d..9df5b45e 100644 --- a/docs/data-sources/msg_vpn_queue_subscription.md +++ b/docs/data-sources/msg_vpn_queue_subscription.md @@ -6,9 +6,9 @@ description: |- One or more Queue Subscriptions can be added to a durable queue so that Guaranteed messages published to matching topics are also delivered to and spooled by the queue. Attribute|Identifying :---|:---: - msgvpnname|x - queuename|x - subscriptiontopic|x + msg_vpn_name|x + queue_name|x + subscription_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_queue_template.md b/docs/data-sources/msg_vpn_queue_template.md index 635fdd77..9f4e07b6 100644 --- a/docs/data-sources/msg_vpn_queue_template.md +++ b/docs/data-sources/msg_vpn_queue_template.md @@ -6,8 +6,8 @@ description: |- A Queue Template provides a mechanism for specifying the initial state for client created queues. Attribute|Identifying :---|:---: - msgvpnname|x - queuetemplatename|x + msg_vpn_name|x + queue_template_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. --- @@ -55,9 +55,9 @@ This has been available since SEMP API version 2.14. "none" - The durability of the endpoint will be as requested on create. "non-durable" - The durability of the created queue will be non-durable, regardless of what was requested. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Queue consumer flows event, relative to `max_bind_count`. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `max_msg_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Queue event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) - `max_bind_count` (Number) The maximum number of consumer flows that can bind. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. - `max_msg_size` (Number) The maximum message size allowed, in bytes (B). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000000`. @@ -96,9 +96,9 @@ This has been available since SEMP API version 2.14. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -107,9 +107,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -118,7 +118,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/msg_vpn_replay_log.md b/docs/data-sources/msg_vpn_replay_log.md index 6b112976..6999ee53 100644 --- a/docs/data-sources/msg_vpn_replay_log.md +++ b/docs/data-sources/msg_vpn_replay_log.md @@ -6,8 +6,8 @@ description: |- When the Message Replay feature is enabled, message brokers store persistent messages in a Replay Log. These messages are kept until the log is full, after which the oldest messages are removed to free up space for new messages. Attribute|Identifying :---|:---: - msgvpnname|x - replaylogname|x + msg_vpn_name|x + replay_log_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.10. --- diff --git a/docs/data-sources/msg_vpn_replay_log_topic_filter_subscription.md b/docs/data-sources/msg_vpn_replay_log_topic_filter_subscription.md index 16ad1028..3675a49c 100644 --- a/docs/data-sources/msg_vpn_replay_log_topic_filter_subscription.md +++ b/docs/data-sources/msg_vpn_replay_log_topic_filter_subscription.md @@ -6,9 +6,9 @@ description: |- One or more Subscriptions can be added to a replay-log so that only guaranteed messages published to matching topics are stored in the Replay Log. Attribute|Identifying :---|:---: - msgvpnname|x - replaylogname|x - topicfiltersubscription|x + msg_vpn_name|x + replay_log_name|x + topic_filter_subscription|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.27. --- diff --git a/docs/data-sources/msg_vpn_replicated_topic.md b/docs/data-sources/msg_vpn_replicated_topic.md index fc0eeceb..e4e0cac4 100644 --- a/docs/data-sources/msg_vpn_replicated_topic.md +++ b/docs/data-sources/msg_vpn_replicated_topic.md @@ -6,7 +6,7 @@ description: |- To indicate which messages should be replicated between the active and standby site, a Replicated Topic subscription must be configured on a Message VPN. If a published message matches both a replicated topic and an endpoint on the active site, then the message is replicated to the standby site. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x replicated_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. diff --git a/docs/data-sources/msg_vpn_rest_delivery_point.md b/docs/data-sources/msg_vpn_rest_delivery_point.md index 7396591f..fafe6f8f 100644 --- a/docs/data-sources/msg_vpn_rest_delivery_point.md +++ b/docs/data-sources/msg_vpn_rest_delivery_point.md @@ -6,8 +6,8 @@ description: |- A REST Delivery Point manages delivery of messages from queues to a named list of REST Consumers. Attribute|Identifying :---|:---: - msgvpnname|x - restdeliverypoint_name|x + msg_vpn_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding.md b/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding.md index 3927504f..36e2f790 100644 --- a/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding.md +++ b/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding.md @@ -6,9 +6,9 @@ description: |- A Queue Binding for a REST Delivery Point attracts messages to be delivered to REST consumers. If the queue does not exist it can be created subsequently, and once the queue is operational the broker performs the queue binding. Removing the queue binding does not delete the queue itself. Similarly, removing the queue does not remove the queue binding, which fails until the queue is recreated or the queue binding is deleted. Attribute|Identifying :---|:---: - msgvpnname|x - queuebindingname|x - restdeliverypoint_name|x + msg_vpn_name|x + queue_binding_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md b/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md index 251ff1f2..6d62f965 100644 --- a/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md +++ b/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md @@ -6,11 +6,11 @@ description: |- A protected request header to be added to the HTTP request. Unlike a non-protected request header, the header value cannot be displayed after it is set. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - headername|x|| - headervalue||x|x - msgvpnname|x|| - queuebindingname|x|| - restdeliverypoint_name|x|| + header_name|x|| + header_value||x|x + msg_vpn_name|x|| + queue_binding_name|x|| + rest_delivery_point_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.30. --- diff --git a/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_request_header.md b/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_request_header.md index 5109fef3..29c0430d 100644 --- a/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_request_header.md +++ b/docs/data-sources/msg_vpn_rest_delivery_point_queue_binding_request_header.md @@ -6,10 +6,10 @@ description: |- A request header to be added to the HTTP request. Attribute|Identifying :---|:---: - headername|x - msgvpnname|x - queuebindingname|x - restdeliverypointname|x + header_name|x + msg_vpn_name|x + queue_binding_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.23. --- diff --git a/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer.md b/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer.md index 996f3cca..c40446f2 100644 --- a/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer.md +++ b/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer.md @@ -6,16 +6,16 @@ description: |- REST Consumer objects establish HTTP connectivity to REST consumer applications who wish to receive messages from a broker. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationawssecretaccesskey||x|x - authenticationclientcertcontent||x|x - authenticationclientcertpassword||x| - authenticationhttpbasicpassword||x|x - authenticationhttpheadervalue||x|x - authenticationoauthclientsecret||x|x - authenticationoauthjwtsecretkey||x|x - msgvpnname|x|| - restconsumername|x|| - restdeliverypointname|x|| + authentication_aws_secret_access_key||x|x + authentication_client_cert_content||x|x + authentication_client_cert_password||x| + authentication_http_basic_password||x|x + authentication_http_header_value||x|x + authentication_oauth_client_secret||x|x + authentication_oauth_jwt_secret_key||x|x + msg_vpn_name|x|| + rest_consumer_name|x|| + rest_delivery_point_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. --- diff --git a/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md b/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md index e22441a4..1f5b6746 100644 --- a/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md +++ b/docs/data-sources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md @@ -6,10 +6,10 @@ description: |- A Claim is added to the JWT sent to the OAuth token request endpoint. Attribute|Identifying :---|:---: - msgvpnname|x - oauthjwtclaimname|x - restconsumername|x - restdeliverypointname|x + msg_vpn_name|x + oauth_jwt_claim_name|x + rest_consumer_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.21. --- diff --git a/docs/data-sources/msg_vpn_sequenced_topic.md b/docs/data-sources/msg_vpn_sequenced_topic.md index 36ffac08..451b9210 100644 --- a/docs/data-sources/msg_vpn_sequenced_topic.md +++ b/docs/data-sources/msg_vpn_sequenced_topic.md @@ -6,7 +6,7 @@ description: |- A Sequenced Topic is a topic subscription for which any matching messages received on the Message VPN are assigned a sequence number that is monotonically increased by a value of one per message. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x sequenced_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. diff --git a/docs/data-sources/msg_vpn_telemetry_profile.md b/docs/data-sources/msg_vpn_telemetry_profile.md index 911ac2d3..f07e7a21 100644 --- a/docs/data-sources/msg_vpn_telemetry_profile.md +++ b/docs/data-sources/msg_vpn_telemetry_profile.md @@ -6,8 +6,8 @@ description: |- Using the Telemetry Profile allows trace spans to be generated as messages are processed by the broker. The generated spans are stored persistently on the broker and may be consumed by the Solace receiver component of an OpenTelemetry Collector. Attribute|Identifying :---|:---: - msgvpnname|x - telemetryprofilename|x + msg_vpn_name|x + telemetry_profile_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. --- @@ -40,8 +40,8 @@ This has been available since SEMP API version 2.31. ### Read-Only -- `queue_event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) -- `queue_event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) +- `queue_event_bind_count_threshold` (Attributes) The thresholds for the Queue consumer flows event, relative to `queue_max_bind_count`. (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) +- `queue_event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `queue_max_msg_spool_usage`. (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) - `queue_max_bind_count` (Number) The maximum number of consumer flows that can bind to the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `queue_max_msg_spool_usage` (Number) The maximum message spool usage allowed by the Queue, in megabytes (MB). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `800000`. - `receiver_acl_connect_default_action` (String) The default action to take when a receiver client connects to the broker. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"disallow"`. The allowed values and their meaning are: @@ -51,7 +51,7 @@ This has been available since SEMP API version 2.31. "disallow" - Disallow client connection unless an exception is found for it. - `receiver_enabled` (Boolean) Enable or disable the ability for receiver clients to consume from the #telemetry queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `receiver_event_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--receiver_event_connection_count_per_client_username_threshold)) +- `receiver_event_connection_count_per_client_username_threshold` (Attributes) The thresholds for the receiver connection count event, relative to `receiver_max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--receiver_event_connection_count_per_client_username_threshold)) - `receiver_max_connection_count_per_client_username` (Number) The maximum number of receiver connections per Client Username. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default is the maximum value supported by the platform. - `receiver_tcp_congestion_window_size` (Number) The TCP initial congestion window size for clients using the Client Profile, in multiples of the TCP Maximum Segment Size (MSS). Changing the value from its default of 2 results in non-compliance with RFC 2581. Contact support before changing this value. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `2`. - `receiver_tcp_keepalive_count` (Number) The number of TCP keepalive retransmissions to a client using the Client Profile before declaring that it is not available. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `5`. @@ -67,9 +67,9 @@ This has been available since SEMP API version 2.31. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -78,9 +78,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `1`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `2`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -89,7 +89,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md b/docs/data-sources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md index dd62e691..50538503 100644 --- a/docs/data-sources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md +++ b/docs/data-sources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md @@ -6,9 +6,9 @@ description: |- A Receiver ACL Connect Exception is an exception to the default action to take when a receiver connects to the broker. Exceptions must be expressed as an IP address/netmask in CIDR form. Attribute|Identifying :---|:---: - msgvpnname|x - receiveraclconnectexceptionaddress|x - telemetryprofilename|x + msg_vpn_name|x + receiver_acl_connect_exception_address|x + telemetry_profile_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. --- diff --git a/docs/data-sources/msg_vpn_telemetry_profile_trace_filter.md b/docs/data-sources/msg_vpn_telemetry_profile_trace_filter.md index 375ac31d..ba7b46c6 100644 --- a/docs/data-sources/msg_vpn_telemetry_profile_trace_filter.md +++ b/docs/data-sources/msg_vpn_telemetry_profile_trace_filter.md @@ -6,9 +6,9 @@ description: |- A Trace Filter controls which messages received by the broker will be traced. If an incoming message matches an enabled tracing filter's subscription, the message will be traced as it passes through the broker. Attribute|Identifying :---|:---: - msgvpnname|x - telemetryprofilename|x - tracefiltername|x + msg_vpn_name|x + telemetry_profile_name|x + trace_filter_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. --- diff --git a/docs/data-sources/msg_vpn_telemetry_profile_trace_filter_subscription.md b/docs/data-sources/msg_vpn_telemetry_profile_trace_filter_subscription.md index e5a6ef14..e294c5be 100644 --- a/docs/data-sources/msg_vpn_telemetry_profile_trace_filter_subscription.md +++ b/docs/data-sources/msg_vpn_telemetry_profile_trace_filter_subscription.md @@ -6,11 +6,11 @@ description: |- Trace filter subscriptions control which messages will be attracted by the tracing filter. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x subscription|x - subscriptionsyntax|x - telemetryprofilename|x - tracefilter_name|x + subscription_syntax|x + telemetry_profile_name|x + trace_filter_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. --- diff --git a/docs/data-sources/msg_vpn_topic_endpoint.md b/docs/data-sources/msg_vpn_topic_endpoint.md index 9f3467c4..02e9b7c0 100644 --- a/docs/data-sources/msg_vpn_topic_endpoint.md +++ b/docs/data-sources/msg_vpn_topic_endpoint.md @@ -6,8 +6,8 @@ description: |- A Topic Endpoint attracts messages published to a topic for which the Topic Endpoint has a matching topic subscription. The topic subscription for the Topic Endpoint is specified in the client request to bind a Flow to that Topic Endpoint. Queues are significantly more flexible than Topic Endpoints and are the recommended approach for most applications. The use of Topic Endpoints should be restricted to JMS applications. Attribute|Identifying :---|:---: - msgvpnname|x - topicendpointname|x + msg_vpn_name|x + topic_endpoint_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. --- @@ -52,9 +52,9 @@ This has been available since SEMP API version 2.1. - `delivery_count_enabled` (Boolean) Enable or disable the ability for client applications to query the message delivery count of messages received from the Topic Endpoint. This is a controlled availability feature. Please contact support to find out if this feature is supported for your use case. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.19. - `delivery_delay` (Number) The delay, in seconds, to apply to messages arriving on the Topic Endpoint before the messages are eligible for delivery. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. Available since SEMP API version 2.22. - `egress_enabled` (Boolean) Enable or disable the transmission of messages from the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) -- `event_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_spool_usage_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Topic Endpoint consumer flows event, relative to `max_bind_count`. Available since SEMP API version 2.4. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Topic Endpoint event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Topic Endpoint, relative to `max_spool_usage`. (see [below for nested schema](#nestedatt--event_spool_usage_threshold)) - `ingress_enabled` (Boolean) Enable or disable the reception of messages to the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `max_bind_count` (Number) The maximum number of consumer flows that can bind to the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1`. Available since SEMP API version 2.4. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. @@ -94,9 +94,9 @@ This has been available since SEMP API version 2.1. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -105,9 +105,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -116,7 +116,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/msg_vpn_topic_endpoint_template.md b/docs/data-sources/msg_vpn_topic_endpoint_template.md index ae752cfb..2d8206b4 100644 --- a/docs/data-sources/msg_vpn_topic_endpoint_template.md +++ b/docs/data-sources/msg_vpn_topic_endpoint_template.md @@ -6,8 +6,8 @@ description: |- A Topic Endpoint Template provides a mechanism for specifying the initial state for client created topic endpoints. Attribute|Identifying :---|:---: - msgvpnname|x - topicendpointtemplate_name|x + msg_vpn_name|x + topic_endpoint_template_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. --- @@ -49,9 +49,9 @@ This has been available since SEMP API version 2.14. - `consumer_ack_propagation_enabled` (Boolean) Enable or disable the propagation of consumer acknowledgments (ACKs) received on the active replication Message VPN to the standby replication Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. - `dead_msg_queue` (String) The name of the Dead Message Queue (DMQ). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"#DEAD_MSG_QUEUE"`. - `delivery_delay` (Number) The delay, in seconds, to apply to messages arriving on the Topic Endpoint before the messages are eligible for delivery. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. Available since SEMP API version 2.22. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Topic Endpoint consumer flows event, relative to `max_bind_count`. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Topic Endpoint, relative to `max_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Topic Endpoint event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) - `max_bind_count` (Number) The maximum number of consumer flows that can bind. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1`. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. - `max_msg_size` (Number) The maximum message size allowed, in bytes (B). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000000`. @@ -90,9 +90,9 @@ This has been available since SEMP API version 2.14. Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -101,9 +101,9 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -112,7 +112,7 @@ Read-Only: Read-Only: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/data-sources/oauth_profile.md b/docs/data-sources/oauth_profile.md index dc7da4a4..e70be17f 100644 --- a/docs/data-sources/oauth_profile.md +++ b/docs/data-sources/oauth_profile.md @@ -6,8 +6,8 @@ description: |- OAuth profiles specify how to securely authenticate to an OAuth provider. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - clientsecret||x|x - oauthprofile_name|x|| + client_secret||x|x + oauth_profile_name|x|| A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/data-sources/oauth_profile_access_level_group.md b/docs/data-sources/oauth_profile_access_level_group.md index 6ee38ed8..b8dc260b 100644 --- a/docs/data-sources/oauth_profile_access_level_group.md +++ b/docs/data-sources/oauth_profile_access_level_group.md @@ -6,8 +6,8 @@ description: |- The name of a group as it exists on the OAuth server being used to authenticate SEMP users. Attribute|Identifying :---|:---: - groupname|x - oauthprofile_name|x + group_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/data-sources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md b/docs/data-sources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md index 18d194d5..d0d805d4 100644 --- a/docs/data-sources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md +++ b/docs/data-sources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md @@ -6,9 +6,9 @@ description: |- Message VPN access-level exceptions for members of this group. Attribute|Identifying :---|:---: - groupname|x - msgvpnname|x - oauthprofile_name|x + group_name|x + msg_vpn_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/data-sources/oauth_profile_client_allowed_host.md b/docs/data-sources/oauth_profile_client_allowed_host.md index a569a5dc..fbdf89a6 100644 --- a/docs/data-sources/oauth_profile_client_allowed_host.md +++ b/docs/data-sources/oauth_profile_client_allowed_host.md @@ -6,8 +6,8 @@ description: |- A valid hostname for this broker in OAuth redirects. Attribute|Identifying :---|:---: - allowedhost|x - oauthprofile_name|x + allowed_host|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/data-sources/oauth_profile_client_authorization_parameter.md b/docs/data-sources/oauth_profile_client_authorization_parameter.md index 0b5cb70a..ae90d042 100644 --- a/docs/data-sources/oauth_profile_client_authorization_parameter.md +++ b/docs/data-sources/oauth_profile_client_authorization_parameter.md @@ -6,8 +6,8 @@ description: |- Additional parameters to be passed to the OAuth authorization endpoint. Attribute|Identifying :---|:---: - authorizationparametername|x - oauthprofilename|x + authorization_parameter_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/data-sources/oauth_profile_client_required_claim.md b/docs/data-sources/oauth_profile_client_required_claim.md index 4d90174d..41c49241 100644 --- a/docs/data-sources/oauth_profile_client_required_claim.md +++ b/docs/data-sources/oauth_profile_client_required_claim.md @@ -6,8 +6,8 @@ description: |- Additional claims to be verified in the ID token. Attribute|Identifying :---|:---: - clientrequiredclaimname|x - oauthprofile_name|x + client_required_claim_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/data-sources/oauth_profile_default_msg_vpn_access_level_exception.md b/docs/data-sources/oauth_profile_default_msg_vpn_access_level_exception.md index e684f979..771542f7 100644 --- a/docs/data-sources/oauth_profile_default_msg_vpn_access_level_exception.md +++ b/docs/data-sources/oauth_profile_default_msg_vpn_access_level_exception.md @@ -6,8 +6,8 @@ description: |- Default message VPN access-level exceptions. Attribute|Identifying :---|:---: - msgvpnname|x - oauthprofilename|x + msg_vpn_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/data-sources/oauth_profile_resource_server_required_claim.md b/docs/data-sources/oauth_profile_resource_server_required_claim.md index 61bab38f..f4b76f64 100644 --- a/docs/data-sources/oauth_profile_resource_server_required_claim.md +++ b/docs/data-sources/oauth_profile_resource_server_required_claim.md @@ -6,8 +6,8 @@ description: |- Additional claims to be verified in the access token. Attribute|Identifying :---|:---: - oauthprofilename|x - resourceserverrequiredclaimname|x + oauth_profile_name|x + resource_server_required_claim_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. --- diff --git a/docs/guides/config-generator.md b/docs/guides/config-generator.md index ad37052a..5abfbe65 100644 --- a/docs/guides/config-generator.md +++ b/docs/guides/config-generator.md @@ -6,81 +6,71 @@ page_title: "Command-line Terraform Configuration Generator Guide" Normally, provider binaries are not run standalone, they are started and their services are used by Terraform CLI. -The `solacebroker` provider, however, includes an additional feature where you can run its binary outside of Terraform CLI. In this case, you can use the "generate" command on the provider binary to generate a Terraform HLC configuration file for a specified object and all child objects known to the provider. +The `solacebroker` provider, however, includes an additional feature where you can run its binary outside of Terraform CLI. In this case, you can use the "generate" command on the provider binary to generate a Terraform HCL configuration file for a specified object and all its child objects known to the provider. You can [locate](https://terra-farm.github.io/main/installation.html) the provider binary in the `.terraform/providers` directory of an existing Terraform configuration directory that uses the `solacebroker` provider. -You can run the provider binary directly with the `generate` command to generate a Terraform configuration file from the current configuration of a PubSub+ broker. - -` generate ` - -- `` is the broker provider binary. -- `` is the broker address, for example `https://mybroker.example.org:1943/`. -- `` is similar to the Terraform Import command. This is the resource name and possible values to find a specific resource. -- `` is the desirable name of the generated filename. -- There are also supported options, which mirror the configuration options for the provider object. These can be found [here](#supported-options). - -This generator supports configuring software event brokers and will fail if applied against an appliance. This check may be overridden by setting the `SOLACEBROKER_SKIP_API_CHECK=true` environment variable. - ## Important notes You should review the generated configuration for the following: -* You may need to update provider configuration values (URL, username, etc.) -* Write-only attributes, such as passwords, are omitted from the config as they cannot be read from the broker configuration. You need to add them manually. +* The provider block values in the generated configuration (URL, username, etc.) are exposed via Terraform input variables. Some write-only and related attribute values may also be assigned from input variables. It is recommended to check the variables created by the generator: you will need to assign value to those variables when applying the configuration or Terraform will prompt for the variable value. +* Some optional write-only attributes that cannot be determined by the generator if they were configured, are omitted from the generated configuration. You may need to add them manually. * Default resources may be present that you can omit. +* It may be required to add a "depends_on" meta-argument between generated objects. Refer to the "System provisioned objects" section. * The generator uses a naming scheme for the resources. You can update this by manually replacing the generated names. ## Usage -```shell -terraform-provider-solacebroker -h +` generate [flags] ` -Usage: - terraform-provider-solacebroker [command] +* `` is the broker provider binary. +* `[flags]` are the [supported parameters](https://registry.terraform.io/providers/SolaceProducts/solacebroker/latest/docs/guides/config-generator#supported-parameters), which mirror the [configuration options for the provider object](https://registry.terraform.io/providers/SolaceProducts/solacebroker/latest/docs#schema), for example `--url=https://localhost:1943`. Parameters can alternatively be set via environment variables, for this example through setting `SOLACEBROKER_URL`. +* `` is the address of the specified object instance in the generated configuration, in the form of `.` (for example `solacebroker_msg_vpn.myvpn`). +* `` is the import identifier of the specified object instance as in the Terraform Import command. The import identifier is available from the documentation of each resource type. +* `` is the name of the generated file. +This generator supports obtaining the configuration of software event brokers and will fail if applied against an appliance. This check may be overridden by setting the SOLACEBROKER_SKIP_API_CHECK=true environment variable. -Available Commands: -generate Generates a Terraform configuration file for a specified PubSub+ Broker object and all child objects known to the provider -help Help about any command -version Provides version information about the current binary +Example: +```bash +SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn_queue.q default/test my-message-vpn-queue.tf ``` -To `generate` the configuration, make sure all ENVIRONMENT VARIABLES, which mirror the configuration options for the -provider object are set. You can find the list of variables [here](#supported-options). +This will generate the configuration for queue `test` in message VPN `default`, and the configuration of all children, for example all subscriptions that have been configured to this queue. + +### Supported parameters -For example: -`SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn.mq default my-messagevpn.tf` +The following parameters can be set as flags or environment variables (flags take precedence if both defined): -This command would create a file `my-messagevpn.tf` that contains a resource definition for the default Message VPN resource and -any child objects, assuming the appropriate broker credentials were set in environment variables. +| Parameter | Required | Flag | Env var | Default | +|------------------------------- |-----------|-----------------------|------------------------------|---------| +| url | Yes | --url | SOLACEBROKER_URL | None | +| username (Note1) | Yes | --username | SOLACEBROKER_USERNAME | None | +| password (Note1) | No | --password | SOLACEBROKER_PASSWORD | None | +| bearer-token (Note1) | No | --bearer-token | SOLACEBROKER_BEARER_TOKEN | None | +| insecure-skip-verify | No | --insecure-skip-verify | SOLACEBROKER_INSECURE_SKIP_VERIFY | false | +| request-min-interval | No | --request-min-interval | SOLACEBROKER_REQUEST_MIN_INTERVAL | 100ms | +| request-timeout-duration | No | --request-timeout-duration | SOLACEBROKER_REQUEST_TIMEOUT_DURATION | 1m | +| retries | No | --retries | SOLACEBROKER_RETRIES | 10 | +| retry-min-interval | No | --retry-min-interval | SOLACEBROKER_RETRY_MIN_INTERVAL | 3s | +| retry-max-interval | No | --retry-max-interval | SOLACEBROKER_RETRY_MAX_INTERVAL | 30s | +| skip-api-check | No | --skip-api-check | SOLACEBROKER_SKIP_API_CHECK | false | -Note: For objects with no child object, the file will only contain a resource definition for that object. +Note1: Only one authentication method can be used at a time: either bearer-token or username/password. -For example: -`SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn_queue.q default/test my-message-vpn-queue.tf` +## Attribute generation -This command would create a file `my-message-vpn-queue.tf` that contains the msg_vpn_queue resource , `test` for the -Message VPN, `default`, assuming a msg_vpn_queue resource called `test` exists for the Message VPN, `default`. +For each object, all attributes will be generated as attributes on the corresponding resource with the exception of: +* attributes that are at the default value (as per the broker version corresponding to the broker provider) +* write-only attributes that cannot be determined if they were configured (not coupled with another non write-only attribute) -### Supported Options +Write-only attributes that are coupled with another non write-only attribute will be generated as variable references. Variables for coupled attributes that are not write-only will have a commented-out default value with the value of the attribute, which you can choose to uncomment. Having no default means that Terraform will prompt for the variable value. -The following parameters can be set as ENVIRONMENT VARIABLES. When used as an environment variable, -each parameter must be preceded with _SOLACEBROKER__. An example for a PubSub+ broker using username and password -_**admin/password**_ -would be: +## System provisioned objects -`SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=password` +System provisioned broker objects are created as a side-effect of creating other objects. These other objects are referred to as "parent object". The generator is attempting to recognize system provisioned objects and omit them from the configuration or add a warning comment, as direct creation of such objects will fail. -- `SOLACEBROKER_BEARER_TOKEN` (String, Sensitive, Mandatory if `password` not provided) -- `SOLACEBROKER_INSECURE_SKIP_VERIFY` (Boolean) Disable validation of server SSL certificates, accept/ignore self-signed. -- `SOLACEBROKER_PASSWORD` (String, Sensitive, Mandatory if `bearer_token` not provided) -- `SOLACEBROKER_REQUEST_MIN_INTERVAL` (String) -- `SOLACEBROKER_REQUEST_TIMEOUT_DURATION` (String) -- `SOLACEBROKER_RETRIES` (Number) -- `SOLACEBROKER_RETRY_MAX_INTERVAL` (String) -- `SOLACEBROKER_RETRY_MIN_INTERVAL` (String) -- `SOLACEBROKER_SKIP_API_CHECK` (String) Disable validation of the broker SEMP API for supported platform and minimum version. -- `SOLACEBROKER_USERNAME` (String, Mandatory) The username for the broker request. +If an object's attribute is referencing a possible system-provisioned object, there may be a conflict at apply-time if the referenced object has not yet been created. The generator will add a comment when recognizing such references and it may be necessary to add a "depends_on" meta-argument between the referencoing and the parent objects to ensure proper create sequence. ## Troubleshooting @@ -103,7 +93,7 @@ The following issues may arise while using the generator. | Error | SEMP called failed. resource not found on path /xxx/xxx | |-----------------|------------------------------------------------------------------------------------------| -| Explanation | This indicates the resource attributes attempted to be fetch could not be read. | +| Explanation | This indicates the resource attributes attempted to be fetched could not be read. | | Possible Action | Ensure identifiers values are consistent as set on the PubSub+ broker configured with. | | Error | Error: Broker resource not found by terraform name xxx | diff --git a/docs/resources/broker.md b/docs/resources/broker.md index ad096931..a6ba8a91 100644 --- a/docs/resources/broker.md +++ b/docs/resources/broker.md @@ -6,130 +6,131 @@ description: |- This object contains global configuration for the message broker. Attribute|Write-Only|Opaque :---|:---:|:---: - tlsservercertcontent|x|x - tlsservercertpassword|x| + tls_server_cert_content|x|x + tls_server_cert_password|x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. Requests which include the following attributes may require greater access scope/level than "vpn/read-only": Attribute|Access Scope/Level :---|:---: - authclientcertrevocationcheckmode|global/read-only - configsyncauthenticationclientcertmaxchaindepth|global/read-only - configsyncauthenticationclientcertvalidatedateenabled|global/read-only - configsyncclientprofiletcpinitialcongestionwindow|global/read-only - configsyncclientprofiletcpkeepalivecount|global/read-only - configsyncclientprofiletcpkeepaliveidle|global/read-only - configsyncclientprofiletcpkeepaliveinterval|global/read-only - configsyncclientprofiletcpmaxwindow|global/read-only - configsyncclientprofiletcpmss|global/read-only - configsyncenabled|global/read-only - configsyncsynchronizeusernameenabled|global/read-only - configsynctlsenabled|global/read-only - guaranteedmsgingdefragmentationscheduledaylist|global/read-only - guaranteedmsgingdefragmentationscheduleenabled|global/read-only - guaranteedmsgingdefragmentationscheduletimelist|global/read-only - guaranteedmsgingdefragmentationthresholdenabled|global/read-only - guaranteedmsgingdefragmentationthresholdfragmentationpercentage|global/read-only - guaranteedmsgingdefragmentationthresholdmininterval|global/read-only - guaranteedmsgingdefragmentationthresholdusagepercentage|global/read-only - guaranteedmsgingenabled|global/read-only - guaranteedmsgingeventcacheusagethreshold.clearpercent|global/read-only - guaranteedmsgingeventcacheusagethreshold.clearvalue|global/read-only - guaranteedmsgingeventcacheusagethreshold.setpercent|global/read-only - guaranteedmsgingeventcacheusagethreshold.setvalue|global/read-only - guaranteedmsgingeventdeliveredunackedthreshold.clearpercent|global/read-only - guaranteedmsgingeventdeliveredunackedthreshold.setpercent|global/read-only - guaranteedmsgingeventdiskusagethreshold.clearpercent|global/read-only - guaranteedmsgingeventdiskusagethreshold.setpercent|global/read-only - guaranteedmsgingeventegressflowcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventegressflowcountthreshold.clearvalue|global/read-only - guaranteedmsgingeventegressflowcountthreshold.setpercent|global/read-only - guaranteedmsgingeventegressflowcountthreshold.setvalue|global/read-only - guaranteedmsgingeventendpointcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventendpointcountthreshold.clearvalue|global/read-only - guaranteedmsgingeventendpointcountthreshold.setpercent|global/read-only - guaranteedmsgingeventendpointcountthreshold.setvalue|global/read-only - guaranteedmsgingeventingressflowcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventingressflowcountthreshold.clearvalue|global/read-only - guaranteedmsgingeventingressflowcountthreshold.setpercent|global/read-only - guaranteedmsgingeventingressflowcountthreshold.setvalue|global/read-only - guaranteedmsgingeventmsgcountthreshold.clearpercent|global/read-only - guaranteedmsgingeventmsgcountthreshold.setpercent|global/read-only - guaranteedmsgingeventmsgspoolfilecountthreshold.clearpercent|global/read-only - guaranteedmsgingeventmsgspoolfilecountthreshold.setpercent|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.clearpercent|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.clearvalue|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.setpercent|global/read-only - guaranteedmsgingeventmsgspoolusagethreshold.setvalue|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.clearpercent|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.clearvalue|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.setpercent|global/read-only - guaranteedmsgingeventtransactedsessioncountthreshold.setvalue|global/read-only - guaranteedmsgingeventtransactedsessionresourcecountthreshold.clearpercent|global/read-only - guaranteedmsgingeventtransactedsessionresourcecountthreshold.setpercent|global/read-only - guaranteedmsgingeventtransactioncountthreshold.clearpercent|global/read-only - guaranteedmsgingeventtransactioncountthreshold.clearvalue|global/read-only - guaranteedmsgingeventtransactioncountthreshold.setpercent|global/read-only - guaranteedmsgingeventtransactioncountthreshold.setvalue|global/read-only - guaranteedmsgingmaxcacheusage|global/read-only - guaranteedmsgingmaxmsgspoolusage|global/read-only - guaranteedmsgingmsgspoolsyncmirroredmsgacktimeout|global/read-only - guaranteedmsgingmsgspoolsyncmirroredspoolfileacktimeout|global/read-only - guaranteedmsgingtransactionreplicationcompatibilitymode|global/read-only - oauthprofiledefault|global/read-only - serviceamqpenabled|global/read-only - serviceamqptlslistenport|global/read-only - serviceeventconnectioncountthreshold.clearpercent|global/read-only - serviceeventconnectioncountthreshold.clearvalue|global/read-only - serviceeventconnectioncountthreshold.setpercent|global/read-only - serviceeventconnectioncountthreshold.setvalue|global/read-only - servicehealthcheckenabled|global/read-only - servicehealthchecklistenport|global/read-only - servicehealthchecktlsenabled|global/read-only - servicehealthchecktlslistenport|global/read-only - servicematelinkenabled|global/read-only - servicematelinklistenport|global/read-only - servicemqttenabled|global/read-only - servicemsgbackboneenabled|global/read-only - serviceredundancyenabled|global/read-only - serviceredundancyfirstlistenport|global/read-only - serviceresteventoutgoingconnectioncountthreshold.clearpercent|global/read-only - serviceresteventoutgoingconnectioncountthreshold.clearvalue|global/read-only - serviceresteventoutgoingconnectioncountthreshold.setpercent|global/read-only - serviceresteventoutgoingconnectioncountthreshold.setvalue|global/read-only - servicerestincomingenabled|global/read-only - servicerestoutgoingenabled|global/read-only - servicesempcorsallowanyhostenabled|global/read-only - servicesemplegacytimeoutenabled|global/read-only - servicesempplaintextenabled|global/read-only - servicesempplaintextlistenport|global/read-only - servicesempsessionidletimeout|global/read-only - servicesempsessionmaxlifetime|global/read-only - servicesemptlsenabled|global/read-only - servicesemptlslistenport|global/read-only - servicesmfcompressionlistenport|global/read-only - servicesmfenabled|global/read-only - servicesmfeventconnectioncountthreshold.clearpercent|global/read-only - servicesmfeventconnectioncountthreshold.clearvalue|global/read-only - servicesmfeventconnectioncountthreshold.setpercent|global/read-only - servicesmfeventconnectioncountthreshold.setvalue|global/read-only - servicesmfplaintextlistenport|global/read-only - servicesmfroutingcontrollistenport|global/read-only - servicesmftlslistenport|global/read-only - servicetlseventconnectioncountthreshold.clearpercent|global/read-only - servicetlseventconnectioncountthreshold.clearvalue|global/read-only - servicetlseventconnectioncountthreshold.setpercent|global/read-only - servicetlseventconnectioncountthreshold.setvalue|global/read-only - servicewebtransportenabled|global/read-only - servicewebtransportplaintextlistenport|global/read-only - servicewebtransporttlslistenport|global/read-only - servicewebtransportweburlsuffix|global/read-only - tlsblockversion11enabled|global/read-only - tlsciphersuitemanagementlist|global/read-only - tlsciphersuitemsgbackbonelist|global/read-only - tlsciphersuitesecureshelllist|global/read-only - tlscrimeexploitprotectionenabled|global/read-only - tlsservercertcontent|global/read-only - tlsticket_lifetime|global/read-only + auth_client_cert_revocation_check_mode|global/read-only + config_sync_authentication_client_cert_max_chain_depth|global/read-only + config_sync_authentication_client_cert_validate_date_enabled|global/read-only + config_sync_client_profile_tcp_initial_congestion_window|global/read-only + config_sync_client_profile_tcp_keepalive_count|global/read-only + config_sync_client_profile_tcp_keepalive_idle|global/read-only + config_sync_client_profile_tcp_keepalive_interval|global/read-only + config_sync_client_profile_tcp_max_window|global/read-only + config_sync_client_profile_tcp_mss|global/read-only + config_sync_enabled|global/read-only + config_sync_synchronize_username_enabled|global/read-only + config_sync_tls_enabled|global/read-only + guaranteed_msging_defragmentation_schedule_day_list|global/read-only + guaranteed_msging_defragmentation_schedule_enabled|global/read-only + guaranteed_msging_defragmentation_schedule_time_list|global/read-only + guaranteed_msging_defragmentation_threshold_enabled|global/read-only + guaranteed_msging_defragmentation_threshold_fragmentation_percentage|global/read-only + guaranteed_msging_defragmentation_threshold_min_interval|global/read-only + guaranteed_msging_defragmentation_threshold_usage_percentage|global/read-only + guaranteed_msging_enabled|global/read-only + guaranteed_msging_event_cache_usage_threshold.clear_percent|global/read-only + guaranteed_msging_event_cache_usage_threshold.clear_value|global/read-only + guaranteed_msging_event_cache_usage_threshold.set_percent|global/read-only + guaranteed_msging_event_cache_usage_threshold.set_value|global/read-only + guaranteed_msging_event_delivered_unacked_threshold.clear_percent|global/read-only + guaranteed_msging_event_delivered_unacked_threshold.set_percent|global/read-only + guaranteed_msging_event_disk_usage_threshold.clear_percent|global/read-only + guaranteed_msging_event_disk_usage_threshold.set_percent|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.clear_value|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.set_percent|global/read-only + guaranteed_msging_event_egress_flow_count_threshold.set_value|global/read-only + guaranteed_msging_event_endpoint_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_endpoint_count_threshold.clear_value|global/read-only + guaranteed_msging_event_endpoint_count_threshold.set_percent|global/read-only + guaranteed_msging_event_endpoint_count_threshold.set_value|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.clear_value|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.set_percent|global/read-only + guaranteed_msging_event_ingress_flow_count_threshold.set_value|global/read-only + guaranteed_msging_event_msg_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_msg_count_threshold.set_percent|global/read-only + guaranteed_msging_event_msg_spool_file_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_msg_spool_file_count_threshold.set_percent|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.clear_percent|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.clear_value|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.set_percent|global/read-only + guaranteed_msging_event_msg_spool_usage_threshold.set_value|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.clear_value|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.set_percent|global/read-only + guaranteed_msging_event_transacted_session_count_threshold.set_value|global/read-only + guaranteed_msging_event_transacted_session_resource_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_transacted_session_resource_count_threshold.set_percent|global/read-only + guaranteed_msging_event_transaction_count_threshold.clear_percent|global/read-only + guaranteed_msging_event_transaction_count_threshold.clear_value|global/read-only + guaranteed_msging_event_transaction_count_threshold.set_percent|global/read-only + guaranteed_msging_event_transaction_count_threshold.set_value|global/read-only + guaranteed_msging_max_cache_usage|global/read-only + guaranteed_msging_max_msg_spool_usage|global/read-only + guaranteed_msging_msg_spool_sync_mirrored_msg_ack_timeout|global/read-only + guaranteed_msging_msg_spool_sync_mirrored_spool_file_ack_timeout|global/read-only + guaranteed_msging_transaction_replication_compatibility_mode|global/read-only + oauth_profile_default|global/read-only + service_amqp_enabled|global/read-only + service_amqp_tls_listen_port|global/read-only + service_event_connection_count_threshold.clear_percent|global/read-only + service_event_connection_count_threshold.clear_value|global/read-only + service_event_connection_count_threshold.set_percent|global/read-only + service_event_connection_count_threshold.set_value|global/read-only + service_health_check_enabled|global/read-only + service_health_check_listen_port|global/read-only + service_health_check_tls_enabled|global/read-only + service_health_check_tls_listen_port|global/read-only + service_mate_link_enabled|global/read-only + service_mate_link_listen_port|global/read-only + service_mqtt_enabled|global/read-only + service_msg_backbone_enabled|global/read-only + service_redundancy_enabled|global/read-only + service_redundancy_first_listen_port|global/read-only + service_rest_event_outgoing_connection_count_threshold.clear_percent|global/read-only + service_rest_event_outgoing_connection_count_threshold.clear_value|global/read-only + service_rest_event_outgoing_connection_count_threshold.set_percent|global/read-only + service_rest_event_outgoing_connection_count_threshold.set_value|global/read-only + service_rest_incoming_enabled|global/read-only + service_rest_outgoing_enabled|global/read-only + service_semp_cors_allow_any_host_enabled|global/read-only + service_semp_legacy_timeout_enabled|global/read-only + service_semp_plain_text_enabled|global/read-only + service_semp_plain_text_listen_port|global/read-only + service_semp_session_idle_timeout|global/read-only + service_semp_session_max_lifetime|global/read-only + service_semp_tls_enabled|global/read-only + service_semp_tls_listen_port|global/read-only + service_smf_compression_listen_port|global/read-only + service_smf_enabled|global/read-only + service_smf_event_connection_count_threshold.clear_percent|global/read-only + service_smf_event_connection_count_threshold.clear_value|global/read-only + service_smf_event_connection_count_threshold.set_percent|global/read-only + service_smf_event_connection_count_threshold.set_value|global/read-only + service_smf_plain_text_listen_port|global/read-only + service_smf_routing_control_listen_port|global/read-only + service_smf_tls_listen_port|global/read-only + service_tls_event_connection_count_threshold.clear_percent|global/read-only + service_tls_event_connection_count_threshold.clear_value|global/read-only + service_tls_event_connection_count_threshold.set_percent|global/read-only + service_tls_event_connection_count_threshold.set_value|global/read-only + service_web_transport_enabled|global/read-only + service_web_transport_plain_text_listen_port|global/read-only + service_web_transport_tls_listen_port|global/read-only + service_web_transport_web_url_suffix|global/read-only + tls_block_version11_enabled|global/read-only + tls_cipher_suite_management_list|global/read-only + tls_cipher_suite_msg_backbone_list|global/read-only + tls_cipher_suite_secure_shell_list|global/read-only + tls_crime_exploit_protection_enabled|global/read-only + tls_server_cert_content|global/read-only + tls_ticket_lifetime|global/read-only This has been available since SEMP API version 2.13. + The import identifier for this resource is "" (empty string) --- # solacebroker_broker (Resource) @@ -272,6 +273,8 @@ tls_ticket_lifetime|global/read-only This has been available since SEMP API version 2.13. +The import identifier for this resource is `""` (empty string) + @@ -306,18 +309,18 @@ This has been available since SEMP API version 2.13. - `guaranteed_msging_defragmentation_threshold_min_interval` (Number) Minimum interval of time (in minutes) between defragmentation runs triggered by thresholds. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `15`. Available since SEMP API version 2.25. - `guaranteed_msging_defragmentation_threshold_usage_percentage` (Number) Percentage of spool usage needed to trigger defragmentation run. The minimum value allowed is 30%. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `50`. Available since SEMP API version 2.25. - `guaranteed_msging_enabled` (Boolean) Enable or disable Guaranteed Messaging. The default value is `false`. Available since SEMP API version 2.18. -- `guaranteed_msging_event_cache_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_cache_usage_threshold)) -- `guaranteed_msging_event_delivered_unacked_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_delivered_unacked_threshold)) -- `guaranteed_msging_event_disk_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_disk_usage_threshold)) -- `guaranteed_msging_event_egress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_egress_flow_count_threshold)) -- `guaranteed_msging_event_endpoint_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_endpoint_count_threshold)) -- `guaranteed_msging_event_ingress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_ingress_flow_count_threshold)) -- `guaranteed_msging_event_msg_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_count_threshold)) -- `guaranteed_msging_event_msg_spool_file_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_file_count_threshold)) -- `guaranteed_msging_event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_usage_threshold)) -- `guaranteed_msging_event_transacted_session_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_count_threshold)) -- `guaranteed_msging_event_transacted_session_resource_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_resource_count_threshold)) -- `guaranteed_msging_event_transaction_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--guaranteed_msging_event_transaction_count_threshold)) +- `guaranteed_msging_event_cache_usage_threshold` (Attributes) The thresholds for the cache usage event at system level, relative to `guaranteed_msging_max_cache_usage`. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_cache_usage_threshold)) +- `guaranteed_msging_event_delivered_unacked_threshold` (Attributes) The thresholds for the number of delivered but unacknowledged messages event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_delivered_unacked_threshold)) +- `guaranteed_msging_event_disk_usage_threshold` (Attributes) The thresholds for the active disk partition usage event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_disk_usage_threshold)) +- `guaranteed_msging_event_egress_flow_count_threshold` (Attributes) The thresholds for the transmit flow count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_egress_flow_count_threshold)) +- `guaranteed_msging_event_endpoint_count_threshold` (Attributes) The thresholds for the endpoints count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_endpoint_count_threshold)) +- `guaranteed_msging_event_ingress_flow_count_threshold` (Attributes) The thresholds for the receive flow count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_ingress_flow_count_threshold)) +- `guaranteed_msging_event_msg_count_threshold` (Attributes) The thresholds for the spool message count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_count_threshold)) +- `guaranteed_msging_event_msg_spool_file_count_threshold` (Attributes) The thresholds for the spool file count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_file_count_threshold)) +- `guaranteed_msging_event_msg_spool_usage_threshold` (Attributes) The thresholds for the spool usage event at system level, relative to `max_spool_usage`. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_msg_spool_usage_threshold)) +- `guaranteed_msging_event_transacted_session_count_threshold` (Attributes) The thresholds for the transacted sessions event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_count_threshold)) +- `guaranteed_msging_event_transacted_session_resource_count_threshold` (Attributes) The thresholds for the transacted session resources at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_transacted_session_resource_count_threshold)) +- `guaranteed_msging_event_transaction_count_threshold` (Attributes) The thresholds for the transactions event at system level, relative to the maximum system limit. Available since SEMP API version 2.18. (see [below for nested schema](#nestedatt--guaranteed_msging_event_transaction_count_threshold)) - `guaranteed_msging_max_cache_usage` (Number) Guaranteed messaging cache usage limit. Expressed as a maximum percentage of the NAB's egress queueing. resources that the guaranteed message cache is allowed to use. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `10`. Available since SEMP API version 2.18. - `guaranteed_msging_max_msg_spool_usage` (Number) The maximum total message spool usage allowed across all VPNs on this broker, in megabytes. Recommendation: the maximum value should be less than 90% of the disk space allocated for the guaranteed message spool. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `1500`. Available since SEMP API version 2.18. - `guaranteed_msging_msg_spool_sync_mirrored_msg_ack_timeout` (Number) The maximum time, in milliseconds, that can be tolerated for remote acknowledgment of synchronization messages before which the remote system will be considered out of sync. The default value is `10000`. Available since SEMP API version 2.18. @@ -332,7 +335,7 @@ This has been available since SEMP API version 2.13. - `oauth_profile_default` (String) The default OAuth profile for OAuth authenticated SEMP requests. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `""`. Available since SEMP API version 2.24. - `service_amqp_enabled` (Boolean) Enable or disable the AMQP service. When disabled new AMQP Clients may not connect through the global or per-VPN AMQP listen-ports, and all currently connected AMQP Clients are immediately disconnected. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_amqp_tls_listen_port` (Number) TCP port number that AMQP clients can use to connect to the broker using raw TCP over TLS. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_amqp_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `0`. Available since SEMP API version 2.17. -- `service_event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_event_connection_count_threshold)) +- `service_event_connection_count_threshold` (Attributes) The thresholds for the connection count event. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_event_connection_count_threshold)) - `service_health_check_enabled` (Boolean) Enable or disable the plain-text health-check service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_health_check_listen_port` (Number) The port number for the plain-text health-check service. The port must be unique across the message backbone. The health-check service must be disabled to change the port. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_health_check_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `5550`. Available since SEMP API version 2.17. - `service_health_check_tls_enabled` (Boolean) Enable or disable the TLS health-check service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.34. @@ -343,7 +346,7 @@ This has been available since SEMP API version 2.13. - `service_msg_backbone_enabled` (Boolean) Enable or disable the msg-backbone service. When disabled new Clients may not connect through global or per-VPN listen-ports, and all currently connected Clients are immediately disconnected. The default value is `true`. Available since SEMP API version 2.17. - `service_redundancy_enabled` (Boolean) Enable or disable the redundancy service. The default value is `true`. Available since SEMP API version 2.17. - `service_redundancy_first_listen_port` (Number) The first listen-port used for the redundancy service. Redundancy uses this port and the subsequent 2 ports. These port must be unique across the message backbone. The redundancy service must be disabled to change this port. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_redundancy_enabled will be temporarily set to false to apply the change. The default value is `8300`. Available since SEMP API version 2.17. -- `service_rest_event_outgoing_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_rest_event_outgoing_connection_count_threshold)) +- `service_rest_event_outgoing_connection_count_threshold` (Attributes) The thresholds for the REST outgoing connection count event. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_rest_event_outgoing_connection_count_threshold)) - `service_rest_incoming_enabled` (Boolean) Enable or disable the REST service incoming connections on the broker. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_rest_outgoing_enabled` (Boolean) Enable or disable the REST service outgoing connections on the broker. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_semp_cors_allow_any_host_enabled` (Boolean) Enable or disable cross origin resource requests for the SEMP service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `true`. Available since SEMP API version 2.24. @@ -354,11 +357,11 @@ This has been available since SEMP API version 2.13. - `service_semp_tls_enabled` (Boolean) Enable or disable TLS SEMP service. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `true`. Available since SEMP API version 2.17. - `service_smf_compression_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw compression TCP. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55003`. Available since SEMP API version 2.17. - `service_smf_enabled` (Boolean) Enable or disable the SMF service. When disabled new SMF Clients may not connect through the global listen-ports, and all currently connected SMF Clients are immediately disconnected. The default value is `true`. Available since SEMP API version 2.17. -- `service_smf_event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_smf_event_connection_count_threshold)) +- `service_smf_event_connection_count_threshold` (Attributes) The thresholds for the SMF connection count event. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_smf_event_connection_count_threshold)) - `service_smf_plain_text_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw TCP. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55555`. Available since SEMP API version 2.17. - `service_smf_routing_control_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw routing control TCP. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55556`. Available since SEMP API version 2.17. - `service_smf_tls_listen_port` (Number) TCP port number that SMF clients can use to connect to the broker using raw TCP over TLS. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_smf_enabled will be temporarily set to false to apply the change. The default value is `55443`. Available since SEMP API version 2.17. -- `service_tls_event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--service_tls_event_connection_count_threshold)) +- `service_tls_event_connection_count_threshold` (Attributes) The thresholds for the incoming and outgoing TLS connection count event of the broker. Available since SEMP API version 2.17. (see [below for nested schema](#nestedatt--service_tls_event_connection_count_threshold)) - `service_web_transport_enabled` (Boolean) Enable or disable the web-transport service. When disabled new web-transport Clients may not connect through the global listen-ports, and all currently connected web-transport Clients are immediately disconnected. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.17. - `service_web_transport_plain_text_listen_port` (Number) The TCP port for plain-text WEB client connections. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_web_transport_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `8008`. Available since SEMP API version 2.17. - `service_web_transport_tls_listen_port` (Number) The TCP port for TLS WEB client connections. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as service_web_transport_enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `1443`. Available since SEMP API version 2.17. @@ -373,7 +376,6 @@ This has been available since SEMP API version 2.13. - `tls_standard_domain_certificate_authorities_enabled` (Boolean) Enable or disable the standard domain certificate authority list. The default value is `true`. Available since SEMP API version 2.19. - `tls_ticket_lifetime` (Number) The TLS ticket lifetime in seconds. When a client connects with TLS, a session with a session ticket is created using the TLS ticket lifetime which determines how long the client has to resume the session. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `86400`. - `web_manager_allow_unencrypted_wizards_enabled` (Boolean) Enable or disable the use of unencrypted wizards in the Web-based Manager UI. This setting should be left at its default on all production systems or other systems that need to be secure. Enabling this option will permit the broker to forward plain-text data to other brokers, making important information or credentials available for snooping. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `false`. Available since SEMP API version 2.28. -- `web_manager_customization` (String) Reserved for internal use by Solace. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `""`. Available since SEMP API version 2.25. - `web_manager_redirect_http_enabled` (Boolean) Enable or disable redirection of HTTP requests for the broker manager to HTTPS. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `true`. Available since SEMP API version 2.24. - `web_manager_redirect_http_override_tls_port` (Number) The HTTPS port that HTTP requests will be redirected towards in a HTTP 301 redirect response. Zero is a special value that means use the value specified for the SEMP TLS port value. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `0`. Available since SEMP API version 2.24. @@ -382,9 +384,9 @@ This has been available since SEMP API version 2.13. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -393,8 +395,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -402,8 +404,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -411,9 +413,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -422,9 +424,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -433,9 +435,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -444,8 +446,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -453,8 +455,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -462,9 +464,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -473,9 +475,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -484,8 +486,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -493,9 +495,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -504,9 +506,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -515,9 +517,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -526,9 +528,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -537,7 +539,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/client_cert_authority.md b/docs/resources/client_cert_authority.md index d4c33282..8b8ed46b 100644 --- a/docs/resources/client_cert_authority.md +++ b/docs/resources/client_cert_authority.md @@ -6,9 +6,10 @@ description: |- Clients can authenticate with the message broker over TLS by presenting a valid client certificate. The message broker authenticates the client certificate by constructing a full certificate chain (from the client certificate to intermediate CAs to a configured root CA). The intermediate CAs in this chain can be provided by the client, or configured in the message broker. The root CA must be configured on the message broker. Attribute|Identifying :---|:---: - certauthorityname|x + cert_authority_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.19. + The import identifier for this resource is {certAuthorityName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_client_cert_authority (Resource) @@ -26,6 +27,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.19. +The import identifier for this resource is `{certAuthorityName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/client_cert_authority_ocsp_tls_trusted_common_name.md b/docs/resources/client_cert_authority_ocsp_tls_trusted_common_name.md index 54bc6dc6..1657cfd1 100644 --- a/docs/resources/client_cert_authority_ocsp_tls_trusted_common_name.md +++ b/docs/resources/client_cert_authority_ocsp_tls_trusted_common_name.md @@ -6,10 +6,11 @@ description: |- When an OCSP override URL is configured, the OCSP responder will be required to sign the OCSP responses with certificates issued to these Trusted Common Names. A maximum of 8 common names can be configured as valid response signers. Attribute|Identifying :---|:---: - certauthorityname|x - ocsptlstrustedcommonname|x + cert_authority_name|x + ocsp_tls_trusted_common_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.19. + The import identifier for this resource is {certAuthorityName}/{ocspTlsTrustedCommonName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_client_cert_authority_ocsp_tls_trusted_common_name (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.19. +The import identifier for this resource is `{certAuthorityName}/{ocspTlsTrustedCommonName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/dmr_cluster.md b/docs/resources/dmr_cluster.md index e8f18369..e95915fa 100644 --- a/docs/resources/dmr_cluster.md +++ b/docs/resources/dmr_cluster.md @@ -6,13 +6,14 @@ description: |- A Cluster is a provisioned object on a message broker that contains global DMR configuration parameters. Attribute|Identifying|Write-Only|Deprecated|Opaque :---|:---:|:---:|:---:|:---: - authenticationbasicpassword||x||x - authenticationclientcertcontent||x||x - authenticationclientcertpassword||x|| - dmrclustername|x||| - tlsservercertenforcetrustedcommonname_enabled|||x| + authentication_basic_password||x||x + authentication_client_cert_content||x||x + authentication_client_cert_password||x|| + dmr_cluster_name|x||| + tls_server_cert_enforce_trusted_common_name_enabled|||x| A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {dmrClusterName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_dmr_cluster (Resource) @@ -34,6 +35,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.11. +The import identifier for this resource is `{dmrClusterName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/dmr_cluster_cert_matching_rule.md b/docs/resources/dmr_cluster_cert_matching_rule.md index 9e0b74b8..45378bfc 100644 --- a/docs/resources/dmr_cluster_cert_matching_rule.md +++ b/docs/resources/dmr_cluster_cert_matching_rule.md @@ -6,10 +6,11 @@ description: |- A Cert Matching Rule is a collection of conditions and attribute filters that all have to be satisfied for certificate to be acceptable as authentication for a given link. Attribute|Identifying :---|:---: - dmrclustername|x + dmr_cluster_name|x rule_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. + The import identifier for this resource is {dmrClusterName}/{ruleName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_dmr_cluster_cert_matching_rule (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.28. +The import identifier for this resource is `{dmrClusterName}/{ruleName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/dmr_cluster_cert_matching_rule_attribute_filter.md b/docs/resources/dmr_cluster_cert_matching_rule_attribute_filter.md index 38142c9c..fb097de0 100644 --- a/docs/resources/dmr_cluster_cert_matching_rule_attribute_filter.md +++ b/docs/resources/dmr_cluster_cert_matching_rule_attribute_filter.md @@ -6,11 +6,12 @@ description: |- A Cert Matching Rule Attribute Filter compares a link attribute to a string. Attribute|Identifying :---|:---: - dmrclustername|x - filtername|x - rulename|x + dmr_cluster_name|x + filter_name|x + rule_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. + The import identifier for this resource is {dmrClusterName}/{ruleName}/{filterName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_dmr_cluster_cert_matching_rule_attribute_filter (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.28. +The import identifier for this resource is `{dmrClusterName}/{ruleName}/{filterName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/dmr_cluster_cert_matching_rule_condition.md b/docs/resources/dmr_cluster_cert_matching_rule_condition.md index 4cf6d8df..60230f79 100644 --- a/docs/resources/dmr_cluster_cert_matching_rule_condition.md +++ b/docs/resources/dmr_cluster_cert_matching_rule_condition.md @@ -6,11 +6,12 @@ description: |- A Cert Matching Rule Condition compares data extracted from a certificate to a link attribute or an expression. Attribute|Identifying :---|:---: - dmrclustername|x + dmr_cluster_name|x rule_name|x source|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. + The import identifier for this resource is {dmrClusterName}/{ruleName}/{source}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_dmr_cluster_cert_matching_rule_condition (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.28. +The import identifier for this resource is `{dmrClusterName}/{ruleName}/{source}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/dmr_cluster_link.md b/docs/resources/dmr_cluster_link.md index e3e286f1..7e98838b 100644 --- a/docs/resources/dmr_cluster_link.md +++ b/docs/resources/dmr_cluster_link.md @@ -6,11 +6,12 @@ description: |- A Link connects nodes (either within a Cluster or between two different Clusters) and allows them to exchange topology information, subscriptions and data. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - dmrclustername|x|| - remotenodename|x|| + authentication_basic_password||x|x + dmr_cluster_name|x|| + remote_node_name|x|| A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {dmrClusterName}/{remoteNodeName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_dmr_cluster_link (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.11. +The import identifier for this resource is `{dmrClusterName}/{remoteNodeName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -75,7 +78,7 @@ This has been available since SEMP API version 2.11. "remote" - The remote node initiates. - `queue_dead_msg_queue` (String) The name of the Dead Message Queue (DMQ) used by the Queue for discarded messages. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `"#DEAD_MSG_QUEUE"`. -- `queue_event_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_spool_usage_threshold)) +- `queue_event_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `queue_max_msg_spool_usage`. (see [below for nested schema](#nestedatt--queue_event_spool_usage_threshold)) - `queue_max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the Queue. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `1000000`. - `queue_max_msg_spool_usage` (Number) The maximum message spool usage by the Queue (quota), in megabytes (MB). Changes to this attribute are synchronized to HA mates via config-sync. The default value is `800000`. - `queue_max_redelivery_count` (Number) The maximum number of times the Queue will attempt redelivery of a message prior to it being discarded or moved to the DMQ. A value of 0 means to retry forever. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `0`. @@ -102,7 +105,7 @@ This has been available since SEMP API version 2.11. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `1`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `2`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/dmr_cluster_link_attribute.md b/docs/resources/dmr_cluster_link_attribute.md index 3c905d80..8c427e91 100644 --- a/docs/resources/dmr_cluster_link_attribute.md +++ b/docs/resources/dmr_cluster_link_attribute.md @@ -6,12 +6,13 @@ description: |- A Link Attribute is a key+value pair that can be used to locate a DMR Cluster Link, for example when using client certificate mapping. Attribute|Identifying :---|:---: - attributename|x - attributevalue|x - dmrclustername|x - remotenodename|x + attribute_name|x + attribute_value|x + dmr_cluster_name|x + remote_node_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. + The import identifier for this resource is {dmrClusterName}/{remoteNodeName}/{attributeName}/{attributeValue}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_dmr_cluster_link_attribute (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.28. +The import identifier for this resource is `{dmrClusterName}/{remoteNodeName}/{attributeName}/{attributeValue}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/dmr_cluster_link_remote_address.md b/docs/resources/dmr_cluster_link_remote_address.md index 76c3cd9c..730feb02 100644 --- a/docs/resources/dmr_cluster_link_remote_address.md +++ b/docs/resources/dmr_cluster_link_remote_address.md @@ -6,11 +6,12 @@ description: |- Each Remote Address, consisting of a FQDN or IP address and optional port, is used to connect to the remote node for this Link. Up to 4 addresses may be provided for each Link, and will be tried on a round-robin basis. Attribute|Identifying :---|:---: - dmrclustername|x - remoteaddress|x - remotenode_name|x + dmr_cluster_name|x + remote_address|x + remote_node_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {dmrClusterName}/{remoteNodeName}/{remoteAddress}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_dmr_cluster_link_remote_address (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.11. +The import identifier for this resource is `{dmrClusterName}/{remoteNodeName}/{remoteAddress}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/domain_cert_authority.md b/docs/resources/domain_cert_authority.md index 56d4a8a8..60731d3f 100644 --- a/docs/resources/domain_cert_authority.md +++ b/docs/resources/domain_cert_authority.md @@ -6,9 +6,10 @@ description: |- Certificate Authorities trusted for domain verification. Attribute|Identifying :---|:---: - certauthorityname|x + cert_authority_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.19. + The import identifier for this resource is {certAuthorityName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_domain_cert_authority (Resource) @@ -26,6 +27,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.19. +The import identifier for this resource is `{certAuthorityName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn.md b/docs/resources/msg_vpn.md index b6cba4e4..f1f54cb5 100644 --- a/docs/resources/msg_vpn.md +++ b/docs/resources/msg_vpn.md @@ -6,17 +6,18 @@ description: |- Message VPNs (Virtual Private Networks) allow for the segregation of topic space and clients. They also group clients connecting to a network of message brokers, such that messages published within a particular group are only visible to that group's clients. Attribute|Identifying|Write-Only|Deprecated|Opaque :---|:---:|:---:|:---:|:---: - authenticationoauthdefaultprovidername|||x| - bridgingtlsservercertenforcetrustedcommonnameenabled|||x| - distributedcachemanagementenabled|||x| - msgvpnname|x||| - replicationbridgeauthenticationbasicpassword||x||x - replicationbridgeauthenticationclientcertcontent||x||x - replicationbridgeauthenticationclientcertpassword||x|| - replicationenabledqueuebehavior||x|| - resttlsservercertenforcetrustedcommonnameenabled|||x| + authentication_oauth_default_provider_name|||x| + bridging_tls_server_cert_enforce_trusted_common_name_enabled|||x| + distributed_cache_management_enabled|||x| + msg_vpn_name|x||| + replication_bridge_authentication_basic_password||x||x + replication_bridge_authentication_client_cert_content||x||x + replication_bridge_authentication_client_cert_password||x|| + replication_enabled_queue_behavior||x|| + rest_tls_server_cert_enforce_trusted_common_name_enabled|||x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn (Resource) @@ -42,6 +43,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -111,15 +114,15 @@ Changes to this attribute are synchronized to HA mates and replication sites via - `bridging_tls_server_cert_validate_name_enabled` (Boolean) Enable or disable the standard TLS authentication mechanism of verifying the name used to connect to the bridge. If enabled, the name used to connect to the bridge is checked against the names specified in the certificate returned by the remote broker. Legacy Common Name validation is not performed if Server Certificate Name Validation is enabled, even if Common Name validation is also enabled. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. Available since SEMP API version 2.18. - `dmr_enabled` (Boolean) Enable or disable Dynamic Message Routing (DMR) for the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.11. - `enabled` (Boolean) Enable or disable the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_connection_count_threshold)) -- `event_egress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) -- `event_egress_msg_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_egress_msg_rate_threshold)) -- `event_endpoint_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_endpoint_count_threshold)) -- `event_ingress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) -- `event_ingress_msg_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_ingress_msg_rate_threshold)) +- `event_connection_count_threshold` (Attributes) The thresholds for the client connection count event of the Message VPN, relative to `max_connection_count`. (see [below for nested schema](#nestedatt--event_connection_count_threshold)) +- `event_egress_flow_count_threshold` (Attributes) The thresholds for the egress flow count event of the Message VPN, relative to `max_egress_flow_count`. (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) +- `event_egress_msg_rate_threshold` (Attributes) The thresholds for the egress message rate event of the Message VPN. (see [below for nested schema](#nestedatt--event_egress_msg_rate_threshold)) +- `event_endpoint_count_threshold` (Attributes) The thresholds for the Queues and Topic Endpoints count event of the Message VPN, relative to `max_endpoint_count`. (see [below for nested schema](#nestedatt--event_endpoint_count_threshold)) +- `event_ingress_flow_count_threshold` (Attributes) The thresholds for the receive flow count event of the Message VPN, relative to `max_ingress_flow_count`. (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) +- `event_ingress_msg_rate_threshold` (Attributes) The thresholds for the receive message rate event of the Message VPN. (see [below for nested schema](#nestedatt--event_ingress_msg_rate_threshold)) - `event_large_msg_threshold` (Number) The threshold, in kilobytes, after which a message is considered to be large for the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1024`. - `event_log_tag` (String) A prefix applied to all published Events in the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `""`. -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Message VPN, relative to `max_msg_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) - `event_publish_client_enabled` (Boolean) Enable or disable Client level Event message publishing. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `event_publish_msg_vpn_enabled` (Boolean) Enable or disable Message VPN level Event message publishing. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `event_publish_subscription_mode` (String) Subscription level Event message publishing mode. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"off"`. The allowed values and their meaning are: @@ -133,14 +136,14 @@ Changes to this attribute are synchronized to HA mates and replication sites via - `event_publish_topic_format_mqtt_enabled` (Boolean) Enable or disable Event publish topics in MQTT format. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `event_publish_topic_format_smf_enabled` (Boolean) Enable or disable Event publish topics in SMF format. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. -- `event_service_amqp_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_amqp_connection_count_threshold)) -- `event_service_mqtt_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_mqtt_connection_count_threshold)) -- `event_service_rest_incoming_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_rest_incoming_connection_count_threshold)) -- `event_service_smf_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_smf_connection_count_threshold)) -- `event_service_web_connection_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_web_connection_count_threshold)) -- `event_subscription_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) -- `event_transacted_session_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) -- `event_transaction_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) +- `event_service_amqp_connection_count_threshold` (Attributes) The thresholds for the AMQP client connection count event of the Message VPN, relative to `service_amqp_max_connection_count`. Available since SEMP API version 2.7. (see [below for nested schema](#nestedatt--event_service_amqp_connection_count_threshold)) +- `event_service_mqtt_connection_count_threshold` (Attributes) The thresholds for the MQTT client connection count event of the Message VPN, relative to `service_mqtt_max_connection_count`. Available since SEMP API version 2.1. (see [below for nested schema](#nestedatt--event_service_mqtt_connection_count_threshold)) +- `event_service_rest_incoming_connection_count_threshold` (Attributes) The thresholds for the incoming REST client connection count event of the Message VPN, relative to `service_rest_incoming_max_connection_count`. (see [below for nested schema](#nestedatt--event_service_rest_incoming_connection_count_threshold)) +- `event_service_smf_connection_count_threshold` (Attributes) The thresholds for the SMF client connection count event of the Message VPN, relative to `service_smf_max_connection_count`. (see [below for nested schema](#nestedatt--event_service_smf_connection_count_threshold)) +- `event_service_web_connection_count_threshold` (Attributes) The thresholds for the Web Transport client connection count event of the Message VPN, relative to `service_web_max_connection_count`. (see [below for nested schema](#nestedatt--event_service_web_connection_count_threshold)) +- `event_subscription_count_threshold` (Attributes) The thresholds for the subscription count event of the Message VPN, relative to `max_subscription_count`. (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) +- `event_transacted_session_count_threshold` (Attributes) The thresholds for the transacted session count event of the Message VPN, relative to `max_transacted_session_count`. (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) +- `event_transaction_count_threshold` (Attributes) The thresholds for the transaction count event of the Message VPN, relative to `max_transaction_count`. (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) - `export_subscriptions_enabled` (Boolean) Enable or disable the export of subscriptions in the Message VPN to other routers in the network over Neighbor links. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `jndi_enabled` (Boolean) Enable or disable JNDI access for clients in the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.2. - `max_connection_count` (Number) The maximum number of client connections to the Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default is the maximum value supported by the platform. @@ -272,9 +275,9 @@ Changes to this attribute are synchronized to HA mates and replication sites via Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -283,9 +286,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -294,8 +297,8 @@ Optional: Optional: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `3000000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `4000000`. @@ -303,9 +306,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -314,9 +317,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -325,8 +328,8 @@ Optional: Optional: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `3000000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `4000000`. @@ -334,9 +337,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -345,9 +348,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -356,9 +359,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -367,9 +370,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -378,9 +381,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -389,9 +392,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -400,9 +403,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -411,9 +414,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -422,7 +425,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/msg_vpn_acl_profile.md b/docs/resources/msg_vpn_acl_profile.md index 7a4c2847..d79870e4 100644 --- a/docs/resources/msg_vpn_acl_profile.md +++ b/docs/resources/msg_vpn_acl_profile.md @@ -6,10 +6,11 @@ description: |- An ACL Profile controls whether an authenticated client is permitted to establish a connection with the message broker or permitted to publish and subscribe to specific topics. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x + acl_profile_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{aclProfileName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_acl_profile (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{aclProfileName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_acl_profile_client_connect_exception.md b/docs/resources/msg_vpn_acl_profile_client_connect_exception.md index 41ea8d78..25f22c6f 100644 --- a/docs/resources/msg_vpn_acl_profile_client_connect_exception.md +++ b/docs/resources/msg_vpn_acl_profile_client_connect_exception.md @@ -6,11 +6,12 @@ description: |- A Client Connect Exception is an exception to the default action to take when a client using the ACL Profile connects to the Message VPN. Exceptions must be expressed as an IP address/netmask in CIDR form. Attribute|Identifying :---|:---: - aclprofilename|x - clientconnectexceptionaddress|x - msgvpn_name|x + acl_profile_name|x + client_connect_exception_address|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{aclProfileName}/{clientConnectExceptionAddress}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_acl_profile_client_connect_exception (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{aclProfileName}/{clientConnectExceptionAddress}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_acl_profile_publish_topic_exception.md b/docs/resources/msg_vpn_acl_profile_publish_topic_exception.md index 4e1746f5..bc093a52 100644 --- a/docs/resources/msg_vpn_acl_profile_publish_topic_exception.md +++ b/docs/resources/msg_vpn_acl_profile_publish_topic_exception.md @@ -6,12 +6,13 @@ description: |- A Publish Topic Exception is an exception to the default action to take when a client using the ACL Profile publishes to a topic in the Message VPN. Exceptions must be expressed as a topic. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x - publishtopicexception|x - publishtopicexception_syntax|x + acl_profile_name|x + msg_vpn_name|x + publish_topic_exception|x + publish_topic_exception_syntax|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. + The import identifier for this resource is {msgVpnName}/{aclProfileName}/{publishTopicExceptionSyntax}/{publishTopicException}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_acl_profile_publish_topic_exception (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.14. +The import identifier for this resource is `{msgVpnName}/{aclProfileName}/{publishTopicExceptionSyntax}/{publishTopicException}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_acl_profile_subscribe_share_name_exception.md b/docs/resources/msg_vpn_acl_profile_subscribe_share_name_exception.md index bfc84eae..c5856d1b 100644 --- a/docs/resources/msg_vpn_acl_profile_subscribe_share_name_exception.md +++ b/docs/resources/msg_vpn_acl_profile_subscribe_share_name_exception.md @@ -6,12 +6,13 @@ description: |- A Subscribe Share Name Exception is an exception to the default action to take when a client using the ACL Profile subscribes to a share-name subscription in the Message VPN. Exceptions must be expressed as a topic. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x - subscribesharenameexception|x - subscribesharenameexception_syntax|x + acl_profile_name|x + msg_vpn_name|x + subscribe_share_name_exception|x + subscribe_share_name_exception_syntax|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. + The import identifier for this resource is {msgVpnName}/{aclProfileName}/{subscribeShareNameExceptionSyntax}/{subscribeShareNameException}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_acl_profile_subscribe_share_name_exception (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.14. +The import identifier for this resource is `{msgVpnName}/{aclProfileName}/{subscribeShareNameExceptionSyntax}/{subscribeShareNameException}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_acl_profile_subscribe_topic_exception.md b/docs/resources/msg_vpn_acl_profile_subscribe_topic_exception.md index 7ef12bfe..557d155d 100644 --- a/docs/resources/msg_vpn_acl_profile_subscribe_topic_exception.md +++ b/docs/resources/msg_vpn_acl_profile_subscribe_topic_exception.md @@ -6,12 +6,13 @@ description: |- A Subscribe Topic Exception is an exception to the default action to take when a client using the ACL Profile subscribes to a topic in the Message VPN. Exceptions must be expressed as a topic. Attribute|Identifying :---|:---: - aclprofilename|x - msgvpnname|x - subscribetopicexception|x - subscribetopicexception_syntax|x + acl_profile_name|x + msg_vpn_name|x + subscribe_topic_exception|x + subscribe_topic_exception_syntax|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. + The import identifier for this resource is {msgVpnName}/{aclProfileName}/{subscribeTopicExceptionSyntax}/{subscribeTopicException}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_acl_profile_subscribe_topic_exception (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.14. +The import identifier for this resource is `{msgVpnName}/{aclProfileName}/{subscribeTopicExceptionSyntax}/{subscribeTopicException}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_authentication_oauth_profile.md b/docs/resources/msg_vpn_authentication_oauth_profile.md index a414b742..4471b8f1 100644 --- a/docs/resources/msg_vpn_authentication_oauth_profile.md +++ b/docs/resources/msg_vpn_authentication_oauth_profile.md @@ -6,11 +6,12 @@ description: |- OAuth profiles specify how to securely authenticate to an OAuth provider. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - clientsecret||x|x - msgvpnname|x|| - oauthprofile_name|x|| + client_secret||x|x + msg_vpn_name|x|| + oauth_profile_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.25. + The import identifier for this resource is {msgVpnName}/{oauthProfileName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_authentication_oauth_profile (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.25. +The import identifier for this resource is `{msgVpnName}/{oauthProfileName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_authentication_oauth_profile_client_required_claim.md b/docs/resources/msg_vpn_authentication_oauth_profile_client_required_claim.md index 40943cdb..94cf8dc3 100644 --- a/docs/resources/msg_vpn_authentication_oauth_profile_client_required_claim.md +++ b/docs/resources/msg_vpn_authentication_oauth_profile_client_required_claim.md @@ -6,11 +6,12 @@ description: |- Additional claims to be verified in the ID token. Attribute|Identifying :---|:---: - clientrequiredclaimname|x - msgvpnname|x - oauthprofile_name|x + client_required_claim_name|x + msg_vpn_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.25. + The import identifier for this resource is {msgVpnName}/{oauthProfileName}/{clientRequiredClaimName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_authentication_oauth_profile_client_required_claim (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.25. +The import identifier for this resource is `{msgVpnName}/{oauthProfileName}/{clientRequiredClaimName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md b/docs/resources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md index cc2a7fe6..f1a458c9 100644 --- a/docs/resources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md +++ b/docs/resources/msg_vpn_authentication_oauth_profile_resource_server_required_claim.md @@ -6,11 +6,12 @@ description: |- Additional claims to be verified in the access token. Attribute|Identifying :---|:---: - msgvpnname|x - oauthprofilename|x - resourceserverrequiredclaimname|x + msg_vpn_name|x + oauth_profile_name|x + resource_server_required_claim_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.25. + The import identifier for this resource is {msgVpnName}/{oauthProfileName}/{resourceServerRequiredClaimName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_authentication_oauth_profile_resource_server_required_claim (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.25. +The import identifier for this resource is `{msgVpnName}/{oauthProfileName}/{resourceServerRequiredClaimName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_authorization_group.md b/docs/resources/msg_vpn_authorization_group.md index 9cd2e06d..3376e318 100644 --- a/docs/resources/msg_vpn_authorization_group.md +++ b/docs/resources/msg_vpn_authorization_group.md @@ -6,12 +6,13 @@ description: |- To use client authorization groups configured on an external server to provide client authorizations, Authorization Group objects must be created on the Message VPN that match the authorization groups provisioned on the external server. These objects must be configured with the client profiles and ACL profiles that will be assigned to the clients that belong to those authorization groups. A newly created group is placed at the end of the group list which is the lowest priority. Attribute|Identifying|Write-Only :---|:---:|:---: - authorizationgroupname|x| - msgvpnname|x| - orderafterauthorizationgroupname||x - orderbeforeauthorizationgroupname||x + authorization_group_name|x| + msg_vpn_name|x| + order_after_authorization_group_name||x + order_before_authorization_group_name||x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{authorizationGroupName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_authorization_group (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{authorizationGroupName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_bridge.md b/docs/resources/msg_vpn_bridge.md index e97e2880..1edd069a 100644 --- a/docs/resources/msg_vpn_bridge.md +++ b/docs/resources/msg_vpn_bridge.md @@ -6,14 +6,15 @@ description: |- Bridges can be used to link two Message VPNs so that messages published to one Message VPN that match the topic subscriptions set for the bridge are also delivered to the linked Message VPN. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - bridgename|x|| - bridgevirtualrouter|x|| - msgvpnname|x|| - remoteauthenticationbasicpassword||x|x - remoteauthenticationclientcertcontent||x|x - remoteauthenticationclientcertpassword||x| + bridge_name|x|| + bridge_virtual_router|x|| + msg_vpn_name|x|| + remote_authentication_basic_password||x|x + remote_authentication_client_cert_content||x|x + remote_authentication_client_cert_password||x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{bridgeName}/{bridgeVirtualRouter}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_bridge (Resource) @@ -36,6 +37,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{bridgeName}/{bridgeVirtualRouter}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_bridge_remote_msg_vpn.md b/docs/resources/msg_vpn_bridge_remote_msg_vpn.md index 0be0cff2..08ff5c63 100644 --- a/docs/resources/msg_vpn_bridge_remote_msg_vpn.md +++ b/docs/resources/msg_vpn_bridge_remote_msg_vpn.md @@ -6,15 +6,16 @@ description: |- The Remote Message VPN is the Message VPN that the Bridge connects to. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - bridgename|x|| - bridgevirtualrouter|x|| - msgvpnname|x|| + bridge_name|x|| + bridge_virtual_router|x|| + msg_vpn_name|x|| password||x|x - remotemsgvpninterface|x|| - remotemsgvpnlocation|x|| - remotemsgvpnname|x|| + remote_msg_vpn_interface|x|| + remote_msg_vpn_location|x|| + remote_msg_vpn_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{bridgeName}/{bridgeVirtualRouter}/{remoteMsgVpnName}/{remoteMsgVpnLocation}/{remoteMsgVpnInterface}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_bridge_remote_msg_vpn (Resource) @@ -38,6 +39,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{bridgeName}/{bridgeVirtualRouter}/{remoteMsgVpnName}/{remoteMsgVpnLocation}/{remoteMsgVpnInterface}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -54,7 +57,6 @@ This has been available since SEMP API version 2.0. "auto" - The Bridge is automatically assigned a virtual router at creation, depending on the broker's active-standby role. - `msg_vpn_name` (String) The name of the Message VPN. -- `remote_msg_vpn_interface` (String) The physical interface on the local Message VPN host for connecting to the remote Message VPN. By default, an interface is chosen automatically (recommended), but if specified, `remote_msg_vpn_location` must not be a virtual router name. - `remote_msg_vpn_location` (String) The location of the remote Message VPN as either an FQDN with port, IP address with port, or virtual router name (starting with "v:"). - `remote_msg_vpn_name` (String) The name of the remote Message VPN. @@ -67,5 +69,6 @@ This has been available since SEMP API version 2.0. - `enabled` (Boolean) Enable or disable the remote Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `password` (String, Sensitive) The password for the Client Username. This attribute is absent from a GET and not updated when absent in a PUT, subject to the exceptions in note 4 (refer to the `Notes` section in the SEMP API `Config reference`). Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `""`. - `queue_binding` (String) The queue binding of the Bridge in the remote Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `""`. +- `remote_msg_vpn_interface` (String) The physical interface on the local Message VPN host for connecting to the remote Message VPN. By default, an interface is chosen automatically (recommended), but if specified, `remote_msg_vpn_location` must not be a virtual router name. - `tls_enabled` (Boolean) Enable or disable encryption (TLS) for the remote Message VPN connection. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `unidirectional_client_profile` (String) The Client Profile for the unidirectional Bridge of the remote Message VPN. The Client Profile must exist in the local Message VPN, and it is used only for the TCP parameters. Note that the default client profile has a TCP maximum window size of 2 MB. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"#client-profile"`. diff --git a/docs/resources/msg_vpn_bridge_remote_subscription.md b/docs/resources/msg_vpn_bridge_remote_subscription.md index da2ec98d..b940536a 100644 --- a/docs/resources/msg_vpn_bridge_remote_subscription.md +++ b/docs/resources/msg_vpn_bridge_remote_subscription.md @@ -6,12 +6,13 @@ description: |- A Remote Subscription is a topic subscription used by the Message VPN Bridge to attract messages from the remote message broker. Attribute|Identifying :---|:---: - bridgename|x - bridgevirtualrouter|x - msgvpnname|x - remotesubscription_topic|x + bridge_name|x + bridge_virtual_router|x + msg_vpn_name|x + remote_subscription_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{bridgeName}/{bridgeVirtualRouter}/{remoteSubscriptionTopic}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_bridge_remote_subscription (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{bridgeName}/{bridgeVirtualRouter}/{remoteSubscriptionTopic}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_cert_matching_rule.md b/docs/resources/msg_vpn_cert_matching_rule.md index 3fe3f33b..b7f2da6a 100644 --- a/docs/resources/msg_vpn_cert_matching_rule.md +++ b/docs/resources/msg_vpn_cert_matching_rule.md @@ -6,10 +6,11 @@ description: |- A Cert Matching Rule is a collection of conditions and attribute filters that all have to be satisfied for certificate to be acceptable as authentication for a given username. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x rule_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.27. + The import identifier for this resource is {msgVpnName}/{ruleName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_cert_matching_rule (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.27. +The import identifier for this resource is `{msgVpnName}/{ruleName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_cert_matching_rule_attribute_filter.md b/docs/resources/msg_vpn_cert_matching_rule_attribute_filter.md index 2ae71646..a8d880c4 100644 --- a/docs/resources/msg_vpn_cert_matching_rule_attribute_filter.md +++ b/docs/resources/msg_vpn_cert_matching_rule_attribute_filter.md @@ -6,11 +6,12 @@ description: |- A Cert Matching Rule Attribute Filter compares a username attribute to a string. Attribute|Identifying :---|:---: - filtername|x - msgvpnname|x - rulename|x + filter_name|x + msg_vpn_name|x + rule_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.28. + The import identifier for this resource is {msgVpnName}/{ruleName}/{filterName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_cert_matching_rule_attribute_filter (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.28. +The import identifier for this resource is `{msgVpnName}/{ruleName}/{filterName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_cert_matching_rule_condition.md b/docs/resources/msg_vpn_cert_matching_rule_condition.md index 497e3634..0dfe541f 100644 --- a/docs/resources/msg_vpn_cert_matching_rule_condition.md +++ b/docs/resources/msg_vpn_cert_matching_rule_condition.md @@ -6,11 +6,12 @@ description: |- A Cert Matching Rule Condition compares data extracted from a certificate to a username attribute or an expression. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x rule_name|x source|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.27. + The import identifier for this resource is {msgVpnName}/{ruleName}/{source}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_cert_matching_rule_condition (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.27. +The import identifier for this resource is `{msgVpnName}/{ruleName}/{source}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_client_profile.md b/docs/resources/msg_vpn_client_profile.md index f530aa0d..0eb57255 100644 --- a/docs/resources/msg_vpn_client_profile.md +++ b/docs/resources/msg_vpn_client_profile.md @@ -6,13 +6,14 @@ description: |- Client Profiles are used to assign common configuration properties to clients that have been successfully authorized. Attribute|Identifying|Deprecated :---|:---:|:---: - allowcutthroughforwardingenabled||x - apiqueuemanagementcopyfromoncreatename||x - apitopicendpointmanagementcopyfromoncreatename||x - clientprofilename|x| - msgvpn_name|x| + allow_cut_through_forwarding_enabled||x + api_queue_management_copy_from_on_create_name||x + api_topic_endpoint_management_copy_from_on_create_name||x + client_profile_name|x| + msg_vpn_name|x| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{clientProfileName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_client_profile (Resource) @@ -34,6 +35,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{clientProfileName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -66,16 +69,16 @@ This has been available since SEMP API version 2.0. - `eliding_delay` (Number) The amount of time to delay the delivery of messages to clients using the Client Profile after the initial message has been delivered (the eliding delay interval), in milliseconds. A value of 0 means there is no delay in delivering messages to clients. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. - `eliding_enabled` (Boolean) Enable or disable message eliding for clients using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `eliding_max_topic_count` (Number) The maximum number of topics tracked for message eliding per client connection using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `256`. -- `event_client_provisioned_endpoint_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_client_provisioned_endpoint_spool_usage_threshold)) -- `event_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_connection_count_per_client_username_threshold)) -- `event_egress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) -- `event_endpoint_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_endpoint_count_per_client_username_threshold)) -- `event_ingress_flow_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) -- `event_service_smf_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_smf_connection_count_per_client_username_threshold)) -- `event_service_web_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_service_web_connection_count_per_client_username_threshold)) -- `event_subscription_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) -- `event_transacted_session_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) -- `event_transaction_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) +- `event_client_provisioned_endpoint_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of Queues and Topic Endpoints provisioned by clients, relative to `max_msg_spool_usage` for these Queues and Topic Endpoints. Changing these values during operation does not affect existing sessions. For provisioned durable Queues and Topic Endpoints, this value applies when initially provisioned, but can then be changed afterwards by configuring the Queue or Topic Endpoint. (see [below for nested schema](#nestedatt--event_client_provisioned_endpoint_spool_usage_threshold)) +- `event_connection_count_per_client_username_threshold` (Attributes) The thresholds for the Client Username connection count event of the Client Profile, relative to `max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--event_connection_count_per_client_username_threshold)) +- `event_egress_flow_count_threshold` (Attributes) The thresholds for the transmit flow count event of the Client Profile, relative to `max_egress_flow_count`. (see [below for nested schema](#nestedatt--event_egress_flow_count_threshold)) +- `event_endpoint_count_per_client_username_threshold` (Attributes) The thresholds for the Client Username endpoint count event of the Client Profile, relative to `max_endpoint_count_per_client_username`. (see [below for nested schema](#nestedatt--event_endpoint_count_per_client_username_threshold)) +- `event_ingress_flow_count_threshold` (Attributes) The thresholds for the receive flow count event of the Client Profile, relative to `max_ingress_flow_count`. (see [below for nested schema](#nestedatt--event_ingress_flow_count_threshold)) +- `event_service_smf_connection_count_per_client_username_threshold` (Attributes) The thresholds for the client username SMF connection count event of the Client Profile, relative to `service_smf_max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--event_service_smf_connection_count_per_client_username_threshold)) +- `event_service_web_connection_count_per_client_username_threshold` (Attributes) The thresholds for the Client Username Web Transport connection count event of the Client Profile, relative to `service_web_max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--event_service_web_connection_count_per_client_username_threshold)) +- `event_subscription_count_threshold` (Attributes) The thresholds for the subscription count event of the Client Profile, relative to `max_subscription_count`. (see [below for nested schema](#nestedatt--event_subscription_count_threshold)) +- `event_transacted_session_count_threshold` (Attributes) The thresholds for the transacted session count event of the Client Profile, relative to `max_transacted_session_count`. (see [below for nested schema](#nestedatt--event_transacted_session_count_threshold)) +- `event_transaction_count_threshold` (Attributes) The thresholds for the transaction count event of the Client Profile, relative to `max_transaction_count`. (see [below for nested schema](#nestedatt--event_transaction_count_threshold)) - `max_connection_count_per_client_username` (Number) The maximum number of client connections per Client Username using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default is the maximum value supported by the platform. - `max_egress_flow_count` (Number) The maximum number of transmit flows that can be created by one client using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `max_endpoint_count_per_client_username` (Number) The maximum number of queues and topic endpoints that can be created by clients with the same Client Username using the Client Profile. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. @@ -115,8 +118,8 @@ This has been available since SEMP API version 2.0. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `18`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `25`. @@ -124,9 +127,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -135,9 +138,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -146,9 +149,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -157,9 +160,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -168,9 +171,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -179,9 +182,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -190,9 +193,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -201,9 +204,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -212,7 +215,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/msg_vpn_client_username.md b/docs/resources/msg_vpn_client_username.md index 5c70d1c5..affec702 100644 --- a/docs/resources/msg_vpn_client_username.md +++ b/docs/resources/msg_vpn_client_username.md @@ -6,11 +6,12 @@ description: |- A client is only authorized to connect to a Message VPN that is associated with a Client Username that the client has been assigned. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - clientusername|x|| - msgvpn_name|x|| + client_username|x|| + msg_vpn_name|x|| password||x|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{clientUsername}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_client_username (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{clientUsername}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_client_username_attribute.md b/docs/resources/msg_vpn_client_username_attribute.md index e4240bf3..3d544112 100644 --- a/docs/resources/msg_vpn_client_username_attribute.md +++ b/docs/resources/msg_vpn_client_username_attribute.md @@ -6,12 +6,13 @@ description: |- A ClientUsername Attribute is a key+value pair that can be used to locate a client username, for example when using client certificate mapping. Attribute|Identifying :---|:---: - attributename|x - attributevalue|x - clientusername|x - msgvpn_name|x + attribute_name|x + attribute_value|x + client_username|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.27. + The import identifier for this resource is {msgVpnName}/{clientUsername}/{attributeName}/{attributeValue}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_client_username_attribute (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.27. +The import identifier for this resource is `{msgVpnName}/{clientUsername}/{attributeName}/{attributeValue}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_distributed_cache.md b/docs/resources/msg_vpn_distributed_cache.md index 3c75743c..4df60df8 100644 --- a/docs/resources/msg_vpn_distributed_cache.md +++ b/docs/resources/msg_vpn_distributed_cache.md @@ -6,10 +6,11 @@ description: |- A Distributed Cache is a collection of one or more Cache Clusters that belong to the same Message VPN. Each Cache Cluster in a Distributed Cache is configured to subscribe to a different set of topics. This effectively divides up the configured topic space, to provide scaling to very large topic spaces or very high cached message throughput. Attribute|Identifying :---|:---: - cachename|x - msgvpn_name|x + cache_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{cacheName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_distributed_cache (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{cacheName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_distributed_cache_cluster.md b/docs/resources/msg_vpn_distributed_cache_cluster.md index 356c7547..5978c23c 100644 --- a/docs/resources/msg_vpn_distributed_cache_cluster.md +++ b/docs/resources/msg_vpn_distributed_cache_cluster.md @@ -6,11 +6,12 @@ description: |- A Cache Cluster is a collection of one or more Cache Instances that subscribe to exactly the same topics. Cache Instances are grouped together in a Cache Cluster for the purpose of fault tolerance and load balancing. As published messages are received, the message broker message bus sends these live data messages to the Cache Instances in the Cache Cluster. This enables client cache requests to be served by any of Cache Instances in the Cache Cluster. Attribute|Identifying :---|:---: - cachename|x - clustername|x - msgvpnname|x + cache_name|x + cluster_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{cacheName}/{clusterName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_distributed_cache_cluster (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{cacheName}/{clusterName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -45,13 +48,13 @@ This has been available since SEMP API version 2.11. - `deliver_to_one_override_enabled` (Boolean) Enable or disable deliver-to-one override for the Cache Cluster. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. - `enabled` (Boolean) Enable or disable the Cache Cluster. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_data_byte_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_data_byte_rate_threshold)) -- `event_data_msg_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_data_msg_rate_threshold)) -- `event_max_memory_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_max_memory_threshold)) -- `event_max_topics_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_max_topics_threshold)) -- `event_request_queue_depth_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_request_queue_depth_threshold)) -- `event_request_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_request_rate_threshold)) -- `event_response_rate_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_response_rate_threshold)) +- `event_data_byte_rate_threshold` (Attributes) The thresholds for the cached data incoming byte rate event, in bytes per second. (see [below for nested schema](#nestedatt--event_data_byte_rate_threshold)) +- `event_data_msg_rate_threshold` (Attributes) The thresholds for the cached data incoming message rate event, in messages per second. (see [below for nested schema](#nestedatt--event_data_msg_rate_threshold)) +- `event_max_memory_threshold` (Attributes) The thresholds for the memory usage per instance event, relative to `max_memory`. (see [below for nested schema](#nestedatt--event_max_memory_threshold)) +- `event_max_topics_threshold` (Attributes) The thresholds for the topics per instance event, relative to `max_topic_count`. (see [below for nested schema](#nestedatt--event_max_topics_threshold)) +- `event_request_queue_depth_threshold` (Attributes) The thresholds for the request queue depth event, relative to `max_request_queue_depth`. (see [below for nested schema](#nestedatt--event_request_queue_depth_threshold)) +- `event_request_rate_threshold` (Attributes) The thresholds for the cache request message rate event, in messages per second. (see [below for nested schema](#nestedatt--event_request_rate_threshold)) +- `event_response_rate_threshold` (Attributes) The thresholds for the cache response message rate event, in messages per second. (see [below for nested schema](#nestedatt--event_response_rate_threshold)) - `global_caching_enabled` (Boolean) Enable or disable global caching for the Cache Cluster. When enabled, the Cache Instances will fetch topics from remote Home Cache Clusters when requested, and subscribe to those topics to cache them locally. When disabled, the Cache Instances will remove all subscriptions and cached messages for topics from remote Home Cache Clusters. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `global_caching_heartbeat` (Number) The heartbeat interval, in seconds, used by the Cache Instances to monitor connectivity with the remote Home Cache Clusters. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `3`. - `global_caching_topic_lifetime` (Number) The topic lifetime, in seconds. If no client requests are received for a given global topic over the duration of the topic lifetime, then the Cache Instance will remove the subscription and cached messages for that topic. A value of 0 disables aging. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `3600`. @@ -67,8 +70,8 @@ This has been available since SEMP API version 2.11. Optional: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `187500000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `250000000`. @@ -76,8 +79,8 @@ Optional: Optional: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `36000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `48000`. @@ -85,8 +88,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -94,8 +97,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -103,8 +106,8 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`. @@ -112,8 +115,8 @@ Optional: Optional: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `1000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `25000`. @@ -121,5 +124,5 @@ Optional: Optional: -- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. -- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. +- `clear_value` (Number) The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `1000`. +- `set_value` (Number) The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `80000`. diff --git a/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md b/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md index 54bdc4ac..14772b02 100644 --- a/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md +++ b/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster.md @@ -6,12 +6,13 @@ description: |- A Home Cache Cluster is a Cache Cluster that is the "definitive" Cache Cluster for a given topic in the context of the Global Caching feature. Attribute|Identifying :---|:---: - cachename|x - clustername|x - homeclustername|x - msgvpnname|x + cache_name|x + cluster_name|x + home_cluster_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{cacheName}/{clusterName}/{homeClusterName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_distributed_cache_cluster_global_caching_home_cluster (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{cacheName}/{clusterName}/{homeClusterName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md b/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md index 1f4d5a0a..8424c06a 100644 --- a/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md +++ b/docs/resources/msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix.md @@ -6,13 +6,14 @@ description: |- A Topic Prefix is a prefix for a global topic that is available from the containing Home Cache Cluster. Attribute|Identifying :---|:---: - cachename|x - clustername|x - homeclustername|x - msgvpnname|x + cache_name|x + cluster_name|x + home_cluster_name|x + msg_vpn_name|x topic_prefix|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{cacheName}/{clusterName}/{homeClusterName}/{topicPrefix}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_distributed_cache_cluster_global_caching_home_cluster_topic_prefix (Resource) @@ -34,6 +35,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{cacheName}/{clusterName}/{homeClusterName}/{topicPrefix}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_distributed_cache_cluster_instance.md b/docs/resources/msg_vpn_distributed_cache_cluster_instance.md index d47d1a8e..4a485ba8 100644 --- a/docs/resources/msg_vpn_distributed_cache_cluster_instance.md +++ b/docs/resources/msg_vpn_distributed_cache_cluster_instance.md @@ -6,12 +6,13 @@ description: |- A Cache Instance is a single Cache process that belongs to a single Cache Cluster. A Cache Instance object provisioned on the broker is used to disseminate configuration information to the Cache process. Cache Instances listen for and cache live data messages that match the topic subscriptions configured for their parent Cache Cluster. Attribute|Identifying :---|:---: - cachename|x - clustername|x - instancename|x - msgvpn_name|x + cache_name|x + cluster_name|x + instance_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{cacheName}/{clusterName}/{instanceName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_distributed_cache_cluster_instance (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{cacheName}/{clusterName}/{instanceName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_distributed_cache_cluster_topic.md b/docs/resources/msg_vpn_distributed_cache_cluster_topic.md index 6b4581d6..517edec3 100644 --- a/docs/resources/msg_vpn_distributed_cache_cluster_topic.md +++ b/docs/resources/msg_vpn_distributed_cache_cluster_topic.md @@ -6,12 +6,13 @@ description: |- The Cache Instances that belong to the containing Cache Cluster will cache any messages published to topics that match a Topic Subscription. Attribute|Identifying :---|:---: - cachename|x - clustername|x - msgvpnname|x + cache_name|x + cluster_name|x + msg_vpn_name|x topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{cacheName}/{clusterName}/{topic}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_distributed_cache_cluster_topic (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{cacheName}/{clusterName}/{topic}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_dmr_bridge.md b/docs/resources/msg_vpn_dmr_bridge.md index 9b271e7e..da23c0a2 100644 --- a/docs/resources/msg_vpn_dmr_bridge.md +++ b/docs/resources/msg_vpn_dmr_bridge.md @@ -6,10 +6,11 @@ description: |- A DMR Bridge is required to establish a data channel over a corresponding external link to the remote node for a given Message VPN. Each DMR Bridge identifies which external link the Message VPN should use, and what the name of the equivalent Message VPN at the remote node is. Attribute|Identifying :---|:---: - msgvpnname|x - remotenodename|x + msg_vpn_name|x + remote_node_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{remoteNodeName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_dmr_bridge (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{remoteNodeName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_jndi_connection_factory.md b/docs/resources/msg_vpn_jndi_connection_factory.md index b0821974..674de657 100644 --- a/docs/resources/msg_vpn_jndi_connection_factory.md +++ b/docs/resources/msg_vpn_jndi_connection_factory.md @@ -6,10 +6,11 @@ description: |- The message broker provides an internal JNDI store for provisioned Connection Factory objects that clients can access through JNDI lookups. Attribute|Identifying :---|:---: - connectionfactoryname|x - msgvpnname|x + connection_factory_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.2. + The import identifier for this resource is {msgVpnName}/{connectionFactoryName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_jndi_connection_factory (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.2. +The import identifier for this resource is `{msgVpnName}/{connectionFactoryName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_jndi_queue.md b/docs/resources/msg_vpn_jndi_queue.md index bc5036e4..492d9606 100644 --- a/docs/resources/msg_vpn_jndi_queue.md +++ b/docs/resources/msg_vpn_jndi_queue.md @@ -6,10 +6,11 @@ description: |- The message broker provides an internal JNDI store for provisioned Queue objects that clients can access through JNDI lookups. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x queue_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.2. + The import identifier for this resource is {msgVpnName}/{queueName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_jndi_queue (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.2. +The import identifier for this resource is `{msgVpnName}/{queueName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_jndi_topic.md b/docs/resources/msg_vpn_jndi_topic.md index f3ceca79..75394363 100644 --- a/docs/resources/msg_vpn_jndi_topic.md +++ b/docs/resources/msg_vpn_jndi_topic.md @@ -6,10 +6,11 @@ description: |- The message broker provides an internal JNDI store for provisioned Topic objects that clients can access through JNDI lookups. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x topic_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.2. + The import identifier for this resource is {msgVpnName}/{topicName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_jndi_topic (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.2. +The import identifier for this resource is `{msgVpnName}/{topicName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_kafka_receiver.md b/docs/resources/msg_vpn_kafka_receiver.md index 8b7c51db..0175647c 100644 --- a/docs/resources/msg_vpn_kafka_receiver.md +++ b/docs/resources/msg_vpn_kafka_receiver.md @@ -6,15 +6,16 @@ description: |- A Kafka Receiver receives messages from a Kafka Cluster. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - authenticationclientcertcontent||x|x - authenticationclientcertpassword||x| - authenticationoauthclientsecret||x|x - authenticationscrampassword||x|x - kafkareceivername|x|| - msgvpn_name|x|| + authentication_basic_password||x|x + authentication_client_cert_content||x|x + authentication_client_cert_password||x| + authentication_oauth_client_secret||x|x + authentication_scram_password||x|x + kafka_receiver_name|x|| + msg_vpn_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. + The import identifier for this resource is {msgVpnName}/{kafkaReceiverName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_kafka_receiver (Resource) @@ -38,6 +39,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.36. +The import identifier for this resource is `{msgVpnName}/{kafkaReceiverName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_kafka_receiver_topic_binding.md b/docs/resources/msg_vpn_kafka_receiver_topic_binding.md index a64887ff..76895153 100644 --- a/docs/resources/msg_vpn_kafka_receiver_topic_binding.md +++ b/docs/resources/msg_vpn_kafka_receiver_topic_binding.md @@ -6,11 +6,12 @@ description: |- A Topic Binding receives messages from a remote Kafka Topic. Attribute|Identifying :---|:---: - kafkareceivername|x - msgvpnname|x + kafka_receiver_name|x + msg_vpn_name|x topic_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. + The import identifier for this resource is {msgVpnName}/{kafkaReceiverName}/{topicName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_kafka_receiver_topic_binding (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.36. +The import identifier for this resource is `{msgVpnName}/{kafkaReceiverName}/{topicName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_kafka_sender.md b/docs/resources/msg_vpn_kafka_sender.md index b1274788..e144126a 100644 --- a/docs/resources/msg_vpn_kafka_sender.md +++ b/docs/resources/msg_vpn_kafka_sender.md @@ -6,15 +6,16 @@ description: |- A Kafka Sender sends messages to a Kafka Cluster. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - authenticationclientcertcontent||x|x - authenticationclientcertpassword||x| - authenticationoauthclientsecret||x|x - authenticationscrampassword||x|x - kafkasendername|x|| - msgvpn_name|x|| + authentication_basic_password||x|x + authentication_client_cert_content||x|x + authentication_client_cert_password||x| + authentication_oauth_client_secret||x|x + authentication_scram_password||x|x + kafka_sender_name|x|| + msg_vpn_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. + The import identifier for this resource is {msgVpnName}/{kafkaSenderName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_kafka_sender (Resource) @@ -38,6 +39,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.36. +The import identifier for this resource is `{msgVpnName}/{kafkaSenderName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_kafka_sender_queue_binding.md b/docs/resources/msg_vpn_kafka_sender_queue_binding.md index 1dde1dd5..3d21fa6f 100644 --- a/docs/resources/msg_vpn_kafka_sender_queue_binding.md +++ b/docs/resources/msg_vpn_kafka_sender_queue_binding.md @@ -6,11 +6,12 @@ description: |- A Queue Binding sends messages from a local Solace Queue to a remote Kafka topic. Attribute|Identifying :---|:---: - kafkasendername|x - msgvpnname|x + kafka_sender_name|x + msg_vpn_name|x queue_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. + The import identifier for this resource is {msgVpnName}/{kafkaSenderName}/{queueName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_kafka_sender_queue_binding (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.36. +The import identifier for this resource is `{msgVpnName}/{kafkaSenderName}/{queueName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_mqtt_retain_cache.md b/docs/resources/msg_vpn_mqtt_retain_cache.md index 3b5b5142..a8ffe8cd 100644 --- a/docs/resources/msg_vpn_mqtt_retain_cache.md +++ b/docs/resources/msg_vpn_mqtt_retain_cache.md @@ -6,10 +6,11 @@ description: |- Using MQTT retained messages allows publishing MQTT clients to indicate that a message must be stored for later delivery to subscribing clients when those subscribing clients add subscriptions matching the retained message's topic. An MQTT Retain Cache processes all retained messages for a Message VPN. Attribute|Identifying :---|:---: - cachename|x - msgvpn_name|x + cache_name|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.11. + The import identifier for this resource is {msgVpnName}/{cacheName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_mqtt_retain_cache (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.11. +The import identifier for this resource is `{msgVpnName}/{cacheName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_mqtt_session.md b/docs/resources/msg_vpn_mqtt_session.md index 18e282b7..7ac09c5c 100644 --- a/docs/resources/msg_vpn_mqtt_session.md +++ b/docs/resources/msg_vpn_mqtt_session.md @@ -6,11 +6,12 @@ description: |- An MQTT Session object is a virtual representation of an MQTT client connection. An MQTT session holds the state of an MQTT client (that is, it is used to contain a client's QoS 0 and QoS 1 subscription sets and any undelivered QoS 1 messages). Attribute|Identifying :---|:---: - mqttsessionclientid|x - mqttsessionvirtualrouter|x - msgvpnname|x + mqtt_session_client_id|x + mqtt_session_virtual_router|x + msg_vpn_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. + The import identifier for this resource is {msgVpnName}/{mqttSessionClientId}/{mqttSessionVirtualRouter}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_mqtt_session (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.1. +The import identifier for this resource is `{msgVpnName}/{mqttSessionClientId}/{mqttSessionVirtualRouter}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -53,9 +56,9 @@ This has been available since SEMP API version 2.1. - `owner` (String) The owner of the MQTT Session. For externally-created sessions this defaults to the Client Username of the connecting client. For management-created sessions this defaults to empty. Modifying this attribute while the object (or the relevant part of the object) is administratively enabled may be service impacting as enabled will be temporarily set to false to apply the change. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `""`. - `queue_consumer_ack_propagation_enabled` (Boolean) Enable or disable the propagation of consumer acknowledgments (ACKs) received on the active replication Message VPN to the standby replication Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. Available since SEMP API version 2.14. - `queue_dead_msg_queue` (String) The name of the Dead Message Queue (DMQ) used by the MQTT Session Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"#DEAD_MSG_QUEUE"`. Available since SEMP API version 2.14. -- `queue_event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) -- `queue_event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) -- `queue_event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_reject_low_priority_msg_limit_threshold)) +- `queue_event_bind_count_threshold` (Attributes) Thresholds for the high number of the MQTT Session Queue Consumers Event, relative to `queue_max_bind_count`. Available since SEMP API version 2.14. (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) +- `queue_event_msg_spool_usage_threshold` (Attributes) The threshold for the Message Spool usage event of the MQTT Session Queue, relative to `queue_max_msg_spool_usage`. Available since SEMP API version 2.14. (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) +- `queue_event_reject_low_priority_msg_limit_threshold` (Attributes) The threshold for the maximum allowed number of any priority messages queued in the MQTT Session Queue, relative to `queue_reject_low_priority_msg_limit`. Available since SEMP API version 2.14. (see [below for nested schema](#nestedatt--queue_event_reject_low_priority_msg_limit_threshold)) - `queue_max_bind_count` (Number) The maximum number of consumer flows that can bind to the MQTT Session Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. Available since SEMP API version 2.14. - `queue_max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the MQTT Session Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. Available since SEMP API version 2.14. - `queue_max_msg_size` (Number) The maximum message size allowed in the MQTT Session Queue, in bytes (B). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000000`. Available since SEMP API version 2.14. @@ -79,9 +82,9 @@ This has been available since SEMP API version 2.1. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -90,9 +93,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -101,7 +104,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/msg_vpn_mqtt_session_subscription.md b/docs/resources/msg_vpn_mqtt_session_subscription.md index eb4fa662..cdfb86fe 100644 --- a/docs/resources/msg_vpn_mqtt_session_subscription.md +++ b/docs/resources/msg_vpn_mqtt_session_subscription.md @@ -6,12 +6,13 @@ description: |- An MQTT session contains a client's QoS 0 and QoS 1 subscription sets. On creation, a subscription defaults to QoS 0. Attribute|Identifying :---|:---: - mqttsessionclientid|x - mqttsessionvirtualrouter|x - msgvpnname|x + mqtt_session_client_id|x + mqtt_session_virtual_router|x + msg_vpn_name|x subscription_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. + The import identifier for this resource is {msgVpnName}/{mqttSessionClientId}/{mqttSessionVirtualRouter}/{subscriptionTopic}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_mqtt_session_subscription (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.1. +The import identifier for this resource is `{msgVpnName}/{mqttSessionClientId}/{mqttSessionVirtualRouter}/{subscriptionTopic}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_proxy.md b/docs/resources/msg_vpn_proxy.md index edf9fd5d..0a0d1030 100644 --- a/docs/resources/msg_vpn_proxy.md +++ b/docs/resources/msg_vpn_proxy.md @@ -6,11 +6,12 @@ description: |- Proxy objects define the connection parameters for a proxy server. To use a proxy for a particular connection such as a REST Consumer, select the proxy by name in the configuration for that object. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationbasicpassword||x|x - msgvpnname|x|| + authentication_basic_password||x|x + msg_vpn_name|x|| proxy_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.36. + The import identifier for this resource is {msgVpnName}/{proxyName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_proxy (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.36. +The import identifier for this resource is `{msgVpnName}/{proxyName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_queue.md b/docs/resources/msg_vpn_queue.md index 5ec36055..f8b34980 100644 --- a/docs/resources/msg_vpn_queue.md +++ b/docs/resources/msg_vpn_queue.md @@ -6,10 +6,11 @@ description: |- A Queue acts as both a destination that clients can publish messages to, and as an endpoint that clients can bind consumers to and consume messages from. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x queue_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{queueName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_queue (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{queueName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -51,9 +54,9 @@ This has been available since SEMP API version 2.0. - `delivery_count_enabled` (Boolean) Enable or disable the ability for client applications to query the message delivery count of messages received from the Queue. This is a controlled availability feature. Please contact support to find out if this feature is supported for your use case. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.19. - `delivery_delay` (Number) The delay, in seconds, to apply to messages arriving on the Queue before the messages are eligible for delivery. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. Available since SEMP API version 2.22. - `egress_enabled` (Boolean) Enable or disable the transmission of messages from the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Queue consumer flows event, relative to `max_bind_count`. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `max_msg_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Queue event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) - `ingress_enabled` (Boolean) Enable or disable the reception of messages to the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `max_bind_count` (Number) The maximum number of consumer flows that can bind to the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. @@ -97,9 +100,9 @@ This has been available since SEMP API version 2.0. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -108,9 +111,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -119,7 +122,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/msg_vpn_queue_subscription.md b/docs/resources/msg_vpn_queue_subscription.md index a9fb2825..beb28c65 100644 --- a/docs/resources/msg_vpn_queue_subscription.md +++ b/docs/resources/msg_vpn_queue_subscription.md @@ -6,11 +6,12 @@ description: |- One or more Queue Subscriptions can be added to a durable queue so that Guaranteed messages published to matching topics are also delivered to and spooled by the queue. Attribute|Identifying :---|:---: - msgvpnname|x - queuename|x - subscriptiontopic|x + msg_vpn_name|x + queue_name|x + subscription_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{queueName}/{subscriptionTopic}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_queue_subscription (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{queueName}/{subscriptionTopic}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_queue_template.md b/docs/resources/msg_vpn_queue_template.md index 3d0dc7a0..9c3e2591 100644 --- a/docs/resources/msg_vpn_queue_template.md +++ b/docs/resources/msg_vpn_queue_template.md @@ -6,10 +6,11 @@ description: |- A Queue Template provides a mechanism for specifying the initial state for client created queues. Attribute|Identifying :---|:---: - msgvpnname|x - queuetemplatename|x + msg_vpn_name|x + queue_template_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. + The import identifier for this resource is {msgVpnName}/{queueTemplateName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_queue_template (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.14. +The import identifier for this resource is `{msgVpnName}/{queueTemplateName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -55,9 +58,9 @@ This has been available since SEMP API version 2.14. "none" - The durability of the endpoint will be as requested on create. "non-durable" - The durability of the created queue will be non-durable, regardless of what was requested. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Queue consumer flows event, relative to `max_bind_count`. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `max_msg_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Queue event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) - `max_bind_count` (Number) The maximum number of consumer flows that can bind. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. - `max_msg_size` (Number) The maximum message size allowed, in bytes (B). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000000`. @@ -96,9 +99,9 @@ This has been available since SEMP API version 2.14. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -107,9 +110,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -118,7 +121,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/msg_vpn_replay_log.md b/docs/resources/msg_vpn_replay_log.md index acde185c..0858591b 100644 --- a/docs/resources/msg_vpn_replay_log.md +++ b/docs/resources/msg_vpn_replay_log.md @@ -6,10 +6,11 @@ description: |- When the Message Replay feature is enabled, message brokers store persistent messages in a Replay Log. These messages are kept until the log is full, after which the oldest messages are removed to free up space for new messages. Attribute|Identifying :---|:---: - msgvpnname|x - replaylogname|x + msg_vpn_name|x + replay_log_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.10. + The import identifier for this resource is {msgVpnName}/{replayLogName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_replay_log (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.10. +The import identifier for this resource is `{msgVpnName}/{replayLogName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_replay_log_topic_filter_subscription.md b/docs/resources/msg_vpn_replay_log_topic_filter_subscription.md index 2e2fd9e2..b87a9946 100644 --- a/docs/resources/msg_vpn_replay_log_topic_filter_subscription.md +++ b/docs/resources/msg_vpn_replay_log_topic_filter_subscription.md @@ -6,11 +6,12 @@ description: |- One or more Subscriptions can be added to a replay-log so that only guaranteed messages published to matching topics are stored in the Replay Log. Attribute|Identifying :---|:---: - msgvpnname|x - replaylogname|x - topicfiltersubscription|x + msg_vpn_name|x + replay_log_name|x + topic_filter_subscription|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.27. + The import identifier for this resource is {msgVpnName}/{replayLogName}/{topicFilterSubscription}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_replay_log_topic_filter_subscription (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.27. +The import identifier for this resource is `{msgVpnName}/{replayLogName}/{topicFilterSubscription}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_replicated_topic.md b/docs/resources/msg_vpn_replicated_topic.md index 100c63f7..a4508533 100644 --- a/docs/resources/msg_vpn_replicated_topic.md +++ b/docs/resources/msg_vpn_replicated_topic.md @@ -6,10 +6,11 @@ description: |- To indicate which messages should be replicated between the active and standby site, a Replicated Topic subscription must be configured on a Message VPN. If a published message matches both a replicated topic and an endpoint on the active site, then the message is replicated to the standby site. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x replicated_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. + The import identifier for this resource is {msgVpnName}/{replicatedTopic}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_replicated_topic (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.1. +The import identifier for this resource is `{msgVpnName}/{replicatedTopic}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_rest_delivery_point.md b/docs/resources/msg_vpn_rest_delivery_point.md index 66ddee49..ec50f624 100644 --- a/docs/resources/msg_vpn_rest_delivery_point.md +++ b/docs/resources/msg_vpn_rest_delivery_point.md @@ -6,10 +6,11 @@ description: |- A REST Delivery Point manages delivery of messages from queues to a named list of REST Consumers. Attribute|Identifying :---|:---: - msgvpnname|x - restdeliverypoint_name|x + msg_vpn_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{restDeliveryPointName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_rest_delivery_point (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{restDeliveryPointName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_rest_delivery_point_queue_binding.md b/docs/resources/msg_vpn_rest_delivery_point_queue_binding.md index 4afbbe06..9db2489c 100644 --- a/docs/resources/msg_vpn_rest_delivery_point_queue_binding.md +++ b/docs/resources/msg_vpn_rest_delivery_point_queue_binding.md @@ -6,11 +6,12 @@ description: |- A Queue Binding for a REST Delivery Point attracts messages to be delivered to REST consumers. If the queue does not exist it can be created subsequently, and once the queue is operational the broker performs the queue binding. Removing the queue binding does not delete the queue itself. Similarly, removing the queue does not remove the queue binding, which fails until the queue is recreated or the queue binding is deleted. Attribute|Identifying :---|:---: - msgvpnname|x - queuebindingname|x - restdeliverypoint_name|x + msg_vpn_name|x + queue_binding_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{restDeliveryPointName}/{queueBindingName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_rest_delivery_point_queue_binding (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{restDeliveryPointName}/{queueBindingName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md b/docs/resources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md index a4d9f337..8e756685 100644 --- a/docs/resources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md +++ b/docs/resources/msg_vpn_rest_delivery_point_queue_binding_protected_request_header.md @@ -6,13 +6,14 @@ description: |- A protected request header to be added to the HTTP request. Unlike a non-protected request header, the header value cannot be displayed after it is set. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - headername|x|| - headervalue||x|x - msgvpnname|x|| - queuebindingname|x|| - restdeliverypoint_name|x|| + header_name|x|| + header_value||x|x + msg_vpn_name|x|| + queue_binding_name|x|| + rest_delivery_point_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.30. + The import identifier for this resource is {msgVpnName}/{restDeliveryPointName}/{queueBindingName}/{headerName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_rest_delivery_point_queue_binding_protected_request_header (Resource) @@ -34,6 +35,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.30. +The import identifier for this resource is `{msgVpnName}/{restDeliveryPointName}/{queueBindingName}/{headerName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_rest_delivery_point_queue_binding_request_header.md b/docs/resources/msg_vpn_rest_delivery_point_queue_binding_request_header.md index e1644a7a..32f8bc2f 100644 --- a/docs/resources/msg_vpn_rest_delivery_point_queue_binding_request_header.md +++ b/docs/resources/msg_vpn_rest_delivery_point_queue_binding_request_header.md @@ -6,12 +6,13 @@ description: |- A request header to be added to the HTTP request. Attribute|Identifying :---|:---: - headername|x - msgvpnname|x - queuebindingname|x - restdeliverypointname|x + header_name|x + msg_vpn_name|x + queue_binding_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.23. + The import identifier for this resource is {msgVpnName}/{restDeliveryPointName}/{queueBindingName}/{headerName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_rest_delivery_point_queue_binding_request_header (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.23. +The import identifier for this resource is `{msgVpnName}/{restDeliveryPointName}/{queueBindingName}/{headerName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_rest_delivery_point_rest_consumer.md b/docs/resources/msg_vpn_rest_delivery_point_rest_consumer.md index 6c91567a..319d4091 100644 --- a/docs/resources/msg_vpn_rest_delivery_point_rest_consumer.md +++ b/docs/resources/msg_vpn_rest_delivery_point_rest_consumer.md @@ -6,18 +6,19 @@ description: |- REST Consumer objects establish HTTP connectivity to REST consumer applications who wish to receive messages from a broker. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - authenticationawssecretaccesskey||x|x - authenticationclientcertcontent||x|x - authenticationclientcertpassword||x| - authenticationhttpbasicpassword||x|x - authenticationhttpheadervalue||x|x - authenticationoauthclientsecret||x|x - authenticationoauthjwtsecretkey||x|x - msgvpnname|x|| - restconsumername|x|| - restdeliverypointname|x|| + authentication_aws_secret_access_key||x|x + authentication_client_cert_content||x|x + authentication_client_cert_password||x| + authentication_http_basic_password||x|x + authentication_http_header_value||x|x + authentication_oauth_client_secret||x|x + authentication_oauth_jwt_secret_key||x|x + msg_vpn_name|x|| + rest_consumer_name|x|| + rest_delivery_point_name|x|| A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{restDeliveryPointName}/{restConsumerName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_rest_delivery_point_rest_consumer (Resource) @@ -44,6 +45,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{restDeliveryPointName}/{restConsumerName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md b/docs/resources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md index e5222bc1..9535f488 100644 --- a/docs/resources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md +++ b/docs/resources/msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim.md @@ -6,12 +6,13 @@ description: |- A Claim is added to the JWT sent to the OAuth token request endpoint. Attribute|Identifying :---|:---: - msgvpnname|x - oauthjwtclaimname|x - restconsumername|x - restdeliverypointname|x + msg_vpn_name|x + oauth_jwt_claim_name|x + rest_consumer_name|x + rest_delivery_point_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.21. + The import identifier for this resource is {msgVpnName}/{restDeliveryPointName}/{restConsumerName}/{oauthJwtClaimName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_rest_delivery_point_rest_consumer_oauth_jwt_claim (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.21. +The import identifier for this resource is `{msgVpnName}/{restDeliveryPointName}/{restConsumerName}/{oauthJwtClaimName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_sequenced_topic.md b/docs/resources/msg_vpn_sequenced_topic.md index 0ac72a0f..a6d6be2f 100644 --- a/docs/resources/msg_vpn_sequenced_topic.md +++ b/docs/resources/msg_vpn_sequenced_topic.md @@ -6,10 +6,11 @@ description: |- A Sequenced Topic is a topic subscription for which any matching messages received on the Message VPN are assigned a sequence number that is monotonically increased by a value of one per message. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x sequenced_topic|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.0. + The import identifier for this resource is {msgVpnName}/{sequencedTopic}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_sequenced_topic (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.0. +The import identifier for this resource is `{msgVpnName}/{sequencedTopic}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_telemetry_profile.md b/docs/resources/msg_vpn_telemetry_profile.md index 9fb5e42f..0d2872b3 100644 --- a/docs/resources/msg_vpn_telemetry_profile.md +++ b/docs/resources/msg_vpn_telemetry_profile.md @@ -6,10 +6,11 @@ description: |- Using the Telemetry Profile allows trace spans to be generated as messages are processed by the broker. The generated spans are stored persistently on the broker and may be consumed by the Solace receiver component of an OpenTelemetry Collector. Attribute|Identifying :---|:---: - msgvpnname|x - telemetryprofilename|x + msg_vpn_name|x + telemetry_profile_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. + The import identifier for this resource is {msgVpnName}/{telemetryProfileName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_telemetry_profile (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.31. +The import identifier for this resource is `{msgVpnName}/{telemetryProfileName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -40,8 +43,8 @@ This has been available since SEMP API version 2.31. ### Optional -- `queue_event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) -- `queue_event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) +- `queue_event_bind_count_threshold` (Attributes) The thresholds for the Queue consumer flows event, relative to `queue_max_bind_count`. (see [below for nested schema](#nestedatt--queue_event_bind_count_threshold)) +- `queue_event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Queue, relative to `queue_max_msg_spool_usage`. (see [below for nested schema](#nestedatt--queue_event_msg_spool_usage_threshold)) - `queue_max_bind_count` (Number) The maximum number of consumer flows that can bind to the Queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1000`. - `queue_max_msg_spool_usage` (Number) The maximum message spool usage allowed by the Queue, in megabytes (MB). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `800000`. - `receiver_acl_connect_default_action` (String) The default action to take when a receiver client connects to the broker. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"disallow"`. The allowed values and their meaning are: @@ -51,7 +54,7 @@ This has been available since SEMP API version 2.31. "disallow" - Disallow client connection unless an exception is found for it. - `receiver_enabled` (Boolean) Enable or disable the ability for receiver clients to consume from the #telemetry queue. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `receiver_event_connection_count_per_client_username_threshold` (Attributes) (see [below for nested schema](#nestedatt--receiver_event_connection_count_per_client_username_threshold)) +- `receiver_event_connection_count_per_client_username_threshold` (Attributes) The thresholds for the receiver connection count event, relative to `receiver_max_connection_count_per_client_username`. (see [below for nested schema](#nestedatt--receiver_event_connection_count_per_client_username_threshold)) - `receiver_max_connection_count_per_client_username` (Number) The maximum number of receiver connections per Client Username. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default is the maximum value supported by the platform. - `receiver_tcp_congestion_window_size` (Number) The TCP initial congestion window size for clients using the Client Profile, in multiples of the TCP Maximum Segment Size (MSS). Changing the value from its default of 2 results in non-compliance with RFC 2581. Contact support before changing this value. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `2`. - `receiver_tcp_keepalive_count` (Number) The number of TCP keepalive retransmissions to a client using the Client Profile before declaring that it is not available. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `5`. @@ -67,9 +70,9 @@ This has been available since SEMP API version 2.31. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -78,9 +81,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `1`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `2`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -89,7 +92,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md b/docs/resources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md index a1c24e3f..309748f8 100644 --- a/docs/resources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md +++ b/docs/resources/msg_vpn_telemetry_profile_receiver_acl_connect_exception.md @@ -6,11 +6,12 @@ description: |- A Receiver ACL Connect Exception is an exception to the default action to take when a receiver connects to the broker. Exceptions must be expressed as an IP address/netmask in CIDR form. Attribute|Identifying :---|:---: - msgvpnname|x - receiveraclconnectexceptionaddress|x - telemetryprofilename|x + msg_vpn_name|x + receiver_acl_connect_exception_address|x + telemetry_profile_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. + The import identifier for this resource is {msgVpnName}/{telemetryProfileName}/{receiverAclConnectExceptionAddress}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_telemetry_profile_receiver_acl_connect_exception (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.31. +The import identifier for this resource is `{msgVpnName}/{telemetryProfileName}/{receiverAclConnectExceptionAddress}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_telemetry_profile_trace_filter.md b/docs/resources/msg_vpn_telemetry_profile_trace_filter.md index 6e6d8cc7..25a905e4 100644 --- a/docs/resources/msg_vpn_telemetry_profile_trace_filter.md +++ b/docs/resources/msg_vpn_telemetry_profile_trace_filter.md @@ -6,11 +6,12 @@ description: |- A Trace Filter controls which messages received by the broker will be traced. If an incoming message matches an enabled tracing filter's subscription, the message will be traced as it passes through the broker. Attribute|Identifying :---|:---: - msgvpnname|x - telemetryprofilename|x - tracefiltername|x + msg_vpn_name|x + telemetry_profile_name|x + trace_filter_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. + The import identifier for this resource is {msgVpnName}/{telemetryProfileName}/{traceFilterName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_telemetry_profile_trace_filter (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.31. +The import identifier for this resource is `{msgVpnName}/{telemetryProfileName}/{traceFilterName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_telemetry_profile_trace_filter_subscription.md b/docs/resources/msg_vpn_telemetry_profile_trace_filter_subscription.md index 7f27cadd..6ef88db3 100644 --- a/docs/resources/msg_vpn_telemetry_profile_trace_filter_subscription.md +++ b/docs/resources/msg_vpn_telemetry_profile_trace_filter_subscription.md @@ -6,13 +6,14 @@ description: |- Trace filter subscriptions control which messages will be attracted by the tracing filter. Attribute|Identifying :---|:---: - msgvpnname|x + msg_vpn_name|x subscription|x - subscriptionsyntax|x - telemetryprofilename|x - tracefilter_name|x + subscription_syntax|x + telemetry_profile_name|x + trace_filter_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.31. + The import identifier for this resource is {msgVpnName}/{telemetryProfileName}/{traceFilterName}/{subscription}/{subscriptionSyntax}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_telemetry_profile_trace_filter_subscription (Resource) @@ -34,6 +35,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.31. +The import identifier for this resource is `{msgVpnName}/{telemetryProfileName}/{traceFilterName}/{subscription}/{subscriptionSyntax}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/msg_vpn_topic_endpoint.md b/docs/resources/msg_vpn_topic_endpoint.md index 1c8ff81e..6df53319 100644 --- a/docs/resources/msg_vpn_topic_endpoint.md +++ b/docs/resources/msg_vpn_topic_endpoint.md @@ -6,10 +6,11 @@ description: |- A Topic Endpoint attracts messages published to a topic for which the Topic Endpoint has a matching topic subscription. The topic subscription for the Topic Endpoint is specified in the client request to bind a Flow to that Topic Endpoint. Queues are significantly more flexible than Topic Endpoints and are the recommended approach for most applications. The use of Topic Endpoints should be restricted to JMS applications. Attribute|Identifying :---|:---: - msgvpnname|x - topicendpointname|x + msg_vpn_name|x + topic_endpoint_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.1. + The import identifier for this resource is {msgVpnName}/{topicEndpointName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_topic_endpoint (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.1. +The import identifier for this resource is `{msgVpnName}/{topicEndpointName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -52,9 +55,9 @@ This has been available since SEMP API version 2.1. - `delivery_count_enabled` (Boolean) Enable or disable the ability for client applications to query the message delivery count of messages received from the Topic Endpoint. This is a controlled availability feature. Please contact support to find out if this feature is supported for your use case. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. Available since SEMP API version 2.19. - `delivery_delay` (Number) The delay, in seconds, to apply to messages arriving on the Topic Endpoint before the messages are eligible for delivery. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. Available since SEMP API version 2.22. - `egress_enabled` (Boolean) Enable or disable the transmission of messages from the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) -- `event_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_spool_usage_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Topic Endpoint consumer flows event, relative to `max_bind_count`. Available since SEMP API version 2.4. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Topic Endpoint event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Topic Endpoint, relative to `max_spool_usage`. (see [below for nested schema](#nestedatt--event_spool_usage_threshold)) - `ingress_enabled` (Boolean) Enable or disable the reception of messages to the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `false`. - `max_bind_count` (Number) The maximum number of consumer flows that can bind to the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1`. Available since SEMP API version 2.4. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow for the Topic Endpoint. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. @@ -94,9 +97,9 @@ This has been available since SEMP API version 2.1. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -105,9 +108,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -116,7 +119,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/msg_vpn_topic_endpoint_template.md b/docs/resources/msg_vpn_topic_endpoint_template.md index 8a8aee85..c6f3af24 100644 --- a/docs/resources/msg_vpn_topic_endpoint_template.md +++ b/docs/resources/msg_vpn_topic_endpoint_template.md @@ -6,10 +6,11 @@ description: |- A Topic Endpoint Template provides a mechanism for specifying the initial state for client created topic endpoints. Attribute|Identifying :---|:---: - msgvpnname|x - topicendpointtemplate_name|x + msg_vpn_name|x + topic_endpoint_template_name|x A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is required to perform this operation. This has been available since SEMP API version 2.14. + The import identifier for this resource is {msgVpnName}/{topicEndpointTemplateName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_msg_vpn_topic_endpoint_template (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "vpn/read-only" is This has been available since SEMP API version 2.14. +The import identifier for this resource is `{msgVpnName}/{topicEndpointTemplateName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + @@ -49,9 +52,9 @@ This has been available since SEMP API version 2.14. - `consumer_ack_propagation_enabled` (Boolean) Enable or disable the propagation of consumer acknowledgments (ACKs) received on the active replication Message VPN to the standby replication Message VPN. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `true`. - `dead_msg_queue` (String) The name of the Dead Message Queue (DMQ). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `"#DEAD_MSG_QUEUE"`. - `delivery_delay` (Number) The delay, in seconds, to apply to messages arriving on the Topic Endpoint before the messages are eligible for delivery. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `0`. Available since SEMP API version 2.22. -- `event_bind_count_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_bind_count_threshold)) -- `event_msg_spool_usage_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) -- `event_reject_low_priority_msg_limit_threshold` (Attributes) (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) +- `event_bind_count_threshold` (Attributes) The thresholds for the Topic Endpoint consumer flows event, relative to `max_bind_count`. (see [below for nested schema](#nestedatt--event_bind_count_threshold)) +- `event_msg_spool_usage_threshold` (Attributes) The thresholds for the message spool usage event of the Topic Endpoint, relative to `max_spool_usage`. (see [below for nested schema](#nestedatt--event_msg_spool_usage_threshold)) +- `event_reject_low_priority_msg_limit_threshold` (Attributes) The thresholds for the maximum allowed number of any priority messages queued in the Topic Endpoint event, relative to `reject_low_priority_msg_limit`. (see [below for nested schema](#nestedatt--event_reject_low_priority_msg_limit_threshold)) - `max_bind_count` (Number) The maximum number of consumer flows that can bind. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `1`. - `max_delivered_unacked_msgs_per_flow` (Number) The maximum number of messages delivered but not acknowledged per flow. Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000`. - `max_msg_size` (Number) The maximum message size allowed, in bytes (B). Changes to this attribute are synchronized to HA mates and replication sites via config-sync. The default value is `10000000`. @@ -90,9 +93,9 @@ This has been available since SEMP API version 2.14. Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -101,9 +104,9 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. @@ -112,7 +115,7 @@ Optional: Optional: -- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `clear_percent` (Number) The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`. - `clear_value` (Number) The clear threshold for the absolute value of this counter. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. -- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. +- `set_percent` (Number) The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`. - `set_value` (Number) The set threshold for the absolute value of this counter. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. diff --git a/docs/resources/oauth_profile.md b/docs/resources/oauth_profile.md index e3570aab..f31e197e 100644 --- a/docs/resources/oauth_profile.md +++ b/docs/resources/oauth_profile.md @@ -6,10 +6,11 @@ description: |- OAuth profiles specify how to securely authenticate to an OAuth provider. Attribute|Identifying|Write-Only|Opaque :---|:---:|:---:|:---: - clientsecret||x|x - oauthprofile_name|x|| + client_secret||x|x + oauth_profile_name|x|| A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/oauth_profile_access_level_group.md b/docs/resources/oauth_profile_access_level_group.md index 2df8df04..89252296 100644 --- a/docs/resources/oauth_profile_access_level_group.md +++ b/docs/resources/oauth_profile_access_level_group.md @@ -6,10 +6,11 @@ description: |- The name of a group as it exists on the OAuth server being used to authenticate SEMP users. Attribute|Identifying :---|:---: - groupname|x - oauthprofile_name|x + group_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}/{groupName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile_access_level_group (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}/{groupName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md b/docs/resources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md index 2b004943..824a158b 100644 --- a/docs/resources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md +++ b/docs/resources/oauth_profile_access_level_group_msg_vpn_access_level_exception.md @@ -6,11 +6,12 @@ description: |- Message VPN access-level exceptions for members of this group. Attribute|Identifying :---|:---: - groupname|x - msgvpnname|x - oauthprofile_name|x + group_name|x + msg_vpn_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}/{groupName}/{msgVpnName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile_access_level_group_msg_vpn_access_level_exception (Resource) @@ -30,6 +31,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}/{groupName}/{msgVpnName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/oauth_profile_client_allowed_host.md b/docs/resources/oauth_profile_client_allowed_host.md index b2f50078..0a7365f8 100644 --- a/docs/resources/oauth_profile_client_allowed_host.md +++ b/docs/resources/oauth_profile_client_allowed_host.md @@ -6,10 +6,11 @@ description: |- A valid hostname for this broker in OAuth redirects. Attribute|Identifying :---|:---: - allowedhost|x - oauthprofile_name|x + allowed_host|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}/{allowedHost}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile_client_allowed_host (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}/{allowedHost}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/oauth_profile_client_authorization_parameter.md b/docs/resources/oauth_profile_client_authorization_parameter.md index 92ab9bc4..cffb8576 100644 --- a/docs/resources/oauth_profile_client_authorization_parameter.md +++ b/docs/resources/oauth_profile_client_authorization_parameter.md @@ -6,10 +6,11 @@ description: |- Additional parameters to be passed to the OAuth authorization endpoint. Attribute|Identifying :---|:---: - authorizationparametername|x - oauthprofilename|x + authorization_parameter_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}/{authorizationParameterName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile_client_authorization_parameter (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}/{authorizationParameterName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/oauth_profile_client_required_claim.md b/docs/resources/oauth_profile_client_required_claim.md index e67868e3..f23a67e6 100644 --- a/docs/resources/oauth_profile_client_required_claim.md +++ b/docs/resources/oauth_profile_client_required_claim.md @@ -6,10 +6,11 @@ description: |- Additional claims to be verified in the ID token. Attribute|Identifying :---|:---: - clientrequiredclaimname|x - oauthprofile_name|x + client_required_claim_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}/{clientRequiredClaimName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile_client_required_claim (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}/{clientRequiredClaimName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/oauth_profile_default_msg_vpn_access_level_exception.md b/docs/resources/oauth_profile_default_msg_vpn_access_level_exception.md index 57c1be35..acc29893 100644 --- a/docs/resources/oauth_profile_default_msg_vpn_access_level_exception.md +++ b/docs/resources/oauth_profile_default_msg_vpn_access_level_exception.md @@ -6,10 +6,11 @@ description: |- Default message VPN access-level exceptions. Attribute|Identifying :---|:---: - msgvpnname|x - oauthprofilename|x + msg_vpn_name|x + oauth_profile_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}/{msgVpnName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile_default_msg_vpn_access_level_exception (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}/{msgVpnName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/oauth_profile_resource_server_required_claim.md b/docs/resources/oauth_profile_resource_server_required_claim.md index 53b630f8..3c44a3ef 100644 --- a/docs/resources/oauth_profile_resource_server_required_claim.md +++ b/docs/resources/oauth_profile_resource_server_required_claim.md @@ -6,10 +6,11 @@ description: |- Additional claims to be verified in the access token. Attribute|Identifying :---|:---: - oauthprofilename|x - resourceserverrequiredclaimname|x + oauth_profile_name|x + resource_server_required_claim_name|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.24. + The import identifier for this resource is {oauthProfileName}/{resourceServerRequiredClaimName}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_oauth_profile_resource_server_required_claim (Resource) @@ -28,6 +29,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.24. +The import identifier for this resource is `{oauthProfileName}/{resourceServerRequiredClaimName}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/docs/resources/virtual_hostname.md b/docs/resources/virtual_hostname.md index 32c684b7..78d88968 100644 --- a/docs/resources/virtual_hostname.md +++ b/docs/resources/virtual_hostname.md @@ -11,6 +11,7 @@ description: |- virtual_hostname|x A SEMP client authorized with a minimum access scope/level of "global/read-only" is required to perform this operation. This has been available since SEMP API version 2.17. + The import identifier for this resource is {virtualHostname}, where {<attribute>} represents the value of the attribute and it must be URL-encoded. --- # solacebroker_virtual_hostname (Resource) @@ -32,6 +33,8 @@ A SEMP client authorized with a minimum access scope/level of "global/read-only" This has been available since SEMP API version 2.17. +The import identifier for this resource is `{virtualHostname}`, where {<attribute>} represents the value of the attribute and it must be URL-encoded. + diff --git a/go.mod b/go.mod index a0225479..8dd8cd51 100644 --- a/go.mod +++ b/go.mod @@ -1,75 +1,81 @@ module terraform-provider-solacebroker -go 1.21 +go 1.22.2 require ( + github.com/hashicorp/go-retryablehttp v0.7.5 github.com/hashicorp/go-version v1.6.0 - github.com/hashicorp/terraform-plugin-docs v0.16.0 - github.com/hashicorp/terraform-plugin-framework v1.4.2 + github.com/hashicorp/terraform-plugin-docs v0.19.2 + github.com/hashicorp/terraform-plugin-framework v1.8.0 github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 - github.com/hashicorp/terraform-plugin-go v0.20.0 + github.com/hashicorp/terraform-plugin-go v0.22.2 github.com/hashicorp/terraform-plugin-log v0.9.0 - github.com/hashicorp/terraform-plugin-testing v1.5.1 + github.com/hashicorp/terraform-plugin-testing v1.7.0 github.com/spf13/cobra v1.8.0 - github.com/testcontainers/testcontainers-go v0.26.0 - golang.org/x/exp v0.0.0-20231006140011-7918f672742d + github.com/testcontainers/testcontainers-go v0.30.0 ) require ( dario.cat/mergo v1.0.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + 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.1.1 // indirect - github.com/Masterminds/sprig/v3 v3.2.2 // indirect + github.com/Masterminds/semver/v3 v3.2.0 // indirect + github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/Microsoft/hcsshim v0.11.1 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect + github.com/Microsoft/hcsshim v0.11.4 // indirect + github.com/ProtonMail/go-crypto v1.1.0-alpha.2 // indirect github.com/agext/levenshtein v1.2.2 // 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/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cloudflare/circl v1.3.7 // indirect - github.com/containerd/containerd v1.7.7 // indirect + github.com/containerd/containerd v1.7.12 // indirect github.com/containerd/log v0.1.0 // indirect github.com/cpuguy83/dockercfg v0.3.1 // indirect - github.com/docker/distribution v2.8.2+incompatible // indirect - github.com/docker/docker v24.0.6+incompatible // indirect - github.com/docker/go-connections v0.4.0 // indirect + github.com/distribution/reference v0.5.0 // indirect + github.com/docker/docker v25.0.5+incompatible // indirect + github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect - github.com/fatih/color v1.13.0 // indirect + github.com/fatih/color v1.16.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/go-cmp v0.6.0 // indirect - github.com/google/uuid v1.3.1 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/cli v1.1.6 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect - github.com/hashicorp/go-hclog v1.5.0 // 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.0 // indirect - github.com/hashicorp/go-retryablehttp v0.7.5 github.com/hashicorp/go-uuid v1.0.3 // indirect - github.com/hashicorp/hc-install v0.6.0 // indirect - github.com/hashicorp/hcl/v2 v2.18.0 // indirect + github.com/hashicorp/hc-install v0.6.4 // indirect + github.com/hashicorp/hcl/v2 v2.20.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-exec v0.19.0 // indirect - github.com/hashicorp/terraform-json v0.17.1 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 // indirect + github.com/hashicorp/terraform-exec v0.20.0 // indirect + github.com/hashicorp/terraform-json v0.21.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 // indirect github.com/hashicorp/terraform-registry-address v0.2.3 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/yamux v0.1.1 // indirect - github.com/huandu/xstrings v1.3.2 // indirect + github.com/huandu/xstrings v1.3.3 // indirect github.com/imdario/mergo v0.3.15 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/klauspost/compress v1.16.0 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mitchellh/cli v1.1.5 // 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 github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/go-wordwrap v1.0.0 // indirect @@ -77,17 +83,16 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/sys/sequential v0.5.0 // indirect + github.com/moby/sys/user v0.1.0 // indirect github.com/moby/term v0.5.0 // indirect github.com/morikuni/aec v1.0.0 // indirect - github.com/oklog/run v1.0.0 // indirect + github.com/oklog/run v1.1.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0-rc5 // indirect - github.com/opencontainers/runc v1.1.5 // indirect + github.com/opencontainers/image-spec v1.1.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/posener/complete v1.2.3 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/russross/blackfriday v1.6.0 // indirect - github.com/shirou/gopsutil/v3 v3.23.9 // indirect + github.com/shirou/gopsutil/v3 v3.23.12 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect @@ -98,16 +103,26 @@ 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-meta v1.1.0 // indirect github.com/yusufpapurcu/wmi v1.2.3 // indirect - github.com/zclconf/go-cty v1.14.0 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/mod v0.13.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + github.com/zclconf/go-cty v1.14.4 // indirect + go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect + golang.org/x/mod v0.16.0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/sys v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.14.0 // indirect + golang.org/x/tools v0.13.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 // indirect - google.golang.org/grpc v1.60.0 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect + google.golang.org/grpc v1.63.2 // indirect + google.golang.org/protobuf v1.34.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index a01e2728..704b5786 100644 --- a/go.sum +++ b/go.sum @@ -4,87 +4,85 @@ github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9 github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/Kunde21/markdownfmt/v3 v3.1.0 h1:KiZu9LKs+wFFBQKhrZJrFZwtLnCCWJahL+S+E/3VnM0= +github.com/Kunde21/markdownfmt/v3 v3.1.0/go.mod h1:tPXN1RTyOzJwhfHoon9wUr4HGYmWgVxSQN6VBJDkrVc= 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.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= -github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8= -github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= +github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= +github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +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= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/Microsoft/hcsshim v0.11.1 h1:hJ3s7GbWlGK4YVV92sO88BQSyF4ZLVy7/awqOlPxFbA= -github.com/Microsoft/hcsshim v0.11.1/go.mod h1:nFJmaO4Zr5Y7eADdFOpYswDDlNVbvcIJJNJLECr5JQg= -github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= -github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= -github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= -github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= +github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= +github.com/ProtonMail/go-crypto v1.1.0-alpha.2 h1:bkyFVUP+ROOARdgCiJzNQo2V2kiB97LyUpzH9P6Hrlg= +github.com/ProtonMail/go-crypto v1.1.0-alpha.2/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= 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/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/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= -github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= -github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= -github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd v1.7.7 h1:QOC2K4A42RQpcrZyptP6z9EJZnlHfHJUfZrAAHe15q4= -github.com/containerd/containerd v1.7.7/go.mod h1:3c4XZv6VeT9qgf9GMTxNTMFxGJrGpI2vz1yk4ye+YY8= +github.com/containerd/containerd v1.7.12 h1:+KQsnv4VnzyxWcfO9mlxxELaoztsDEjOuCMPAuPqgU0= +github.com/containerd/containerd v1.7.12/go.mod h1:/5OMpE1p0ylxtEUGY8kuCYkDRzJm9NO1TFMWjUpdevk= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= -github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.6+incompatible h1:hceabKCtUgDqPu+qm0NgsaXf28Ljf4/pWFL7xjWWDgE= -github.com/docker/docker v24.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= +github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/docker v25.0.5+incompatible h1:UmQydMduGkrD5nQde1mecF/YnSbTOaPeFIeP5C4W+DE= +github.com/docker/docker v25.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= 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.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= -github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A= -github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +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.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/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-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= 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/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -92,19 +90,21 @@ github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4er github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= +github.com/hashicorp/cli v1.1.6 h1:CMOV+/LJfL1tXCOKrgAX0uRKnzjj/mpmqNXloRSy2K8= +github.com/hashicorp/cli v1.1.6/go.mod h1:MPon5QYlgjjo0BSoAiN0ESeT5fRzDjVRp+uioJ0piz4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -116,8 +116,8 @@ github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/S github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI= github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= -github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= 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= @@ -130,39 +130,38 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hc-install v0.6.0 h1:fDHnU7JNFNSQebVKYhHZ0va1bC6SrPQ8fpebsvNr2w4= -github.com/hashicorp/hc-install v0.6.0/go.mod h1:10I912u3nntx9Umo1VAeYPUUuehk0aRQJYpMwbX5wQA= -github.com/hashicorp/hcl/v2 v2.18.0 h1:wYnG7Lt31t2zYkcquwgKo6MWXzRUDIeIVU5naZwHLl8= -github.com/hashicorp/hcl/v2 v2.18.0/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= +github.com/hashicorp/hc-install v0.6.4 h1:QLqlM56/+SIIGvGcfFiwMY3z5WGXT066suo/v9Km8e0= +github.com/hashicorp/hc-install v0.6.4/go.mod h1:05LWLy8TD842OtgcfBbOT0WMoInBMUSHjmDx10zuBIA= +github.com/hashicorp/hcl/v2 v2.20.0 h1:l++cRs/5jQOiKVvqXZm/P1ZEfVXJmvLS9WSVxkaeTb4= +github.com/hashicorp/hcl/v2 v2.20.0/go.mod h1:WmcD/Ym72MDOOx5F62Ly+leloeu6H7m0pG7VBiU6pQk= 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.19.0 h1:FpqZ6n50Tk95mItTSS9BjeOVUb4eg81SpgVtZNNtFSM= -github.com/hashicorp/terraform-exec v0.19.0/go.mod h1:tbxUpe3JKruE9Cuf65mycSIT8KiNPZ0FkuTE3H4urQg= -github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA= -github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= -github.com/hashicorp/terraform-plugin-docs v0.16.0 h1:UmxFr3AScl6Wged84jndJIfFccGyBZn52KtMNsS12dI= -github.com/hashicorp/terraform-plugin-docs v0.16.0/go.mod h1:M3ZrlKBJAbPMtNOPwHicGi1c+hZUh7/g0ifT/z7TVfA= -github.com/hashicorp/terraform-plugin-framework v1.4.2 h1:P7a7VP1GZbjc4rv921Xy5OckzhoiO3ig6SGxwelD2sI= -github.com/hashicorp/terraform-plugin-framework v1.4.2/go.mod h1:GWl3InPFZi2wVQmdVnINPKys09s9mLmTZr95/ngLnbY= +github.com/hashicorp/terraform-exec v0.20.0 h1:DIZnPsqzPGuUnq6cH8jWcPunBfY+C+M8JyYF3vpnuEo= +github.com/hashicorp/terraform-exec v0.20.0/go.mod h1:ckKGkJWbsNqFKV1itgMnE0hY9IYf1HoiekpuN0eWoDw= +github.com/hashicorp/terraform-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U= +github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= +github.com/hashicorp/terraform-plugin-docs v0.19.2 h1:YjdKa1vuqt9EnPYkkrv9HnGZz175HhSJ7Vsn8yZeWus= +github.com/hashicorp/terraform-plugin-docs v0.19.2/go.mod h1:gad2aP6uObFKhgNE8DR9nsEuEQnibp7il0jZYYOunWY= +github.com/hashicorp/terraform-plugin-framework v1.8.0 h1:P07qy8RKLcoBkCrY2RHJer5AEvJnDuXomBgou6fD8kI= +github.com/hashicorp/terraform-plugin-framework v1.8.0/go.mod h1:/CpTukO88PcL/62noU7cuyaSJ4Rsim+A/pa+3rUVufY= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= -github.com/hashicorp/terraform-plugin-go v0.20.0 h1:oqvoUlL+2EUbKNsJbIt3zqqZ7wi6lzn4ufkn/UA51xQ= -github.com/hashicorp/terraform-plugin-go v0.20.0/go.mod h1:Rr8LBdMlY53a3Z/HpP+ZU3/xCDqtKNCkeI9qOyT10QE= +github.com/hashicorp/terraform-plugin-go v0.22.2 h1:5o8uveu6eZUf5J7xGPV0eY0TPXg3qpmwX9sce03Bxnc= +github.com/hashicorp/terraform-plugin-go v0.22.2/go.mod h1:drq8Snexp9HsbFZddvyLHN6LuWHHndSQg+gV+FPkcIM= 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.29.0 h1:wcOKYwPI9IorAJEBLzgclh3xVolO7ZorYd6U1vnok14= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= -github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c= -github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 h1:qHprzXy/As0rxedphECBEQAh3R4yp6pKksKHcqZx5G8= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= +github.com/hashicorp/terraform-plugin-testing v1.7.0 h1:I6aeCyZ30z4NiI3tzyDoO6fS7YxP5xSL1ceOon3gTe8= +github.com/hashicorp/terraform-plugin-testing v1.7.0/go.mod h1:sbAreCleJNOCz+y5vVHV8EJkIWZKi/t4ndKiUjM9vao= 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-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/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= -github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.3.3 h1:/Gcsuc1x8JVbJ9/rlye4xZnVAbEkGauT8lbebqcQws4= +github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= @@ -179,7 +178,6 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -192,18 +190,17 @@ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= 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-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= 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 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= -github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= +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= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -218,46 +215,37 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= -github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= +github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= +github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= -github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= -github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= -github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= +github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= 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/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +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/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= -github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shirou/gopsutil/v3 v3.23.9 h1:ZI5bWVeu2ep4/DIxB4U9okeYJ7zp/QLTO4auRb/ty/E= -github.com/shirou/gopsutil/v3 v3.23.9/go.mod h1:x/NWSb71eMcjFIO0vhyGW5nZ7oSIgVjrCnADckb85GA= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/shirou/gopsutil/v3 v3.23.12 h1:z90NtUkp3bMtmICZKpC4+WaknU1eXtp5vtbQ11DgpE4= +github.com/shirou/gopsutil/v3 v3.23.12/go.mod h1:1FrWgea594Jp7qmjHUUPlJDTPgcsb9mGnXDxavtikzM= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= @@ -265,12 +253,10 @@ github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnj github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= -github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= +github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= +github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= @@ -284,23 +270,19 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/testcontainers/testcontainers-go v0.26.0 h1:uqcYdoOHBy1ca7gKODfBd9uTHVK3a7UL848z09MVZ0c= -github.com/testcontainers/testcontainers-go v0.26.0/go.mod h1:ICriE9bLX5CLxL9OFQ2N+2N+f+803LNJ1utJb1+Inx0= +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/testcontainers/testcontainers-go v0.30.0 h1:jmn/XS22q4YRrcMwWg0pAwlClzs/abopbsBzrepyc4E= +github.com/testcontainers/testcontainers-go v0.30.0/go.mod h1:K+kHNGiM5zjklKjgTtcrEetF3uhWbMUyqAQoyoh8Pf0= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= 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= @@ -313,94 +295,95 @@ github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 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-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/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/zclconf/go-cty v1.14.0 h1:/Xrd39K7DXbHzlisFP9c4pHao4yyf+/Ug9LEz+Y/yhc= -github.com/zclconf/go-cty v1.14.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +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= +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/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= +go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +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.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= -golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= +golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= 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-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= 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.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= 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-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/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.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 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= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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-20220715151400-c0bba94af5f8/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.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.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= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= 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.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= @@ -410,9 +393,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= -golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -420,15 +402,17 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T 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-20231002182017-d307bd883b97 h1:6GQBEOdGkX6MMTLT9V+TjtIRZCw9VPD5Z+yHY9wMgS0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY= -google.golang.org/grpc v1.60.0 h1:6FQAR0kM31P6MRdeluor2w2gPaS4SVNrD/DNTxrQ15k= -google.golang.org/grpc v1.60.0/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 h1:DujSIu+2tC9Ht0aPNA7jgj23Iq8Ewi5sgkQ++wdvonE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= 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.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.34.0 h1:Qo/qEd2RZPCf2nKuorzksSknv0d3ERwp1vFG38gSmH4= +google.golang.org/protobuf v1.34.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= @@ -437,6 +421,8 @@ gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internal/broker/conversions.go b/internal/broker/conversions.go index 018e6f42..0ff6c854 100644 --- a/internal/broker/conversions.go +++ b/internal/broker/conversions.go @@ -107,7 +107,7 @@ func NewObjectConverter(terraformName string, attributes []*AttributeInfo) *Obje func (c *ObjectConverter) ToTerraform(v any) (tftypes.Value, error) { m, ok := v.(map[string]any) if !ok { - return tftypes.Value{}, fmt.Errorf("unexpected type %T for attribute %v received in SEMP response; expected %T", v, c.terraformName, m) + return tftypes.Value{}, fmt.Errorf("unexpected type %T for attribute %v received in broker SEMP response; expected %T", v, c.terraformName, m) } tfData := map[string]tftypes.Value{} for _, sempAttribute := range c.attributes { @@ -115,7 +115,7 @@ func (c *ObjectConverter) ToTerraform(v any) (tftypes.Value, error) { if ok { tfv, err := sempAttribute.Converter.ToTerraform(v) if err != nil { - return tftypes.Value{}, err + return tftypes.Value{}, fmt.Errorf("error converting broker SEMP response for attribute %v: %s", sempAttribute.TerraformName, err) } tfData[sempAttribute.TerraformName] = tfv } else { diff --git a/internal/broker/generated/AboutApi.go b/internal/broker/generated/AboutApi.go index 2cf97c50..c3b00a43 100644 --- a/internal/broker/generated/AboutApi.go +++ b/internal/broker/generated/AboutApi.go @@ -30,7 +30,7 @@ func init() { MarkdownDescription: "The API Description object provides metadata about the SEMP API.\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/none\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.2.", ObjectType: broker.DataSourceObject, PathTemplate: "/about/api", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/AboutUser.go b/internal/broker/generated/AboutUser.go index 2c1aa2dc..d641ad96 100644 --- a/internal/broker/generated/AboutUser.go +++ b/internal/broker/generated/AboutUser.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "Session and access level information about the user accessing the SEMP API.\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/none\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.2.", ObjectType: broker.DataSourceObject, PathTemplate: "/about/user", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -47,17 +47,6 @@ func init() { stringvalidator.OneOf("admin", "none", "read-only", "read-write"), }, }, - { - BaseType: broker.Bool, - SempName: "globalDmrBridgeAccessEnabled", - TerraformName: "global_dmr_bridge_access_enabled", - MarkdownDescription: "Indicates whether global DMR Bridge access is enabled for the User. This is only for Solace internal use. This attribute may not be returned in a GET. Available since (hidden in public API).", - ReadOnly: true, - RequiresReplace: true, - Type: types.BoolType, - TerraformType: tftypes.Bool, - Converter: broker.SimpleConverter[bool]{TerraformType: tftypes.Bool}, - }, { BaseType: broker.Bool, SempName: "sessionActive", diff --git a/internal/broker/generated/AboutUserMsgVpn.go b/internal/broker/generated/AboutUserMsgVpn.go index ae5b5702..44b73b14 100644 --- a/internal/broker/generated/AboutUserMsgVpn.go +++ b/internal/broker/generated/AboutUserMsgVpn.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "This provides information about the Message VPN access level for the username used to access the SEMP API.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/none\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.2.", ObjectType: broker.DataSourceObject, PathTemplate: "/about/user/msgVpns/{msgVpnName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/Broker.go b/internal/broker/generated/Broker.go index c1af9df8..1ec38ff6 100644 --- a/internal/broker/generated/Broker.go +++ b/internal/broker/generated/Broker.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "This object contains global configuration for the message broker.\n\n\nAttribute|Write-Only|Opaque\n:---|:---:|:---:\ntls_server_cert_content|x|x\ntls_server_cert_password|x|\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation. Requests which include the following attributes may require greater access scope/level than \"vpn/read-only\":\n\n\nAttribute|Access Scope/Level\n:---|:---:\nauth_client_cert_revocation_check_mode|global/read-only\nconfig_sync_authentication_client_cert_max_chain_depth|global/read-only\nconfig_sync_authentication_client_cert_validate_date_enabled|global/read-only\nconfig_sync_client_profile_tcp_initial_congestion_window|global/read-only\nconfig_sync_client_profile_tcp_keepalive_count|global/read-only\nconfig_sync_client_profile_tcp_keepalive_idle|global/read-only\nconfig_sync_client_profile_tcp_keepalive_interval|global/read-only\nconfig_sync_client_profile_tcp_max_window|global/read-only\nconfig_sync_client_profile_tcp_mss|global/read-only\nconfig_sync_enabled|global/read-only\nconfig_sync_synchronize_username_enabled|global/read-only\nconfig_sync_tls_enabled|global/read-only\nguaranteed_msging_defragmentation_schedule_day_list|global/read-only\nguaranteed_msging_defragmentation_schedule_enabled|global/read-only\nguaranteed_msging_defragmentation_schedule_time_list|global/read-only\nguaranteed_msging_defragmentation_threshold_enabled|global/read-only\nguaranteed_msging_defragmentation_threshold_fragmentation_percentage|global/read-only\nguaranteed_msging_defragmentation_threshold_min_interval|global/read-only\nguaranteed_msging_defragmentation_threshold_usage_percentage|global/read-only\nguaranteed_msging_enabled|global/read-only\nguaranteed_msging_event_cache_usage_threshold.clear_percent|global/read-only\nguaranteed_msging_event_cache_usage_threshold.clear_value|global/read-only\nguaranteed_msging_event_cache_usage_threshold.set_percent|global/read-only\nguaranteed_msging_event_cache_usage_threshold.set_value|global/read-only\nguaranteed_msging_event_delivered_unacked_threshold.clear_percent|global/read-only\nguaranteed_msging_event_delivered_unacked_threshold.set_percent|global/read-only\nguaranteed_msging_event_disk_usage_threshold.clear_percent|global/read-only\nguaranteed_msging_event_disk_usage_threshold.set_percent|global/read-only\nguaranteed_msging_event_egress_flow_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_egress_flow_count_threshold.clear_value|global/read-only\nguaranteed_msging_event_egress_flow_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_egress_flow_count_threshold.set_value|global/read-only\nguaranteed_msging_event_endpoint_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_endpoint_count_threshold.clear_value|global/read-only\nguaranteed_msging_event_endpoint_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_endpoint_count_threshold.set_value|global/read-only\nguaranteed_msging_event_ingress_flow_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_ingress_flow_count_threshold.clear_value|global/read-only\nguaranteed_msging_event_ingress_flow_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_ingress_flow_count_threshold.set_value|global/read-only\nguaranteed_msging_event_msg_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_msg_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_msg_spool_file_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_msg_spool_file_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_msg_spool_usage_threshold.clear_percent|global/read-only\nguaranteed_msging_event_msg_spool_usage_threshold.clear_value|global/read-only\nguaranteed_msging_event_msg_spool_usage_threshold.set_percent|global/read-only\nguaranteed_msging_event_msg_spool_usage_threshold.set_value|global/read-only\nguaranteed_msging_event_transacted_session_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_transacted_session_count_threshold.clear_value|global/read-only\nguaranteed_msging_event_transacted_session_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_transacted_session_count_threshold.set_value|global/read-only\nguaranteed_msging_event_transacted_session_resource_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_transacted_session_resource_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_transaction_count_threshold.clear_percent|global/read-only\nguaranteed_msging_event_transaction_count_threshold.clear_value|global/read-only\nguaranteed_msging_event_transaction_count_threshold.set_percent|global/read-only\nguaranteed_msging_event_transaction_count_threshold.set_value|global/read-only\nguaranteed_msging_max_cache_usage|global/read-only\nguaranteed_msging_max_msg_spool_usage|global/read-only\nguaranteed_msging_msg_spool_sync_mirrored_msg_ack_timeout|global/read-only\nguaranteed_msging_msg_spool_sync_mirrored_spool_file_ack_timeout|global/read-only\nguaranteed_msging_transaction_replication_compatibility_mode|global/read-only\noauth_profile_default|global/read-only\nservice_amqp_enabled|global/read-only\nservice_amqp_tls_listen_port|global/read-only\nservice_event_connection_count_threshold.clear_percent|global/read-only\nservice_event_connection_count_threshold.clear_value|global/read-only\nservice_event_connection_count_threshold.set_percent|global/read-only\nservice_event_connection_count_threshold.set_value|global/read-only\nservice_health_check_enabled|global/read-only\nservice_health_check_listen_port|global/read-only\nservice_health_check_tls_enabled|global/read-only\nservice_health_check_tls_listen_port|global/read-only\nservice_mate_link_enabled|global/read-only\nservice_mate_link_listen_port|global/read-only\nservice_mqtt_enabled|global/read-only\nservice_msg_backbone_enabled|global/read-only\nservice_redundancy_enabled|global/read-only\nservice_redundancy_first_listen_port|global/read-only\nservice_rest_event_outgoing_connection_count_threshold.clear_percent|global/read-only\nservice_rest_event_outgoing_connection_count_threshold.clear_value|global/read-only\nservice_rest_event_outgoing_connection_count_threshold.set_percent|global/read-only\nservice_rest_event_outgoing_connection_count_threshold.set_value|global/read-only\nservice_rest_incoming_enabled|global/read-only\nservice_rest_outgoing_enabled|global/read-only\nservice_semp_cors_allow_any_host_enabled|global/read-only\nservice_semp_legacy_timeout_enabled|global/read-only\nservice_semp_plain_text_enabled|global/read-only\nservice_semp_plain_text_listen_port|global/read-only\nservice_semp_session_idle_timeout|global/read-only\nservice_semp_session_max_lifetime|global/read-only\nservice_semp_tls_enabled|global/read-only\nservice_semp_tls_listen_port|global/read-only\nservice_smf_compression_listen_port|global/read-only\nservice_smf_enabled|global/read-only\nservice_smf_event_connection_count_threshold.clear_percent|global/read-only\nservice_smf_event_connection_count_threshold.clear_value|global/read-only\nservice_smf_event_connection_count_threshold.set_percent|global/read-only\nservice_smf_event_connection_count_threshold.set_value|global/read-only\nservice_smf_plain_text_listen_port|global/read-only\nservice_smf_routing_control_listen_port|global/read-only\nservice_smf_tls_listen_port|global/read-only\nservice_tls_event_connection_count_threshold.clear_percent|global/read-only\nservice_tls_event_connection_count_threshold.clear_value|global/read-only\nservice_tls_event_connection_count_threshold.set_percent|global/read-only\nservice_tls_event_connection_count_threshold.set_value|global/read-only\nservice_web_transport_enabled|global/read-only\nservice_web_transport_plain_text_listen_port|global/read-only\nservice_web_transport_tls_listen_port|global/read-only\nservice_web_transport_web_url_suffix|global/read-only\ntls_block_version11_enabled|global/read-only\ntls_cipher_suite_management_list|global/read-only\ntls_cipher_suite_msg_backbone_list|global/read-only\ntls_cipher_suite_secure_shell_list|global/read-only\ntls_crime_exploit_protection_enabled|global/read-only\ntls_server_cert_content|global/read-only\ntls_ticket_lifetime|global/read-only\n\n\n\nThis has been available since SEMP API version 2.13.", ObjectType: broker.SingletonObject, PathTemplate: "/", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -278,13 +278,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventCacheUsageThreshold", TerraformName: "guaranteed_msging_event_cache_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the cache usage event at system level, relative to `guaranteed_msging_max_cache_usage`. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -327,7 +327,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -372,13 +372,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventDeliveredUnackedThreshold", TerraformName: "guaranteed_msging_event_delivered_unacked_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the number of delivered but unacknowledged messages event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -395,7 +395,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -414,13 +414,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventDiskUsageThreshold", TerraformName: "guaranteed_msging_event_disk_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the active disk partition usage event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -437,7 +437,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -456,13 +456,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventEgressFlowCountThreshold", TerraformName: "guaranteed_msging_event_egress_flow_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transmit flow count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -505,7 +505,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -550,13 +550,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventEndpointCountThreshold", TerraformName: "guaranteed_msging_event_endpoint_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the endpoints count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -599,7 +599,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -644,13 +644,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventIngressFlowCountThreshold", TerraformName: "guaranteed_msging_event_ingress_flow_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the receive flow count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -693,7 +693,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -738,13 +738,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventMsgCountThreshold", TerraformName: "guaranteed_msging_event_msg_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the spool message count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -761,7 +761,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -780,13 +780,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventMsgSpoolFileCountThreshold", TerraformName: "guaranteed_msging_event_msg_spool_file_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the spool file count event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -803,7 +803,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -822,13 +822,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventMsgSpoolUsageThreshold", TerraformName: "guaranteed_msging_event_msg_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the spool usage event at system level, relative to `max_spool_usage`. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -871,7 +871,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -916,13 +916,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventTransactedSessionCountThreshold", TerraformName: "guaranteed_msging_event_transacted_session_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transacted sessions event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -965,7 +965,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1010,13 +1010,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventTransactedSessionResourceCountThreshold", TerraformName: "guaranteed_msging_event_transacted_session_resource_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transacted session resources at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -1033,7 +1033,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -1052,13 +1052,13 @@ func init() { BaseType: broker.Struct, SempName: "guaranteedMsgingEventTransactionCountThreshold", TerraformName: "guaranteed_msging_event_transaction_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transactions event at system level, relative to the maximum system limit. Available since SEMP API version 2.18.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1101,7 +1101,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1248,13 +1248,13 @@ func init() { BaseType: broker.Struct, SempName: "serviceEventConnectionCountThreshold", TerraformName: "service_event_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the connection count event. Available since SEMP API version 2.17.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1297,7 +1297,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1454,13 +1454,13 @@ func init() { BaseType: broker.Struct, SempName: "serviceRestEventOutgoingConnectionCountThreshold", TerraformName: "service_rest_event_outgoing_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the REST outgoing connection count event. Available since SEMP API version 2.17.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1503,7 +1503,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1657,13 +1657,13 @@ func init() { BaseType: broker.Struct, SempName: "serviceSmfEventConnectionCountThreshold", TerraformName: "service_smf_event_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the SMF connection count event. Available since SEMP API version 2.17.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1706,7 +1706,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1790,13 +1790,13 @@ func init() { BaseType: broker.Struct, SempName: "serviceTlsEventConnectionCountThreshold", TerraformName: "service_tls_event_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the incoming and outgoing TLS connection count event of the broker. Available since SEMP API version 2.17.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1839,7 +1839,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -2053,19 +2053,6 @@ func init() { Converter: broker.SimpleConverter[bool]{TerraformType: tftypes.Bool}, Default: false, }, - { - BaseType: broker.String, - SempName: "webManagerCustomization", - TerraformName: "web_manager_customization", - MarkdownDescription: "Reserved for internal use by Solace. Changes to this attribute are synchronized to HA mates via config-sync. The default value is `\"\"`. Available since SEMP API version 2.25.", - Type: types.StringType, - TerraformType: tftypes.String, - Converter: broker.SimpleConverter[string]{TerraformType: tftypes.String}, - StringValidators: []validator.String{ - stringvalidator.LengthBetween(0, 1024), - }, - Default: "", - }, { BaseType: broker.Bool, SempName: "webManagerRedirectHttpEnabled", diff --git a/internal/broker/generated/ClientCertAuthority.go b/internal/broker/generated/ClientCertAuthority.go index a0bbff39..23580602 100644 --- a/internal/broker/generated/ClientCertAuthority.go +++ b/internal/broker/generated/ClientCertAuthority.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "Clients can authenticate with the message broker over TLS by presenting a valid client certificate. The message broker authenticates the client certificate by constructing a full certificate chain (from the client certificate to intermediate CAs to a configured root CA). The intermediate CAs in this chain can be provided by the client, or configured in the message broker. The root CA must be configured on the message broker.\n\n\nAttribute|Identifying\n:---|:---:\ncert_authority_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.19.", ObjectType: broker.StandardObject, PathTemplate: "/clientCertAuthorities/{certAuthorityName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/ClientCertAuthorityOcspTlsTrustedCommonName.go b/internal/broker/generated/ClientCertAuthorityOcspTlsTrustedCommonName.go index 5db92640..a2159169 100644 --- a/internal/broker/generated/ClientCertAuthorityOcspTlsTrustedCommonName.go +++ b/internal/broker/generated/ClientCertAuthorityOcspTlsTrustedCommonName.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/clientCertAuthorities/{certAuthorityName}/ocspTlsTrustedCommonNames/{ocspTlsTrustedCommonName}", PostPathTemplate: "/clientCertAuthorities/{certAuthorityName}/ocspTlsTrustedCommonNames", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/DmrCluster.go b/internal/broker/generated/DmrCluster.go index f34ed7b6..c7e781d6 100644 --- a/internal/broker/generated/DmrCluster.go +++ b/internal/broker/generated/DmrCluster.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Cluster is a provisioned object on a message broker that contains global DMR configuration parameters.\n\n\nAttribute|Identifying|Write-Only|Deprecated|Opaque\n:---|:---:|:---:|:---:|:---:\nauthentication_basic_password||x||x\nauthentication_client_cert_content||x||x\nauthentication_client_cert_password||x||\ndmr_cluster_name|x|||\ntls_server_cert_enforce_trusted_common_name_enabled|||x|\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.11.", ObjectType: broker.StandardObject, PathTemplate: "/dmrClusters/{dmrClusterName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/DmrClusterCertMatchingRule.go b/internal/broker/generated/DmrClusterCertMatchingRule.go index cce961a1..d57791fa 100644 --- a/internal/broker/generated/DmrClusterCertMatchingRule.go +++ b/internal/broker/generated/DmrClusterCertMatchingRule.go @@ -30,7 +30,7 @@ func init() { MarkdownDescription: "A Cert Matching Rule is a collection of conditions and attribute filters that all have to be satisfied for certificate to be acceptable as authentication for a given link.\n\n\nAttribute|Identifying\n:---|:---:\ndmr_cluster_name|x\nrule_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.28.", ObjectType: broker.StandardObject, PathTemplate: "/dmrClusters/{dmrClusterName}/certMatchingRules/{ruleName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/DmrClusterCertMatchingRuleAttributeFilter.go b/internal/broker/generated/DmrClusterCertMatchingRuleAttributeFilter.go index 6ec94dac..474b0dfb 100644 --- a/internal/broker/generated/DmrClusterCertMatchingRuleAttributeFilter.go +++ b/internal/broker/generated/DmrClusterCertMatchingRuleAttributeFilter.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Cert Matching Rule Attribute Filter compares a link attribute to a string.\n\n\nAttribute|Identifying\n:---|:---:\ndmr_cluster_name|x\nfilter_name|x\nrule_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.28.", ObjectType: broker.StandardObject, PathTemplate: "/dmrClusters/{dmrClusterName}/certMatchingRules/{ruleName}/attributeFilters/{filterName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/DmrClusterCertMatchingRuleCondition.go b/internal/broker/generated/DmrClusterCertMatchingRuleCondition.go index 9f01f88e..fff95b88 100644 --- a/internal/broker/generated/DmrClusterCertMatchingRuleCondition.go +++ b/internal/broker/generated/DmrClusterCertMatchingRuleCondition.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/dmrClusters/{dmrClusterName}/certMatchingRules/{ruleName}/conditions/{source}", PostPathTemplate: "/dmrClusters/{dmrClusterName}/certMatchingRules/{ruleName}/conditions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/DmrClusterLink.go b/internal/broker/generated/DmrClusterLink.go index d182e4da..1304a957 100644 --- a/internal/broker/generated/DmrClusterLink.go +++ b/internal/broker/generated/DmrClusterLink.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Link connects nodes (either within a Cluster or between two different Clusters) and allows them to exchange topology information, subscriptions and data.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nauthentication_basic_password||x|x\ndmr_cluster_name|x||\nremote_node_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.11.", ObjectType: broker.StandardObject, PathTemplate: "/dmrClusters/{dmrClusterName}/links/{remoteNodeName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -340,13 +340,13 @@ func init() { BaseType: broker.Struct, SempName: "queueEventSpoolUsageThreshold", TerraformName: "queue_event_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of the Queue, relative to `queue_max_msg_spool_usage`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `1`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -389,7 +389,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `2`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/DmrClusterLinkAttribute.go b/internal/broker/generated/DmrClusterLinkAttribute.go index 1e4f001d..3e51974d 100644 --- a/internal/broker/generated/DmrClusterLinkAttribute.go +++ b/internal/broker/generated/DmrClusterLinkAttribute.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/dmrClusters/{dmrClusterName}/links/{remoteNodeName}/attributes/{attributeName},{attributeValue}", PostPathTemplate: "/dmrClusters/{dmrClusterName}/links/{remoteNodeName}/attributes", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/DmrClusterLinkRemoteAddress.go b/internal/broker/generated/DmrClusterLinkRemoteAddress.go index 2cb6b19d..c3a180ce 100644 --- a/internal/broker/generated/DmrClusterLinkRemoteAddress.go +++ b/internal/broker/generated/DmrClusterLinkRemoteAddress.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/dmrClusters/{dmrClusterName}/links/{remoteNodeName}/remoteAddresses/{remoteAddress}", PostPathTemplate: "/dmrClusters/{dmrClusterName}/links/{remoteNodeName}/remoteAddresses", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/DomainCertAuthority.go b/internal/broker/generated/DomainCertAuthority.go index d84b20c5..d5fa86eb 100644 --- a/internal/broker/generated/DomainCertAuthority.go +++ b/internal/broker/generated/DomainCertAuthority.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "Certificate Authorities trusted for domain verification.\n\n\nAttribute|Identifying\n:---|:---:\ncert_authority_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.19.", ObjectType: broker.StandardObject, PathTemplate: "/domainCertAuthorities/{certAuthorityName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpn.go b/internal/broker/generated/MsgVpn.go index 78c3ab4a..8edac5ae 100644 --- a/internal/broker/generated/MsgVpn.go +++ b/internal/broker/generated/MsgVpn.go @@ -34,7 +34,7 @@ func init() { MarkdownDescription: "Message VPNs (Virtual Private Networks) allow for the segregation of topic space and clients. They also group clients connecting to a network of message brokers, such that messages published within a particular group are only visible to that group's clients.\n\n\nAttribute|Identifying|Write-Only|Deprecated|Opaque\n:---|:---:|:---:|:---:|:---:\nauthentication_oauth_default_provider_name|||x|\nbridging_tls_server_cert_enforce_trusted_common_name_enabled|||x|\ndistributed_cache_management_enabled|||x|\nmsg_vpn_name|x|||\nreplication_bridge_authentication_basic_password||x||x\nreplication_bridge_authentication_client_cert_content||x||x\nreplication_bridge_authentication_client_cert_password||x||\nreplication_enabled_queue_behavior||x||\nrest_tls_server_cert_enforce_trusted_common_name_enabled|||x|\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -337,13 +337,13 @@ func init() { BaseType: broker.Struct, SempName: "eventConnectionCountThreshold", TerraformName: "event_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the client connection count event of the Message VPN, relative to `max_connection_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -386,7 +386,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -431,13 +431,13 @@ func init() { BaseType: broker.Struct, SempName: "eventEgressFlowCountThreshold", TerraformName: "event_egress_flow_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the egress flow count event of the Message VPN, relative to `max_egress_flow_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -480,7 +480,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -525,13 +525,13 @@ func init() { BaseType: broker.Struct, SempName: "eventEgressMsgRateThreshold", TerraformName: "event_egress_msg_rate_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the egress message rate event of the Message VPN.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearValue", TerraformName: "clear_value", - MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `3000000`.", Requires: []string{"set_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -548,7 +548,7 @@ func init() { BaseType: broker.Int64, SempName: "setValue", TerraformName: "set_value", - MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `4000000`.", Requires: []string{"clear_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -567,13 +567,13 @@ func init() { BaseType: broker.Struct, SempName: "eventEndpointCountThreshold", TerraformName: "event_endpoint_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Queues and Topic Endpoints count event of the Message VPN, relative to `max_endpoint_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -616,7 +616,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -661,13 +661,13 @@ func init() { BaseType: broker.Struct, SempName: "eventIngressFlowCountThreshold", TerraformName: "event_ingress_flow_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the receive flow count event of the Message VPN, relative to `max_ingress_flow_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -710,7 +710,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -755,13 +755,13 @@ func init() { BaseType: broker.Struct, SempName: "eventIngressMsgRateThreshold", TerraformName: "event_ingress_msg_rate_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the receive message rate event of the Message VPN.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearValue", TerraformName: "clear_value", - MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `3000000`.", Requires: []string{"set_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -778,7 +778,7 @@ func init() { BaseType: broker.Int64, SempName: "setValue", TerraformName: "set_value", - MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `4000000`.", Requires: []string{"clear_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -823,13 +823,13 @@ func init() { BaseType: broker.Struct, SempName: "eventMsgSpoolUsageThreshold", TerraformName: "event_msg_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of the Message VPN, relative to `max_msg_spool_usage`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -872,7 +872,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -982,13 +982,13 @@ func init() { BaseType: broker.Struct, SempName: "eventServiceAmqpConnectionCountThreshold", TerraformName: "event_service_amqp_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the AMQP client connection count event of the Message VPN, relative to `service_amqp_max_connection_count`. Available since SEMP API version 2.7.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1031,7 +1031,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1076,13 +1076,13 @@ func init() { BaseType: broker.Struct, SempName: "eventServiceMqttConnectionCountThreshold", TerraformName: "event_service_mqtt_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the MQTT client connection count event of the Message VPN, relative to `service_mqtt_max_connection_count`. Available since SEMP API version 2.1.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1125,7 +1125,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1170,13 +1170,13 @@ func init() { BaseType: broker.Struct, SempName: "eventServiceRestIncomingConnectionCountThreshold", TerraformName: "event_service_rest_incoming_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the incoming REST client connection count event of the Message VPN, relative to `service_rest_incoming_max_connection_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1219,7 +1219,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1264,13 +1264,13 @@ func init() { BaseType: broker.Struct, SempName: "eventServiceSmfConnectionCountThreshold", TerraformName: "event_service_smf_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the SMF client connection count event of the Message VPN, relative to `service_smf_max_connection_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1313,7 +1313,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1358,13 +1358,13 @@ func init() { BaseType: broker.Struct, SempName: "eventServiceWebConnectionCountThreshold", TerraformName: "event_service_web_connection_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Web Transport client connection count event of the Message VPN, relative to `service_web_max_connection_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1407,7 +1407,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1452,13 +1452,13 @@ func init() { BaseType: broker.Struct, SempName: "eventSubscriptionCountThreshold", TerraformName: "event_subscription_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the subscription count event of the Message VPN, relative to `max_subscription_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1501,7 +1501,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1546,13 +1546,13 @@ func init() { BaseType: broker.Struct, SempName: "eventTransactedSessionCountThreshold", TerraformName: "event_transacted_session_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transacted session count event of the Message VPN, relative to `max_transacted_session_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1595,7 +1595,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1640,13 +1640,13 @@ func init() { BaseType: broker.Struct, SempName: "eventTransactionCountThreshold", TerraformName: "event_transaction_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transaction count event of the Message VPN, relative to `max_transaction_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1689,7 +1689,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/MsgVpnAclProfile.go b/internal/broker/generated/MsgVpnAclProfile.go index a74a1790..35469862 100644 --- a/internal/broker/generated/MsgVpnAclProfile.go +++ b/internal/broker/generated/MsgVpnAclProfile.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "An ACL Profile controls whether an authenticated client is permitted to establish a connection with the message broker or permitted to publish and subscribe to specific topics.\n\n\nAttribute|Identifying\n:---|:---:\nacl_profile_name|x\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAclProfileClientConnectException.go b/internal/broker/generated/MsgVpnAclProfileClientConnectException.go index 2c42ba1e..ec84be6a 100644 --- a/internal/broker/generated/MsgVpnAclProfileClientConnectException.go +++ b/internal/broker/generated/MsgVpnAclProfileClientConnectException.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/clientConnectExceptions/{clientConnectExceptionAddress}", PostPathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/clientConnectExceptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAclProfilePublishTopicException.go b/internal/broker/generated/MsgVpnAclProfilePublishTopicException.go index 06d6956e..83d37215 100644 --- a/internal/broker/generated/MsgVpnAclProfilePublishTopicException.go +++ b/internal/broker/generated/MsgVpnAclProfilePublishTopicException.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/publishTopicExceptions/{publishTopicExceptionSyntax},{publishTopicException}", PostPathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/publishTopicExceptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAclProfileSubscribeShareNameException.go b/internal/broker/generated/MsgVpnAclProfileSubscribeShareNameException.go index c5b93cb8..7e4c7493 100644 --- a/internal/broker/generated/MsgVpnAclProfileSubscribeShareNameException.go +++ b/internal/broker/generated/MsgVpnAclProfileSubscribeShareNameException.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/subscribeShareNameExceptions/{subscribeShareNameExceptionSyntax},{subscribeShareNameException}", PostPathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/subscribeShareNameExceptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAclProfileSubscribeTopicException.go b/internal/broker/generated/MsgVpnAclProfileSubscribeTopicException.go index 065951ea..904966b0 100644 --- a/internal/broker/generated/MsgVpnAclProfileSubscribeTopicException.go +++ b/internal/broker/generated/MsgVpnAclProfileSubscribeTopicException.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/subscribeTopicExceptions/{subscribeTopicExceptionSyntax},{subscribeTopicException}", PostPathTemplate: "/msgVpns/{msgVpnName}/aclProfiles/{aclProfileName}/subscribeTopicExceptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAuthenticationOauthProfile.go b/internal/broker/generated/MsgVpnAuthenticationOauthProfile.go index 945a67b2..9ebd3213 100644 --- a/internal/broker/generated/MsgVpnAuthenticationOauthProfile.go +++ b/internal/broker/generated/MsgVpnAuthenticationOauthProfile.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "OAuth profiles specify how to securely authenticate to an OAuth provider.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nclient_secret||x|x\nmsg_vpn_name|x||\noauth_profile_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.25.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/authenticationOauthProfiles/{oauthProfileName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAuthenticationOauthProfileClientRequiredClaim.go b/internal/broker/generated/MsgVpnAuthenticationOauthProfileClientRequiredClaim.go index 17517080..b9234153 100644 --- a/internal/broker/generated/MsgVpnAuthenticationOauthProfileClientRequiredClaim.go +++ b/internal/broker/generated/MsgVpnAuthenticationOauthProfileClientRequiredClaim.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/authenticationOauthProfiles/{oauthProfileName}/clientRequiredClaims/{clientRequiredClaimName}", PostPathTemplate: "/msgVpns/{msgVpnName}/authenticationOauthProfiles/{oauthProfileName}/clientRequiredClaims", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAuthenticationOauthProfileResourceServerRequiredClaim.go b/internal/broker/generated/MsgVpnAuthenticationOauthProfileResourceServerRequiredClaim.go index ef555ff6..b275d740 100644 --- a/internal/broker/generated/MsgVpnAuthenticationOauthProfileResourceServerRequiredClaim.go +++ b/internal/broker/generated/MsgVpnAuthenticationOauthProfileResourceServerRequiredClaim.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/authenticationOauthProfiles/{oauthProfileName}/resourceServerRequiredClaims/{resourceServerRequiredClaimName}", PostPathTemplate: "/msgVpns/{msgVpnName}/authenticationOauthProfiles/{oauthProfileName}/resourceServerRequiredClaims", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnAuthorizationGroup.go b/internal/broker/generated/MsgVpnAuthorizationGroup.go index f6d34d43..417ceeb9 100644 --- a/internal/broker/generated/MsgVpnAuthorizationGroup.go +++ b/internal/broker/generated/MsgVpnAuthorizationGroup.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "To use client authorization groups configured on an external server to provide client authorizations, Authorization Group objects must be created on the Message VPN that match the authorization groups provisioned on the external server. These objects must be configured with the client profiles and ACL profiles that will be assigned to the clients that belong to those authorization groups. A newly created group is placed at the end of the group list which is the lowest priority.\n\n\nAttribute|Identifying|Write-Only\n:---|:---:|:---:\nauthorization_group_name|x|\nmsg_vpn_name|x|\norder_after_authorization_group_name||x\norder_before_authorization_group_name||x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/authorizationGroups/{authorizationGroupName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnBridge.go b/internal/broker/generated/MsgVpnBridge.go index 1f7b2953..210ddf59 100644 --- a/internal/broker/generated/MsgVpnBridge.go +++ b/internal/broker/generated/MsgVpnBridge.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "Bridges can be used to link two Message VPNs so that messages published to one Message VPN that match the topic subscriptions set for the bridge are also delivered to the linked Message VPN.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nbridge_name|x||\nbridge_virtual_router|x||\nmsg_vpn_name|x||\nremote_authentication_basic_password||x|x\nremote_authentication_client_cert_content||x|x\nremote_authentication_client_cert_password||x|\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/bridges/{bridgeName},{bridgeVirtualRouter}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnBridgeRemoteMsgVpn.go b/internal/broker/generated/MsgVpnBridgeRemoteMsgVpn.go index 9ae1ab14..63eae0f3 100644 --- a/internal/broker/generated/MsgVpnBridgeRemoteMsgVpn.go +++ b/internal/broker/generated/MsgVpnBridgeRemoteMsgVpn.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "The Remote Message VPN is the Message VPN that the Bridge connects to.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nbridge_name|x||\nbridge_virtual_router|x||\nmsg_vpn_name|x||\npassword||x|x\nremote_msg_vpn_interface|x||\nremote_msg_vpn_location|x||\nremote_msg_vpn_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/bridges/{bridgeName},{bridgeVirtualRouter}/remoteMsgVpns/{remoteMsgVpnName},{remoteMsgVpnLocation},{remoteMsgVpnInterface}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -187,7 +187,6 @@ func init() { TerraformName: "remote_msg_vpn_interface", MarkdownDescription: "The physical interface on the local Message VPN host for connecting to the remote Message VPN. By default, an interface is chosen automatically (recommended), but if specified, `remote_msg_vpn_location` must not be a virtual router name.", Identifying: true, - Required: true, RequiresReplace: true, Type: types.StringType, TerraformType: tftypes.String, diff --git a/internal/broker/generated/MsgVpnBridgeRemoteSubscription.go b/internal/broker/generated/MsgVpnBridgeRemoteSubscription.go index caf38022..800ed51c 100644 --- a/internal/broker/generated/MsgVpnBridgeRemoteSubscription.go +++ b/internal/broker/generated/MsgVpnBridgeRemoteSubscription.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/bridges/{bridgeName},{bridgeVirtualRouter}/remoteSubscriptions/{remoteSubscriptionTopic}", PostPathTemplate: "/msgVpns/{msgVpnName}/bridges/{bridgeName},{bridgeVirtualRouter}/remoteSubscriptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnCertMatchingRule.go b/internal/broker/generated/MsgVpnCertMatchingRule.go index 9df99209..5a63d825 100644 --- a/internal/broker/generated/MsgVpnCertMatchingRule.go +++ b/internal/broker/generated/MsgVpnCertMatchingRule.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Cert Matching Rule is a collection of conditions and attribute filters that all have to be satisfied for certificate to be acceptable as authentication for a given username.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nrule_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.27.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/certMatchingRules/{ruleName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/MsgVpnCertMatchingRuleAttributeFilter.go b/internal/broker/generated/MsgVpnCertMatchingRuleAttributeFilter.go index 11ebb846..9ad6a846 100644 --- a/internal/broker/generated/MsgVpnCertMatchingRuleAttributeFilter.go +++ b/internal/broker/generated/MsgVpnCertMatchingRuleAttributeFilter.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Cert Matching Rule Attribute Filter compares a username attribute to a string.\n\n\nAttribute|Identifying\n:---|:---:\nfilter_name|x\nmsg_vpn_name|x\nrule_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.28.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/certMatchingRules/{ruleName}/attributeFilters/{filterName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnCertMatchingRuleCondition.go b/internal/broker/generated/MsgVpnCertMatchingRuleCondition.go index 644d0fc9..7e9fe92e 100644 --- a/internal/broker/generated/MsgVpnCertMatchingRuleCondition.go +++ b/internal/broker/generated/MsgVpnCertMatchingRuleCondition.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/certMatchingRules/{ruleName}/conditions/{source}", PostPathTemplate: "/msgVpns/{msgVpnName}/certMatchingRules/{ruleName}/conditions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnClientProfile.go b/internal/broker/generated/MsgVpnClientProfile.go index bacba988..ebba8d57 100644 --- a/internal/broker/generated/MsgVpnClientProfile.go +++ b/internal/broker/generated/MsgVpnClientProfile.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "Client Profiles are used to assign common configuration properties to clients that have been successfully authorized.\n\n\nAttribute|Identifying|Deprecated\n:---|:---:|:---:\nallow_cut_through_forwarding_enabled||x\napi_queue_management_copy_from_on_create_name||x\napi_topic_endpoint_management_copy_from_on_create_name||x\nclient_profile_name|x|\nmsg_vpn_name|x|\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/clientProfiles/{clientProfileName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, @@ -202,13 +202,13 @@ func init() { BaseType: broker.Struct, SempName: "eventClientProvisionedEndpointSpoolUsageThreshold", TerraformName: "event_client_provisioned_endpoint_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of Queues and Topic Endpoints provisioned by clients, relative to `max_msg_spool_usage` for these Queues and Topic Endpoints. Changing these values during operation does not affect existing sessions. For provisioned durable Queues and Topic Endpoints, this value applies when initially provisioned, but can then be changed afterwards by configuring the Queue or Topic Endpoint.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `18`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -225,7 +225,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `25`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -244,13 +244,13 @@ func init() { BaseType: broker.Struct, SempName: "eventConnectionCountPerClientUsernameThreshold", TerraformName: "event_connection_count_per_client_username_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Client Username connection count event of the Client Profile, relative to `max_connection_count_per_client_username`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -293,7 +293,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -338,13 +338,13 @@ func init() { BaseType: broker.Struct, SempName: "eventEgressFlowCountThreshold", TerraformName: "event_egress_flow_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transmit flow count event of the Client Profile, relative to `max_egress_flow_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -387,7 +387,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -432,13 +432,13 @@ func init() { BaseType: broker.Struct, SempName: "eventEndpointCountPerClientUsernameThreshold", TerraformName: "event_endpoint_count_per_client_username_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Client Username endpoint count event of the Client Profile, relative to `max_endpoint_count_per_client_username`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -481,7 +481,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -526,13 +526,13 @@ func init() { BaseType: broker.Struct, SempName: "eventIngressFlowCountThreshold", TerraformName: "event_ingress_flow_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the receive flow count event of the Client Profile, relative to `max_ingress_flow_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -575,7 +575,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -620,13 +620,13 @@ func init() { BaseType: broker.Struct, SempName: "eventServiceSmfConnectionCountPerClientUsernameThreshold", TerraformName: "event_service_smf_connection_count_per_client_username_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the client username SMF connection count event of the Client Profile, relative to `service_smf_max_connection_count_per_client_username`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -669,7 +669,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -714,13 +714,13 @@ func init() { BaseType: broker.Struct, SempName: "eventServiceWebConnectionCountPerClientUsernameThreshold", TerraformName: "event_service_web_connection_count_per_client_username_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Client Username Web Transport connection count event of the Client Profile, relative to `service_web_max_connection_count_per_client_username`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -763,7 +763,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -808,13 +808,13 @@ func init() { BaseType: broker.Struct, SempName: "eventSubscriptionCountThreshold", TerraformName: "event_subscription_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the subscription count event of the Client Profile, relative to `max_subscription_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -857,7 +857,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -902,13 +902,13 @@ func init() { BaseType: broker.Struct, SempName: "eventTransactedSessionCountThreshold", TerraformName: "event_transacted_session_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transacted session count event of the Client Profile, relative to `max_transacted_session_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -951,7 +951,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -996,13 +996,13 @@ func init() { BaseType: broker.Struct, SempName: "eventTransactionCountThreshold", TerraformName: "event_transaction_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the transaction count event of the Client Profile, relative to `max_transaction_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -1045,7 +1045,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/MsgVpnClientUsername.go b/internal/broker/generated/MsgVpnClientUsername.go index a1d63ca7..2517775b 100644 --- a/internal/broker/generated/MsgVpnClientUsername.go +++ b/internal/broker/generated/MsgVpnClientUsername.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A client is only authorized to connect to a Message VPN that is associated with a Client Username that the client has been assigned.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nclient_username|x||\nmsg_vpn_name|x||\npassword||x|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/clientUsernames/{clientUsername}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnClientUsernameAttribute.go b/internal/broker/generated/MsgVpnClientUsernameAttribute.go index cf3dcc0c..76539ca9 100644 --- a/internal/broker/generated/MsgVpnClientUsernameAttribute.go +++ b/internal/broker/generated/MsgVpnClientUsernameAttribute.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/clientUsernames/{clientUsername}/attributes/{attributeName},{attributeValue}", PostPathTemplate: "/msgVpns/{msgVpnName}/clientUsernames/{clientUsername}/attributes", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnDistributedCache.go b/internal/broker/generated/MsgVpnDistributedCache.go index 2bb8be6e..8d4938da 100644 --- a/internal/broker/generated/MsgVpnDistributedCache.go +++ b/internal/broker/generated/MsgVpnDistributedCache.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Distributed Cache is a collection of one or more Cache Clusters that belong to the same Message VPN. Each Cache Cluster in a Distributed Cache is configured to subscribe to a different set of topics. This effectively divides up the configured topic space, to provide scaling to very large topic spaces or very high cached message throughput.\n\n\nAttribute|Identifying\n:---|:---:\ncache_name|x\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.11.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnDistributedCacheCluster.go b/internal/broker/generated/MsgVpnDistributedCacheCluster.go index 9765d96b..ba6bc208 100644 --- a/internal/broker/generated/MsgVpnDistributedCacheCluster.go +++ b/internal/broker/generated/MsgVpnDistributedCacheCluster.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Cache Cluster is a collection of one or more Cache Instances that subscribe to exactly the same topics. Cache Instances are grouped together in a Cache Cluster for the purpose of fault tolerance and load balancing. As published messages are received, the message broker message bus sends these live data messages to the Cache Instances in the Cache Cluster. This enables client cache requests to be served by any of Cache Instances in the Cache Cluster.\n\n\nAttribute|Identifying\n:---|:---:\ncache_name|x\ncluster_name|x\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.11.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -92,13 +92,13 @@ func init() { BaseType: broker.Struct, SempName: "eventDataByteRateThreshold", TerraformName: "event_data_byte_rate_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the cached data incoming byte rate event, in bytes per second.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearValue", TerraformName: "clear_value", - MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `187500000`.", Requires: []string{"set_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -115,7 +115,7 @@ func init() { BaseType: broker.Int64, SempName: "setValue", TerraformName: "set_value", - MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `250000000`.", Requires: []string{"clear_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -134,13 +134,13 @@ func init() { BaseType: broker.Struct, SempName: "eventDataMsgRateThreshold", TerraformName: "event_data_msg_rate_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the cached data incoming message rate event, in messages per second.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearValue", TerraformName: "clear_value", - MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `36000`.", Requires: []string{"set_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -157,7 +157,7 @@ func init() { BaseType: broker.Int64, SempName: "setValue", TerraformName: "set_value", - MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `48000`.", Requires: []string{"clear_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -176,13 +176,13 @@ func init() { BaseType: broker.Struct, SempName: "eventMaxMemoryThreshold", TerraformName: "event_max_memory_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the memory usage per instance event, relative to `max_memory`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -199,7 +199,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -218,13 +218,13 @@ func init() { BaseType: broker.Struct, SempName: "eventMaxTopicsThreshold", TerraformName: "event_max_topics_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the topics per instance event, relative to `max_topic_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -241,7 +241,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -260,13 +260,13 @@ func init() { BaseType: broker.Struct, SempName: "eventRequestQueueDepthThreshold", TerraformName: "event_request_queue_depth_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the request queue depth event, relative to `max_request_queue_depth`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. The default value is: `60`.", Requires: []string{"set_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -283,7 +283,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. The default value is: `80`.", Requires: []string{"clear_percent"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -302,13 +302,13 @@ func init() { BaseType: broker.Struct, SempName: "eventRequestRateThreshold", TerraformName: "event_request_rate_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the cache request message rate event, in messages per second.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearValue", TerraformName: "clear_value", - MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `1000`.", Requires: []string{"set_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -325,7 +325,7 @@ func init() { BaseType: broker.Int64, SempName: "setValue", TerraformName: "set_value", - MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `25000`.", Requires: []string{"clear_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -344,13 +344,13 @@ func init() { BaseType: broker.Struct, SempName: "eventResponseRateThreshold", TerraformName: "event_response_rate_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the cache response message rate event, in messages per second.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearValue", TerraformName: "clear_value", - MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event.", + MarkdownDescription: "The clear threshold for the absolute value of this counter or rate. Falling below this value will trigger a corresponding event. The default value is: `1000`.", Requires: []string{"set_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, @@ -367,7 +367,7 @@ func init() { BaseType: broker.Int64, SempName: "setValue", TerraformName: "set_value", - MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event.", + MarkdownDescription: "The set threshold for the absolute value of this counter or rate. Exceeding this value will trigger a corresponding event. The default value is: `80000`.", Requires: []string{"clear_value"}, Type: types.Int64Type, TerraformType: tftypes.Number, diff --git a/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeCluster.go b/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeCluster.go index 887f090e..d1b1f0ef 100644 --- a/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeCluster.go +++ b/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeCluster.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}/globalCachingHomeClusters/{homeClusterName}", PostPathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}/globalCachingHomeClusters", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeClusterTopicPrefix.go b/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeClusterTopicPrefix.go index f8c46e00..5ca2ca7f 100644 --- a/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeClusterTopicPrefix.go +++ b/internal/broker/generated/MsgVpnDistributedCacheClusterGlobalCachingHomeClusterTopicPrefix.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}/globalCachingHomeClusters/{homeClusterName}/topicPrefixes/{topicPrefix}", PostPathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}/globalCachingHomeClusters/{homeClusterName}/topicPrefixes", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnDistributedCacheClusterInstance.go b/internal/broker/generated/MsgVpnDistributedCacheClusterInstance.go index 2e77d0dd..0e3e7a93 100644 --- a/internal/broker/generated/MsgVpnDistributedCacheClusterInstance.go +++ b/internal/broker/generated/MsgVpnDistributedCacheClusterInstance.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Cache Instance is a single Cache process that belongs to a single Cache Cluster. A Cache Instance object provisioned on the broker is used to disseminate configuration information to the Cache process. Cache Instances listen for and cache live data messages that match the topic subscriptions configured for their parent Cache Cluster.\n\n\nAttribute|Identifying\n:---|:---:\ncache_name|x\ncluster_name|x\ninstance_name|x\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.11.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}/instances/{instanceName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/MsgVpnDistributedCacheClusterTopic.go b/internal/broker/generated/MsgVpnDistributedCacheClusterTopic.go index 64a8d2af..9259a50d 100644 --- a/internal/broker/generated/MsgVpnDistributedCacheClusterTopic.go +++ b/internal/broker/generated/MsgVpnDistributedCacheClusterTopic.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}/topics/{topic}", PostPathTemplate: "/msgVpns/{msgVpnName}/distributedCaches/{cacheName}/clusters/{clusterName}/topics", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnDmrBridge.go b/internal/broker/generated/MsgVpnDmrBridge.go index 16e7e0fd..adec08ae 100644 --- a/internal/broker/generated/MsgVpnDmrBridge.go +++ b/internal/broker/generated/MsgVpnDmrBridge.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A DMR Bridge is required to establish a data channel over a corresponding external link to the remote node for a given Message VPN. Each DMR Bridge identifies which external link the Message VPN should use, and what the name of the equivalent Message VPN at the remote node is.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nremote_node_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.11.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/dmrBridges/{remoteNodeName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnJndiConnectionFactory.go b/internal/broker/generated/MsgVpnJndiConnectionFactory.go index 3cfad7b2..9c35d590 100644 --- a/internal/broker/generated/MsgVpnJndiConnectionFactory.go +++ b/internal/broker/generated/MsgVpnJndiConnectionFactory.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "The message broker provides an internal JNDI store for provisioned Connection Factory objects that clients can access through JNDI lookups.\n\n\nAttribute|Identifying\n:---|:---:\nconnection_factory_name|x\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.2.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/jndiConnectionFactories/{connectionFactoryName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/MsgVpnJndiQueue.go b/internal/broker/generated/MsgVpnJndiQueue.go index 9835cee8..375c65a1 100644 --- a/internal/broker/generated/MsgVpnJndiQueue.go +++ b/internal/broker/generated/MsgVpnJndiQueue.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "The message broker provides an internal JNDI store for provisioned Queue objects that clients can access through JNDI lookups.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nqueue_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.2.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/jndiQueues/{queueName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnJndiTopic.go b/internal/broker/generated/MsgVpnJndiTopic.go index a62dd87a..d1738606 100644 --- a/internal/broker/generated/MsgVpnJndiTopic.go +++ b/internal/broker/generated/MsgVpnJndiTopic.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "The message broker provides an internal JNDI store for provisioned Topic objects that clients can access through JNDI lookups.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\ntopic_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.2.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/jndiTopics/{topicName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnKafkaReceiver.go b/internal/broker/generated/MsgVpnKafkaReceiver.go index 68a8d47a..a323139b 100644 --- a/internal/broker/generated/MsgVpnKafkaReceiver.go +++ b/internal/broker/generated/MsgVpnKafkaReceiver.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Kafka Receiver receives messages from a Kafka Cluster.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nauthentication_basic_password||x|x\nauthentication_client_cert_content||x|x\nauthentication_client_cert_password||x|\nauthentication_oauth_client_secret||x|x\nauthentication_scram_password||x|x\nkafka_receiver_name|x||\nmsg_vpn_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.36.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/kafkaReceivers/{kafkaReceiverName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnKafkaReceiverTopicBinding.go b/internal/broker/generated/MsgVpnKafkaReceiverTopicBinding.go index f6ed2898..f7c62122 100644 --- a/internal/broker/generated/MsgVpnKafkaReceiverTopicBinding.go +++ b/internal/broker/generated/MsgVpnKafkaReceiverTopicBinding.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Topic Binding receives messages from a remote Kafka Topic.\n\n\nAttribute|Identifying\n:---|:---:\nkafka_receiver_name|x\nmsg_vpn_name|x\ntopic_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.36.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/kafkaReceivers/{kafkaReceiverName}/topicBindings/{topicName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/MsgVpnKafkaSender.go b/internal/broker/generated/MsgVpnKafkaSender.go index 155b6753..c07291f2 100644 --- a/internal/broker/generated/MsgVpnKafkaSender.go +++ b/internal/broker/generated/MsgVpnKafkaSender.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Kafka Sender sends messages to a Kafka Cluster.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nauthentication_basic_password||x|x\nauthentication_client_cert_content||x|x\nauthentication_client_cert_password||x|\nauthentication_oauth_client_secret||x|x\nauthentication_scram_password||x|x\nkafka_sender_name|x||\nmsg_vpn_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.36.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/kafkaSenders/{kafkaSenderName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnKafkaSenderQueueBinding.go b/internal/broker/generated/MsgVpnKafkaSenderQueueBinding.go index 4335c034..12c14590 100644 --- a/internal/broker/generated/MsgVpnKafkaSenderQueueBinding.go +++ b/internal/broker/generated/MsgVpnKafkaSenderQueueBinding.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "A Queue Binding sends messages from a local Solace Queue to a remote Kafka topic.\n\n\nAttribute|Identifying\n:---|:---:\nkafka_sender_name|x\nmsg_vpn_name|x\nqueue_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.36.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/kafkaSenders/{kafkaSenderName}/queueBindings/{queueName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnMqttRetainCache.go b/internal/broker/generated/MsgVpnMqttRetainCache.go index 0891d8db..3a73ff78 100644 --- a/internal/broker/generated/MsgVpnMqttRetainCache.go +++ b/internal/broker/generated/MsgVpnMqttRetainCache.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "Using MQTT retained messages allows publishing MQTT clients to indicate that a message must be stored for later delivery to subscribing clients when those subscribing clients add subscriptions matching the retained message's topic. An MQTT Retain Cache processes all retained messages for a Message VPN.\n\n\nAttribute|Identifying\n:---|:---:\ncache_name|x\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.11.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/mqttRetainCaches/{cacheName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnMqttSession.go b/internal/broker/generated/MsgVpnMqttSession.go index 85382b88..47910b4d 100644 --- a/internal/broker/generated/MsgVpnMqttSession.go +++ b/internal/broker/generated/MsgVpnMqttSession.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "An MQTT Session object is a virtual representation of an MQTT client connection. An MQTT session holds the state of an MQTT client (that is, it is used to contain a client's QoS 0 and QoS 1 subscription sets and any undelivered QoS 1 messages).\n\n\nAttribute|Identifying\n:---|:---:\nmqtt_session_client_id|x\nmqtt_session_virtual_router|x\nmsg_vpn_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.1.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/mqttSessions/{mqttSessionClientId},{mqttSessionVirtualRouter}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, @@ -133,13 +133,13 @@ func init() { BaseType: broker.Struct, SempName: "queueEventBindCountThreshold", TerraformName: "queue_event_bind_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "Thresholds for the high number of the MQTT Session Queue Consumers Event, relative to `queue_max_bind_count`. Available since SEMP API version 2.14.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -182,7 +182,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -227,13 +227,13 @@ func init() { BaseType: broker.Struct, SempName: "queueEventMsgSpoolUsageThreshold", TerraformName: "queue_event_msg_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The threshold for the Message Spool usage event of the MQTT Session Queue, relative to `queue_max_msg_spool_usage`. Available since SEMP API version 2.14.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -276,7 +276,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -321,13 +321,13 @@ func init() { BaseType: broker.Struct, SempName: "queueEventRejectLowPriorityMsgLimitThreshold", TerraformName: "queue_event_reject_low_priority_msg_limit_threshold", - MarkdownDescription: "", + MarkdownDescription: "The threshold for the maximum allowed number of any priority messages queued in the MQTT Session Queue, relative to `queue_reject_low_priority_msg_limit`. Available since SEMP API version 2.14.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -370,7 +370,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/MsgVpnMqttSessionSubscription.go b/internal/broker/generated/MsgVpnMqttSessionSubscription.go index 871dcf3d..6d7633e4 100644 --- a/internal/broker/generated/MsgVpnMqttSessionSubscription.go +++ b/internal/broker/generated/MsgVpnMqttSessionSubscription.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "An MQTT session contains a client's QoS 0 and QoS 1 subscription sets. On creation, a subscription defaults to QoS 0.\n\n\nAttribute|Identifying\n:---|:---:\nmqtt_session_client_id|x\nmqtt_session_virtual_router|x\nmsg_vpn_name|x\nsubscription_topic|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.1.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/mqttSessions/{mqttSessionClientId},{mqttSessionVirtualRouter}/subscriptions/{subscriptionTopic}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnProxy.go b/internal/broker/generated/MsgVpnProxy.go index 2bf675b3..fd6e56de 100644 --- a/internal/broker/generated/MsgVpnProxy.go +++ b/internal/broker/generated/MsgVpnProxy.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "Proxy objects define the connection parameters for a proxy server. To use a proxy for a particular connection such as a REST Consumer, select the proxy by name in the configuration for that object.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nauthentication_basic_password||x|x\nmsg_vpn_name|x||\nproxy_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.36.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/proxies/{proxyName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnQueue.go b/internal/broker/generated/MsgVpnQueue.go index bfb93a8d..fde57edd 100644 --- a/internal/broker/generated/MsgVpnQueue.go +++ b/internal/broker/generated/MsgVpnQueue.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Queue acts as both a destination that clients can publish messages to, and as an endpoint that clients can bind consumers to and consume messages from.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nqueue_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/queues/{queueName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -109,13 +109,13 @@ func init() { BaseType: broker.Struct, SempName: "eventBindCountThreshold", TerraformName: "event_bind_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Queue consumer flows event, relative to `max_bind_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -158,7 +158,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -203,13 +203,13 @@ func init() { BaseType: broker.Struct, SempName: "eventMsgSpoolUsageThreshold", TerraformName: "event_msg_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of the Queue, relative to `max_msg_spool_usage`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -252,7 +252,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -297,13 +297,13 @@ func init() { BaseType: broker.Struct, SempName: "eventRejectLowPriorityMsgLimitThreshold", TerraformName: "event_reject_low_priority_msg_limit_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the maximum allowed number of any priority messages queued in the Queue event, relative to `reject_low_priority_msg_limit`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -346,7 +346,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/MsgVpnQueueSubscription.go b/internal/broker/generated/MsgVpnQueueSubscription.go index 77394410..1436a5cd 100644 --- a/internal/broker/generated/MsgVpnQueueSubscription.go +++ b/internal/broker/generated/MsgVpnQueueSubscription.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/queues/{queueName}/subscriptions/{subscriptionTopic}", PostPathTemplate: "/msgVpns/{msgVpnName}/queues/{queueName}/subscriptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnQueueTemplate.go b/internal/broker/generated/MsgVpnQueueTemplate.go index 7007f94d..c131d41f 100644 --- a/internal/broker/generated/MsgVpnQueueTemplate.go +++ b/internal/broker/generated/MsgVpnQueueTemplate.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Queue Template provides a mechanism for specifying the initial state for client created queues.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nqueue_template_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.14.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/queueTemplates/{queueTemplateName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -102,13 +102,13 @@ func init() { BaseType: broker.Struct, SempName: "eventBindCountThreshold", TerraformName: "event_bind_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Queue consumer flows event, relative to `max_bind_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -151,7 +151,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -196,13 +196,13 @@ func init() { BaseType: broker.Struct, SempName: "eventMsgSpoolUsageThreshold", TerraformName: "event_msg_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of the Queue, relative to `max_msg_spool_usage`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -245,7 +245,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -290,13 +290,13 @@ func init() { BaseType: broker.Struct, SempName: "eventRejectLowPriorityMsgLimitThreshold", TerraformName: "event_reject_low_priority_msg_limit_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the maximum allowed number of any priority messages queued in the Queue event, relative to `reject_low_priority_msg_limit`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -339,7 +339,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/MsgVpnReplayLog.go b/internal/broker/generated/MsgVpnReplayLog.go index e24884c6..becf78e7 100644 --- a/internal/broker/generated/MsgVpnReplayLog.go +++ b/internal/broker/generated/MsgVpnReplayLog.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "When the Message Replay feature is enabled, message brokers store persistent messages in a Replay Log. These messages are kept until the log is full, after which the oldest messages are removed to free up space for new messages.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nreplay_log_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.10.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/replayLogs/{replayLogName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/MsgVpnReplayLogTopicFilterSubscription.go b/internal/broker/generated/MsgVpnReplayLogTopicFilterSubscription.go index 1ceb3ed3..c03fa4e1 100644 --- a/internal/broker/generated/MsgVpnReplayLogTopicFilterSubscription.go +++ b/internal/broker/generated/MsgVpnReplayLogTopicFilterSubscription.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/replayLogs/{replayLogName}/topicFilterSubscriptions/{topicFilterSubscription}", PostPathTemplate: "/msgVpns/{msgVpnName}/replayLogs/{replayLogName}/topicFilterSubscriptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnReplicatedTopic.go b/internal/broker/generated/MsgVpnReplicatedTopic.go index c3ecc8ef..899b36b2 100644 --- a/internal/broker/generated/MsgVpnReplicatedTopic.go +++ b/internal/broker/generated/MsgVpnReplicatedTopic.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "To indicate which messages should be replicated between the active and standby site, a Replicated Topic subscription must be configured on a Message VPN. If a published message matches both a replicated topic and an endpoint on the active site, then the message is replicated to the standby site.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nreplicated_topic|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.1.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/replicatedTopics/{replicatedTopic}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnRestDeliveryPoint.go b/internal/broker/generated/MsgVpnRestDeliveryPoint.go index 3e9325de..8269ce58 100644 --- a/internal/broker/generated/MsgVpnRestDeliveryPoint.go +++ b/internal/broker/generated/MsgVpnRestDeliveryPoint.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A REST Delivery Point manages delivery of messages from queues to a named list of REST Consumers.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nrest_delivery_point_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/restDeliveryPoints/{restDeliveryPointName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnRestDeliveryPointQueueBinding.go b/internal/broker/generated/MsgVpnRestDeliveryPointQueueBinding.go index 5e4a1298..10c195b8 100644 --- a/internal/broker/generated/MsgVpnRestDeliveryPointQueueBinding.go +++ b/internal/broker/generated/MsgVpnRestDeliveryPointQueueBinding.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Queue Binding for a REST Delivery Point attracts messages to be delivered to REST consumers. If the queue does not exist it can be created subsequently, and once the queue is operational the broker performs the queue binding. Removing the queue binding does not delete the queue itself. Similarly, removing the queue does not remove the queue binding, which fails until the queue is recreated or the queue binding is deleted.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\nqueue_binding_name|x\nrest_delivery_point_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/restDeliveryPoints/{restDeliveryPointName}/queueBindings/{queueBindingName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingProtectedRequestHeader.go b/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingProtectedRequestHeader.go index 20aa37bf..65708945 100644 --- a/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingProtectedRequestHeader.go +++ b/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingProtectedRequestHeader.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A protected request header to be added to the HTTP request. Unlike a non-protected request header, the header value cannot be displayed after it is set.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nheader_name|x||\nheader_value||x|x\nmsg_vpn_name|x||\nqueue_binding_name|x||\nrest_delivery_point_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.30.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/restDeliveryPoints/{restDeliveryPointName}/queueBindings/{queueBindingName}/protectedRequestHeaders/{headerName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingRequestHeader.go b/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingRequestHeader.go index 682259d0..e38957a7 100644 --- a/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingRequestHeader.go +++ b/internal/broker/generated/MsgVpnRestDeliveryPointQueueBindingRequestHeader.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A request header to be added to the HTTP request.\n\n\nAttribute|Identifying\n:---|:---:\nheader_name|x\nmsg_vpn_name|x\nqueue_binding_name|x\nrest_delivery_point_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.23.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/restDeliveryPoints/{restDeliveryPointName}/queueBindings/{queueBindingName}/requestHeaders/{headerName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumer.go b/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumer.go index a8d9a51e..1320c97c 100644 --- a/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumer.go +++ b/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumer.go @@ -34,7 +34,7 @@ func init() { MarkdownDescription: "REST Consumer objects establish HTTP connectivity to REST consumer applications who wish to receive messages from a broker.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nauthentication_aws_secret_access_key||x|x\nauthentication_client_cert_content||x|x\nauthentication_client_cert_password||x|\nauthentication_http_basic_password||x|x\nauthentication_http_header_value||x|x\nauthentication_oauth_client_secret||x|x\nauthentication_oauth_jwt_secret_key||x|x\nmsg_vpn_name|x||\nrest_consumer_name|x||\nrest_delivery_point_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.0.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/restDeliveryPoints/{restDeliveryPointName}/restConsumers/{restConsumerName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumerOauthJwtClaim.go b/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumerOauthJwtClaim.go index 79a53134..6ecc678e 100644 --- a/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumerOauthJwtClaim.go +++ b/internal/broker/generated/MsgVpnRestDeliveryPointRestConsumerOauthJwtClaim.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/restDeliveryPoints/{restDeliveryPointName}/restConsumers/{restConsumerName}/oauthJwtClaims/{oauthJwtClaimName}", PostPathTemplate: "/msgVpns/{msgVpnName}/restDeliveryPoints/{restDeliveryPointName}/restConsumers/{restConsumerName}/oauthJwtClaims", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnSequencedTopic.go b/internal/broker/generated/MsgVpnSequencedTopic.go index c2e13710..4c067b77 100644 --- a/internal/broker/generated/MsgVpnSequencedTopic.go +++ b/internal/broker/generated/MsgVpnSequencedTopic.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/sequencedTopics/{sequencedTopic}", PostPathTemplate: "/msgVpns/{msgVpnName}/sequencedTopics", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnTelemetryProfile.go b/internal/broker/generated/MsgVpnTelemetryProfile.go index a5b1707a..d40afe68 100644 --- a/internal/broker/generated/MsgVpnTelemetryProfile.go +++ b/internal/broker/generated/MsgVpnTelemetryProfile.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "Using the Telemetry Profile allows trace spans to be generated as messages are processed by the broker. The generated spans are stored persistently on the broker and may be consumed by the Solace receiver component of an OpenTelemetry Collector.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\ntelemetry_profile_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.31.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/telemetryProfiles/{telemetryProfileName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -56,13 +56,13 @@ func init() { BaseType: broker.Struct, SempName: "queueEventBindCountThreshold", TerraformName: "queue_event_bind_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Queue consumer flows event, relative to `queue_max_bind_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -105,7 +105,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -150,13 +150,13 @@ func init() { BaseType: broker.Struct, SempName: "queueEventMsgSpoolUsageThreshold", TerraformName: "queue_event_msg_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of the Queue, relative to `queue_max_msg_spool_usage`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `1`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -199,7 +199,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `2`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -293,13 +293,13 @@ func init() { BaseType: broker.Struct, SempName: "receiverEventConnectionCountPerClientUsernameThreshold", TerraformName: "receiver_event_connection_count_per_client_username_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the receiver connection count event, relative to `receiver_max_connection_count_per_client_username`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -342,7 +342,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/MsgVpnTelemetryProfileReceiverAclConnectException.go b/internal/broker/generated/MsgVpnTelemetryProfileReceiverAclConnectException.go index 534d9745..986c3e64 100644 --- a/internal/broker/generated/MsgVpnTelemetryProfileReceiverAclConnectException.go +++ b/internal/broker/generated/MsgVpnTelemetryProfileReceiverAclConnectException.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/telemetryProfiles/{telemetryProfileName}/receiverAclConnectExceptions/{receiverAclConnectExceptionAddress}", PostPathTemplate: "/msgVpns/{msgVpnName}/telemetryProfiles/{telemetryProfileName}/receiverAclConnectExceptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnTelemetryProfileTraceFilter.go b/internal/broker/generated/MsgVpnTelemetryProfileTraceFilter.go index d09f7bd1..873defc5 100644 --- a/internal/broker/generated/MsgVpnTelemetryProfileTraceFilter.go +++ b/internal/broker/generated/MsgVpnTelemetryProfileTraceFilter.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Trace Filter controls which messages received by the broker will be traced. If an incoming message matches an enabled tracing filter's subscription, the message will be traced as it passes through the broker.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\ntelemetry_profile_name|x\ntrace_filter_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.31.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/telemetryProfiles/{telemetryProfileName}/traceFilters/{traceFilterName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/generated/MsgVpnTelemetryProfileTraceFilterSubscription.go b/internal/broker/generated/MsgVpnTelemetryProfileTraceFilterSubscription.go index 800d6886..c10b1b3f 100644 --- a/internal/broker/generated/MsgVpnTelemetryProfileTraceFilterSubscription.go +++ b/internal/broker/generated/MsgVpnTelemetryProfileTraceFilterSubscription.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/msgVpns/{msgVpnName}/telemetryProfiles/{telemetryProfileName}/traceFilters/{traceFilterName}/subscriptions/{subscription},{subscriptionSyntax}", PostPathTemplate: "/msgVpns/{msgVpnName}/telemetryProfiles/{telemetryProfileName}/traceFilters/{traceFilterName}/subscriptions", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/MsgVpnTopicEndpoint.go b/internal/broker/generated/MsgVpnTopicEndpoint.go index 822bac4b..52151c02 100644 --- a/internal/broker/generated/MsgVpnTopicEndpoint.go +++ b/internal/broker/generated/MsgVpnTopicEndpoint.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Topic Endpoint attracts messages published to a topic for which the Topic Endpoint has a matching topic subscription. The topic subscription for the Topic Endpoint is specified in the client request to bind a Flow to that Topic Endpoint. Queues are significantly more flexible than Topic Endpoints and are the recommended approach for most applications. The use of Topic Endpoints should be restricted to JMS applications.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\ntopic_endpoint_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.1.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/topicEndpoints/{topicEndpointName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -109,13 +109,13 @@ func init() { BaseType: broker.Struct, SempName: "eventBindCountThreshold", TerraformName: "event_bind_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Topic Endpoint consumer flows event, relative to `max_bind_count`. Available since SEMP API version 2.4.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -158,7 +158,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -203,13 +203,13 @@ func init() { BaseType: broker.Struct, SempName: "eventRejectLowPriorityMsgLimitThreshold", TerraformName: "event_reject_low_priority_msg_limit_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the maximum allowed number of any priority messages queued in the Topic Endpoint event, relative to `reject_low_priority_msg_limit`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -252,7 +252,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -297,13 +297,13 @@ func init() { BaseType: broker.Struct, SempName: "eventSpoolUsageThreshold", TerraformName: "event_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of the Topic Endpoint, relative to `max_spool_usage`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -346,7 +346,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/MsgVpnTopicEndpointTemplate.go b/internal/broker/generated/MsgVpnTopicEndpointTemplate.go index aebdc075..a2abfe3f 100644 --- a/internal/broker/generated/MsgVpnTopicEndpointTemplate.go +++ b/internal/broker/generated/MsgVpnTopicEndpointTemplate.go @@ -33,7 +33,7 @@ func init() { MarkdownDescription: "A Topic Endpoint Template provides a mechanism for specifying the initial state for client created topic endpoints.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\ntopic_endpoint_template_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"vpn/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.14.", ObjectType: broker.StandardObject, PathTemplate: "/msgVpns/{msgVpnName}/topicEndpointTemplates/{topicEndpointTemplateName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, @@ -89,13 +89,13 @@ func init() { BaseType: broker.Struct, SempName: "eventBindCountThreshold", TerraformName: "event_bind_count_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the Topic Endpoint consumer flows event, relative to `max_bind_count`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -138,7 +138,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -183,13 +183,13 @@ func init() { BaseType: broker.Struct, SempName: "eventMsgSpoolUsageThreshold", TerraformName: "event_msg_spool_usage_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the message spool usage event of the Topic Endpoint, relative to `max_spool_usage`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `18`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -232,7 +232,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `25`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -277,13 +277,13 @@ func init() { BaseType: broker.Struct, SempName: "eventRejectLowPriorityMsgLimitThreshold", TerraformName: "event_reject_low_priority_msg_limit_threshold", - MarkdownDescription: "", + MarkdownDescription: "The thresholds for the maximum allowed number of any priority messages queued in the Topic Endpoint event, relative to `reject_low_priority_msg_limit`.", Attributes: []*broker.AttributeInfo{ { BaseType: broker.Int64, SempName: "clearPercent", TerraformName: "clear_percent", - MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The clear threshold for the value of this counter as a percentage of its maximum value. Falling below this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `60`.", Requires: []string{"set_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, @@ -326,7 +326,7 @@ func init() { BaseType: broker.Int64, SempName: "setPercent", TerraformName: "set_percent", - MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET.", + MarkdownDescription: "The set threshold for the value of this counter as a percentage of its maximum value. Exceeding this value will trigger a corresponding event. This attribute may not be returned in a GET. The default value is: `80`.", Requires: []string{"clear_percent"}, ConflictsWith: []string{"clear_value", "set_value"}, Type: types.Int64Type, diff --git a/internal/broker/generated/OauthProfile.go b/internal/broker/generated/OauthProfile.go index 78ab85d9..e537fd46 100644 --- a/internal/broker/generated/OauthProfile.go +++ b/internal/broker/generated/OauthProfile.go @@ -32,7 +32,7 @@ func init() { MarkdownDescription: "OAuth profiles specify how to securely authenticate to an OAuth provider.\n\n\nAttribute|Identifying|Write-Only|Opaque\n:---|:---:|:---:|:---:\nclient_secret||x|x\noauth_profile_name|x||\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.24.", ObjectType: broker.StandardObject, PathTemplate: "/oauthProfiles/{oauthProfileName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/OauthProfileAccessLevelGroup.go b/internal/broker/generated/OauthProfileAccessLevelGroup.go index 8cc21bac..9b1b1acf 100644 --- a/internal/broker/generated/OauthProfileAccessLevelGroup.go +++ b/internal/broker/generated/OauthProfileAccessLevelGroup.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "The name of a group as it exists on the OAuth server being used to authenticate SEMP users.\n\n\nAttribute|Identifying\n:---|:---:\ngroup_name|x\noauth_profile_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.24.", ObjectType: broker.StandardObject, PathTemplate: "/oauthProfiles/{oauthProfileName}/accessLevelGroups/{groupName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/OauthProfileAccessLevelGroupMsgVpnAccessLevelException.go b/internal/broker/generated/OauthProfileAccessLevelGroupMsgVpnAccessLevelException.go index 2b06058e..c90a64f1 100644 --- a/internal/broker/generated/OauthProfileAccessLevelGroupMsgVpnAccessLevelException.go +++ b/internal/broker/generated/OauthProfileAccessLevelGroupMsgVpnAccessLevelException.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "Message VPN access-level exceptions for members of this group.\n\n\nAttribute|Identifying\n:---|:---:\ngroup_name|x\nmsg_vpn_name|x\noauth_profile_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.24.", ObjectType: broker.StandardObject, PathTemplate: "/oauthProfiles/{oauthProfileName}/accessLevelGroups/{groupName}/msgVpnAccessLevelExceptions/{msgVpnName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/OauthProfileClientAllowedHost.go b/internal/broker/generated/OauthProfileClientAllowedHost.go index 5cb144cf..1f4837b7 100644 --- a/internal/broker/generated/OauthProfileClientAllowedHost.go +++ b/internal/broker/generated/OauthProfileClientAllowedHost.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/oauthProfiles/{oauthProfileName}/clientAllowedHosts/{allowedHost}", PostPathTemplate: "/oauthProfiles/{oauthProfileName}/clientAllowedHosts", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/OauthProfileClientAuthorizationParameter.go b/internal/broker/generated/OauthProfileClientAuthorizationParameter.go index f2c04843..ed966af3 100644 --- a/internal/broker/generated/OauthProfileClientAuthorizationParameter.go +++ b/internal/broker/generated/OauthProfileClientAuthorizationParameter.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "Additional parameters to be passed to the OAuth authorization endpoint.\n\n\nAttribute|Identifying\n:---|:---:\nauthorization_parameter_name|x\noauth_profile_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.24.", ObjectType: broker.StandardObject, PathTemplate: "/oauthProfiles/{oauthProfileName}/clientAuthorizationParameters/{authorizationParameterName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/OauthProfileClientRequiredClaim.go b/internal/broker/generated/OauthProfileClientRequiredClaim.go index 17a2020a..5443b37c 100644 --- a/internal/broker/generated/OauthProfileClientRequiredClaim.go +++ b/internal/broker/generated/OauthProfileClientRequiredClaim.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/oauthProfiles/{oauthProfileName}/clientRequiredClaims/{clientRequiredClaimName}", PostPathTemplate: "/oauthProfiles/{oauthProfileName}/clientRequiredClaims", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/OauthProfileDefaultMsgVpnAccessLevelException.go b/internal/broker/generated/OauthProfileDefaultMsgVpnAccessLevelException.go index a0dc4bd8..3dae0a9f 100644 --- a/internal/broker/generated/OauthProfileDefaultMsgVpnAccessLevelException.go +++ b/internal/broker/generated/OauthProfileDefaultMsgVpnAccessLevelException.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "Default message VPN access-level exceptions.\n\n\nAttribute|Identifying\n:---|:---:\nmsg_vpn_name|x\noauth_profile_name|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.24.", ObjectType: broker.StandardObject, PathTemplate: "/oauthProfiles/{oauthProfileName}/defaultMsgVpnAccessLevelExceptions/{msgVpnName}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/OauthProfileResourceServerRequiredClaim.go b/internal/broker/generated/OauthProfileResourceServerRequiredClaim.go index 3ac08b0b..0d22964f 100644 --- a/internal/broker/generated/OauthProfileResourceServerRequiredClaim.go +++ b/internal/broker/generated/OauthProfileResourceServerRequiredClaim.go @@ -32,7 +32,7 @@ func init() { ObjectType: broker.ReplaceOnlyObject, PathTemplate: "/oauthProfiles/{oauthProfileName}/resourceServerRequiredClaims/{resourceServerRequiredClaimName}", PostPathTemplate: "/oauthProfiles/{oauthProfileName}/resourceServerRequiredClaims", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.String, diff --git a/internal/broker/generated/VirtualHostname.go b/internal/broker/generated/VirtualHostname.go index b823c932..c91507bd 100644 --- a/internal/broker/generated/VirtualHostname.go +++ b/internal/broker/generated/VirtualHostname.go @@ -31,7 +31,7 @@ func init() { MarkdownDescription: "A Virtual Hostname is a provisioned object on a message broker that contains a Virtual Hostname to Message VPN mapping.\n\nClients which connect to a global (as opposed to per Message VPN) port and provides this hostname will be directed to its corresponding Message VPN. A case-insentive match is performed on the full client-provided hostname against the configured virtual-hostname.\n\nThis mechanism is only supported for hostnames provided through the Server Name Indication (SNI) extension of TLS.\n\n\nAttribute|Identifying\n:---|:---:\nvirtual_hostname|x\n\n\n\nA SEMP client authorized with a minimum access scope/level of \"global/read-only\" is required to perform this operation.\n\nThis has been available since SEMP API version 2.17.", ObjectType: broker.StandardObject, PathTemplate: "/virtualHostnames/{virtualHostname}", - Version: 0, + Version: 0, // Placeholder: value will be replaced in the provider code Attributes: []*broker.AttributeInfo{ { BaseType: broker.Bool, diff --git a/internal/broker/provider.go b/internal/broker/provider.go index e965bc6e..f2bf69a0 100644 --- a/internal/broker/provider.go +++ b/internal/broker/provider.go @@ -18,6 +18,7 @@ package broker import ( "context" + "fmt" "strings" "github.com/hashicorp/terraform-plugin-framework/datasource" @@ -25,6 +26,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/provider/schema" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-go/tftypes" "github.com/hashicorp/terraform-plugin-log/tflog" ) @@ -95,6 +97,20 @@ func (p *BrokerProvider) Schema(_ context.Context, _ provider.SchemaRequest, res } func (p *BrokerProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) { + // Enable lazy configuration of the provider to handle it gracefully if configuration is not complete + configValues := map[string]tftypes.Value{} + err := req.Config.Raw.As(&configValues) + if err != nil { + return + } + // Iterate over the configuration values and check if any of them is not known + for key, value := range configValues { + if !value.IsKnown() { + tflog.Info(ctx, fmt.Sprintf("Configuration has at least one paramter '%s' with unknown value, skipping configuration for now", key)) + return + } + } + // At this point all params all known (even if not undefined, which is not the same as unknown) // Retrieve provider data from configuration var config providerData diags := req.Config.Get(ctx, &config) @@ -102,6 +118,7 @@ func (p *BrokerProvider) Configure(ctx context.Context, req provider.ConfigureRe if resp.Diagnostics.HasError() { return } + // Validate the provider configuration ctx = tflog.SetField(ctx, "solacebroker_url", strings.Trim(config.Url.String(), "\"")) ctx = tflog.SetField(ctx, "solacebroker_provider_version", p.Version) tflog.Debug(ctx, "Creating SEMP client") diff --git a/internal/broker/resource.go b/internal/broker/resource.go index 013d73f8..cc39b0c0 100644 --- a/internal/broker/resource.go +++ b/internal/broker/resource.go @@ -245,11 +245,10 @@ func (r *brokerResource) findBrokerDefaults(attributes []*AttributeInfo, respons return r.converter.FromTerraform(tftypes.NewValue(request.Type(), defaultValues)) } -func convert(any any) { - panic("unimplemented") -} - func (r *brokerResource) Schema(_ context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + // Overwrite the schema version with the provider major version + providerMajorVersion := getProviderMajorVersion(ProviderVersion) + r.schema.Version = providerMajorVersion response.Schema = r.schema } @@ -480,6 +479,7 @@ func (r *brokerResource) ImportState(_ context.Context, request resource.ImportS "singleton object requires empty identifier for import", ) } + response.State.Raw = tftypes.NewValue(tftypes.Object{}, nil) return } split := strings.Split(strings.ReplaceAll(request.ID, ",", "/"), "/") @@ -534,21 +534,66 @@ func (r *brokerResource) ConfigValidators(_ context.Context) []resource.ConfigVa } func (r *brokerResource) UpgradeState(ctx context.Context) map[int64]resource.StateUpgrader { - // Placeholder for future StateUpgrader code - // example: - // if r.terraformName == "a_b_c" { - // return map[int64]resource.StateUpgrader{ - // // State upgrade implementation from 0 (prior state version) to 2 (Schema.Version) - // 0: { - // // Optionally, the PriorSchema field can be defined. - // StateUpgrader: func(ctx context.Context, req resource.UpgradeStateRequest, resp *resource.UpgradeStateResponse) { /* ... */ }, - // }, - // // State upgrade implementation from 1 (prior state version) to 2 (Schema.Version) - // 1: { - // // Optionally, the PriorSchema field can be defined. - // StateUpgrader: func(ctx context.Context, req resource.UpgradeStateRequest, resp *resource.UpgradeStateResponse) { /* ... */ }, - // }, - // } - // } - return nil + schema := r.schema + converter := r.converter + version := getProviderMajorVersion(ProviderVersion) + upgraders := make(map[int64]resource.StateUpgrader) + // new code will add upgraders for each version, starting from 0 + // note that upgraders are the same for each version + for i := int64(0); i < version; i++ { + upgraders[i] = resource.StateUpgrader{ + PriorSchema: &schema, + StateUpgrader: func(ctx context.Context, req resource.UpgradeStateRequest, resp *resource.UpgradeStateResponse) { + // On one side, the raw state + var oldStateAttributes map[string]interface{} + if err := json.Unmarshal(req.RawState.JSON, &oldStateAttributes); err != nil { + resp.Diagnostics.AddError("State conversion failed", err.Error()) + } + // On the other side, read same through interpreting it in the new schema - this will keep attributes that are included in the new schema + rawState := req.State.Raw + resourceData, err := converter.FromTerraform(rawState) + if err != nil { + resp.Diagnostics.AddError("State conversion failed", err.Error()) + } + conversionResults, err := converter.ToTerraform(resourceData) + if err != nil { + resp.Diagnostics.AddError("State conversion failed", err.Error()) + } + var resultsDataMap map[string]tftypes.Value + err = conversionResults.As(&resultsDataMap) + if err != nil { + resp.Diagnostics.AddError("State conversion failed", err.Error()) + } + // iterate old state attributes and if a value is not null and the attribute is to be removed then fail the upgrade + for key, value := range oldStateAttributes { + if value != nil { + // try to find the key in resourceDataMap + data, ok := resultsDataMap[key] + if !ok { + resp.Diagnostics.AddError("State upgrade failed", fmt.Sprintf("Found deprecated state key '%s', unable to upgrade state if value is not null", key)) + } else { + // if the type of value is map[string]interface{} then it is a nested object + if _, ok := value.(map[string]interface{}); ok { + var resultsDataMap2 map[string]tftypes.Value + err = data.As(&resultsDataMap2) + if err != nil { + resp.Diagnostics.AddError("State conversion failed", err.Error()) + } + for nestedKey, val := range value.(map[string]interface{}) { + if val != nil { + _, ok := resultsDataMap2[nestedKey] + if !ok { + resp.Diagnostics.AddError("State upgrade failed", fmt.Sprintf("Found deprecated state key '%s' in nested object '%s', unable to upgrade state if value is not null", nestedKey, key)) + } + } + } + } + } + } + } + resp.State.Raw = conversionResults + }, + } + } + return upgraders } diff --git a/internal/broker/schema.go b/internal/broker/schema.go index 7194fd0c..d95dfafe 100644 --- a/internal/broker/schema.go +++ b/internal/broker/schema.go @@ -17,6 +17,8 @@ package broker import ( + "fmt" + "regexp" "sort" "strings" @@ -103,7 +105,7 @@ func terraformAttributeMap(attributes []*AttributeInfo, isResource bool, require tfAttributes[attr.TerraformName] = schema.StringAttribute{ Description: attr.Description, MarkdownDescription: attr.MarkdownDescription, - Required: attr.Required && isResource || attr.Identifying, + Required: attr.Required && isResource || !isResource && attr.Identifying, Optional: !attr.Required && isResource, Computed: !attr.Identifying && !isResource, Sensitive: attr.Sensitive, @@ -115,7 +117,7 @@ func terraformAttributeMap(attributes []*AttributeInfo, isResource bool, require tfAttributes[attr.TerraformName] = schema.Int64Attribute{ Description: attr.Description, MarkdownDescription: attr.MarkdownDescription, - Required: attr.Required && isResource || attr.Identifying, + Required: attr.Required && isResource || !isResource && attr.Identifying, Optional: !attr.Required && isResource, Computed: !attr.Identifying && !isResource, Sensitive: attr.Sensitive, @@ -127,7 +129,7 @@ func terraformAttributeMap(attributes []*AttributeInfo, isResource bool, require tfAttributes[attr.TerraformName] = schema.BoolAttribute{ Description: attr.Description, MarkdownDescription: attr.MarkdownDescription, - Required: attr.Required && isResource || attr.Identifying, + Required: attr.Required && isResource || !isResource && attr.Identifying, Optional: !attr.Required && isResource, Computed: !attr.Identifying && !isResource, Sensitive: attr.Sensitive, @@ -140,7 +142,7 @@ func terraformAttributeMap(attributes []*AttributeInfo, isResource bool, require Attributes: terraformAttributeMap(attr.Attributes, isResource, requiresReplace || attr.RequiresReplace), Description: attr.Description, MarkdownDescription: attr.MarkdownDescription, - Required: attr.Required && isResource || attr.Identifying, + Required: attr.Required && isResource || !isResource && attr.Identifying, Optional: !attr.Required && isResource, Computed: !attr.Identifying && !isResource, Sensitive: attr.Sensitive, @@ -180,12 +182,33 @@ func newBrokerEntity(inputs EntityInputs, isResource bool) brokerEntity[schema.S jIndex := strings.Index(inputs.PathTemplate, "{"+jAttr.SempName+"}") return iIndex < jIndex }) + + identifierInfo := "" + if isResource { + identifiersString := "" + pathTemplate := inputs.PathTemplate + if pathTemplate != "/" { + rex := regexp.MustCompile(`{[^{}]*}`) + matches := rex.FindAllStringSubmatch(pathTemplate, -1) + // Construct identifiers string from matches, separated by / + identifiers := make([]string, len(matches)) + for i, match := range matches { + identifiers[i] = match[0] + // TODO: convert to Terraform Names! + } + identifiersString = fmt.Sprintf("`%s`, where {<attribute>} represents the value of the attribute and it must be URL-encoded.", strings.Join(identifiers, "/")) + } else { + // broker object + identifiersString = "`\"\"` (empty string)" + } + identifierInfo = fmt.Sprintf("\n\nThe import identifier for this resource is %s", identifiersString) + } s := schema.Schema{ Attributes: tfAttributes, Description: inputs.Description, - MarkdownDescription: inputs.MarkdownDescription, + MarkdownDescription: inputs.MarkdownDescription + identifierInfo, DeprecationMessage: inputs.DeprecationMessage, - Version: inputs.Version, + Version: inputs.Version, // This will be replaced by the major version from ProviderVersion in resource.go } return brokerEntity[schema.Schema]{ schema: s, diff --git a/internal/broker/utilities.go b/internal/broker/utilities.go index bebf9e67..30c56f94 100644 --- a/internal/broker/utilities.go +++ b/internal/broker/utilities.go @@ -152,23 +152,23 @@ func client(providerData *providerData) (*semp.Client, diag.Diagnostic) { if err != nil { return nil, diag.NewErrorDiagnostic("Unable to parse provider attribute", err.Error()) } - retries, err := int64WithDefaultFromEnv(providerData.Retries, "retries", 10) + retries, err := int64WithDefaultFromEnv(providerData.Retries, "retries", semp.DefaultRetries) if err != nil { return nil, diag.NewErrorDiagnostic("Unable to parse provider attribute", err.Error()) } - retryMinInterval, err := durationWithDefaultFromEnv(providerData.RetryMinInterval, "retry_min_interval", 3*time.Second) + retryMinInterval, err := durationWithDefaultFromEnv(providerData.RetryMinInterval, "retry_min_interval", semp.DefaultRetryMinInterval) if err != nil { return nil, diag.NewErrorDiagnostic("Unable to parse provider attribute", err.Error()) } - retryMaxInterval, err := durationWithDefaultFromEnv(providerData.RetryMaxInterval, "retry_max_interval", 30*time.Second) + retryMaxInterval, err := durationWithDefaultFromEnv(providerData.RetryMaxInterval, "retry_max_interval", semp.DefaultRetryMaxInterval) if err != nil { return nil, diag.NewErrorDiagnostic("Unable to parse provider attribute", err.Error()) } - requestTimeoutDuration, err := durationWithDefaultFromEnv(providerData.RequestTimeoutDuration, "request_timeout_duration", time.Minute) + requestTimeoutDuration, err := durationWithDefaultFromEnv(providerData.RequestTimeoutDuration, "request_timeout_duration", semp.DefaultRequestTimeout) if err != nil { return nil, diag.NewErrorDiagnostic("Unable to parse provider attribute", err.Error()) } - requestMinInterval, err := durationWithDefaultFromEnv(providerData.RequestMinInterval, "request_min_interval", 100*time.Millisecond) + requestMinInterval, err := durationWithDefaultFromEnv(providerData.RequestMinInterval, "request_min_interval", semp.DefaultRequestInterval) if err != nil { return nil, diag.NewErrorDiagnostic("Unable to parse provider attribute", err.Error()) } @@ -197,3 +197,12 @@ func getFullSempAPIURL(url string) string { baseBath := strings.TrimPrefix(SempDetail.BasePath, "/") return url + "/" + baseBath } + +func getProviderMajorVersion(semverVersion string) int64 { + parts := strings.Split(semverVersion, ".") + if len(parts) == 0 { + return 0 + } + majorVersion, _ := strconv.ParseInt(parts[0], 10, 64) + return majorVersion +} diff --git a/internal/semp/client.go b/internal/semp/client.go index 40eadf1d..9aefcf77 100644 --- a/internal/semp/client.go +++ b/internal/semp/client.go @@ -35,12 +35,11 @@ import ( ) var ( - ErrResourceNotFound = errors.New("Resource not found") - ErrBadRequest = errors.New("Bad request") + ErrResourceNotFound = errors.New("resource not found") + ErrBadRequest = errors.New("bad request") + ErrInvalidPath = errors.New("invalid path") ) -var cookieJar, _ = cookiejar.New(nil) - var firstRequest = true type Client struct { @@ -57,6 +56,14 @@ type Client struct { rateLimiter <-chan time.Time } +const ( + DefaultRetryMinInterval = 3 * time.Second + DefaultRetryMaxInterval = 30 * time.Second + DefaultRequestTimeout = time.Minute + DefaultRequestInterval = 100 * time.Millisecond + DefaultRetries = 10 +) + var Cookies = map[string]*http.Cookie{} type Option func(*Client) @@ -136,15 +143,15 @@ func (c *Client) RequestWithBody(ctx context.Context, method, url string, body a if err != nil { return nil, err } - dumpData(ctx, fmt.Sprintf("%v to %v", request.Method, request.URL), data) - rawBody, err := c.doRequest(ctx, request) + tflog.Debug(ctx, fmt.Sprintf("===== %v to %v =====", request.Method, request.URL)) + rawBody, err := c.doRequest(request) if err != nil { return nil, err } return parseResponseAsObject(ctx, request, rawBody) } -func (c *Client) doRequest(ctx context.Context, request *http.Request) ([]byte, error) { +func (c *Client) doRequest(request *http.Request) ([]byte, error) { if !firstRequest { // the value doesn't matter, it is waiting for the value that matters <-c.rateLimiter @@ -187,7 +194,6 @@ func parseResponseAsObject(ctx context.Context, request *http.Request, dataRespo if err != nil { return nil, fmt.Errorf("could not parse response body from %v to %v, response body was:\n%s", request.Method, request.URL, dataResponse) } - dumpData(ctx, "response", dataResponse) rawData, ok := data["data"] if ok { // Valid data @@ -222,17 +228,16 @@ func parseResponseForGenerator(c *Client, ctx context.Context, basePath string, return nil, fmt.Errorf("could not parse response body from %v to %v, response body was:\n%s", request.Method, request.URL, dataResponse) } responseData := []map[string]any{} - dumpData(ctx, "response", dataResponse) rawData, ok := data["data"] if ok { - switch rawData.(type) { + switch rawData := rawData.(type) { case []interface{}: - responseDataRaw, _ := rawData.([]interface{}) + responseDataRaw := rawData for _, t := range responseDataRaw { responseData = append(responseData, t.(map[string]any)) } case map[string]interface{}: - responseDataRaw, _ := rawData.(map[string]any) + responseDataRaw := rawData responseData = append(responseData, responseDataRaw) } metaData, hasMeta := data["meta"] @@ -242,7 +247,6 @@ func parseResponseForGenerator(c *Client, ctx context.Context, basePath string, if hasPaging { nextPage := fmt.Sprint(pageData.(map[string]any)["nextPageUri"]) nextPageUrl := strings.Split(nextPage, basePath) - print("..") return c.RequestWithoutBodyForGenerator(ctx, basePath, method, nextPageUrl[1], appendToResult) } } @@ -251,12 +255,17 @@ func parseResponseForGenerator(c *Client, ctx context.Context, basePath string, rawData, ok = data["meta"] if ok { data, _ = rawData.(map[string]any) - responseData = append(responseData, data) - errorCode, errorCodeExist := data["responseCode"] - if errorCodeExist && fmt.Sprint(errorCode) == "400" { - return responseData, ErrBadRequest + description := data["error"].(map[string]interface{})["description"].(string) + status := data["error"].(map[string]interface{})["status"].(string) + if status == "NOT_FOUND" { + // resource not found is a special type we want to return + return nil, fmt.Errorf("%v, %v, %w", description, status, ErrResourceNotFound) + } + if status == "INVALID_PATH" { + // resource not found is a special type we want to return + return nil, fmt.Errorf("%v, %v, %w", description, status, ErrInvalidPath) } - return responseData, ErrResourceNotFound + return nil, fmt.Errorf("%v, %v, %w", description, status, ErrBadRequest) } } return nil, nil @@ -268,7 +277,7 @@ func (c *Client) RequestWithoutBody(ctx context.Context, method, url string) (ma return nil, err } tflog.Debug(ctx, fmt.Sprintf("===== %v to %v =====", request.Method, request.URL)) - rawBody, err := c.doRequest(ctx, request) + rawBody, err := c.doRequest(request) if err != nil { return nil, err } @@ -280,16 +289,9 @@ func (c *Client) RequestWithoutBodyForGenerator(ctx context.Context, basePath st if err != nil { return nil, err } - rawBody, err := c.doRequest(ctx, request) + rawBody, err := c.doRequest(request) if err != nil { return nil, err } return parseResponseForGenerator(c, ctx, basePath, method, request, rawBody, appendToResult) } - -func dumpData(ctx context.Context, tag string, data []byte) { - var in any - _ = json.Unmarshal(data, &in) - out, _ := json.MarshalIndent(in, "", "\t") - tflog.Debug(ctx, fmt.Sprintf("===== %v =====\n%s\n", tag, out)) -} diff --git a/main.go b/main.go index f18bca25..fd1a1859 100644 --- a/main.go +++ b/main.go @@ -42,7 +42,7 @@ var ( func main() { if broker.SempDetail.Platform != expectedPlatform { - fmt.Println(fmt.Sprintf("Provider error: wrong platform SEMP API spec \"%s\" used, expected \"%s\"", broker.SempDetail.Platform, expectedPlatform)) + fmt.Printf("Provider error: wrong platform SEMP API spec \"%s\" used, expected \"%s\"\n", broker.SempDetail.Platform, expectedPlatform) os.Exit(1) } broker.ProviderVersion = version diff --git a/templates/guides/config-generator.md b/templates/guides/config-generator.md index ad37052a..5abfbe65 100644 --- a/templates/guides/config-generator.md +++ b/templates/guides/config-generator.md @@ -6,81 +6,71 @@ page_title: "Command-line Terraform Configuration Generator Guide" Normally, provider binaries are not run standalone, they are started and their services are used by Terraform CLI. -The `solacebroker` provider, however, includes an additional feature where you can run its binary outside of Terraform CLI. In this case, you can use the "generate" command on the provider binary to generate a Terraform HLC configuration file for a specified object and all child objects known to the provider. +The `solacebroker` provider, however, includes an additional feature where you can run its binary outside of Terraform CLI. In this case, you can use the "generate" command on the provider binary to generate a Terraform HCL configuration file for a specified object and all its child objects known to the provider. You can [locate](https://terra-farm.github.io/main/installation.html) the provider binary in the `.terraform/providers` directory of an existing Terraform configuration directory that uses the `solacebroker` provider. -You can run the provider binary directly with the `generate` command to generate a Terraform configuration file from the current configuration of a PubSub+ broker. - -` generate ` - -- `` is the broker provider binary. -- `` is the broker address, for example `https://mybroker.example.org:1943/`. -- `` is similar to the Terraform Import command. This is the resource name and possible values to find a specific resource. -- `` is the desirable name of the generated filename. -- There are also supported options, which mirror the configuration options for the provider object. These can be found [here](#supported-options). - -This generator supports configuring software event brokers and will fail if applied against an appliance. This check may be overridden by setting the `SOLACEBROKER_SKIP_API_CHECK=true` environment variable. - ## Important notes You should review the generated configuration for the following: -* You may need to update provider configuration values (URL, username, etc.) -* Write-only attributes, such as passwords, are omitted from the config as they cannot be read from the broker configuration. You need to add them manually. +* The provider block values in the generated configuration (URL, username, etc.) are exposed via Terraform input variables. Some write-only and related attribute values may also be assigned from input variables. It is recommended to check the variables created by the generator: you will need to assign value to those variables when applying the configuration or Terraform will prompt for the variable value. +* Some optional write-only attributes that cannot be determined by the generator if they were configured, are omitted from the generated configuration. You may need to add them manually. * Default resources may be present that you can omit. +* It may be required to add a "depends_on" meta-argument between generated objects. Refer to the "System provisioned objects" section. * The generator uses a naming scheme for the resources. You can update this by manually replacing the generated names. ## Usage -```shell -terraform-provider-solacebroker -h +` generate [flags] ` -Usage: - terraform-provider-solacebroker [command] +* `` is the broker provider binary. +* `[flags]` are the [supported parameters](https://registry.terraform.io/providers/SolaceProducts/solacebroker/latest/docs/guides/config-generator#supported-parameters), which mirror the [configuration options for the provider object](https://registry.terraform.io/providers/SolaceProducts/solacebroker/latest/docs#schema), for example `--url=https://localhost:1943`. Parameters can alternatively be set via environment variables, for this example through setting `SOLACEBROKER_URL`. +* `` is the address of the specified object instance in the generated configuration, in the form of `.` (for example `solacebroker_msg_vpn.myvpn`). +* `` is the import identifier of the specified object instance as in the Terraform Import command. The import identifier is available from the documentation of each resource type. +* `` is the name of the generated file. +This generator supports obtaining the configuration of software event brokers and will fail if applied against an appliance. This check may be overridden by setting the SOLACEBROKER_SKIP_API_CHECK=true environment variable. -Available Commands: -generate Generates a Terraform configuration file for a specified PubSub+ Broker object and all child objects known to the provider -help Help about any command -version Provides version information about the current binary +Example: +```bash +SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn_queue.q default/test my-message-vpn-queue.tf ``` -To `generate` the configuration, make sure all ENVIRONMENT VARIABLES, which mirror the configuration options for the -provider object are set. You can find the list of variables [here](#supported-options). +This will generate the configuration for queue `test` in message VPN `default`, and the configuration of all children, for example all subscriptions that have been configured to this queue. + +### Supported parameters -For example: -`SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn.mq default my-messagevpn.tf` +The following parameters can be set as flags or environment variables (flags take precedence if both defined): -This command would create a file `my-messagevpn.tf` that contains a resource definition for the default Message VPN resource and -any child objects, assuming the appropriate broker credentials were set in environment variables. +| Parameter | Required | Flag | Env var | Default | +|------------------------------- |-----------|-----------------------|------------------------------|---------| +| url | Yes | --url | SOLACEBROKER_URL | None | +| username (Note1) | Yes | --username | SOLACEBROKER_USERNAME | None | +| password (Note1) | No | --password | SOLACEBROKER_PASSWORD | None | +| bearer-token (Note1) | No | --bearer-token | SOLACEBROKER_BEARER_TOKEN | None | +| insecure-skip-verify | No | --insecure-skip-verify | SOLACEBROKER_INSECURE_SKIP_VERIFY | false | +| request-min-interval | No | --request-min-interval | SOLACEBROKER_REQUEST_MIN_INTERVAL | 100ms | +| request-timeout-duration | No | --request-timeout-duration | SOLACEBROKER_REQUEST_TIMEOUT_DURATION | 1m | +| retries | No | --retries | SOLACEBROKER_RETRIES | 10 | +| retry-min-interval | No | --retry-min-interval | SOLACEBROKER_RETRY_MIN_INTERVAL | 3s | +| retry-max-interval | No | --retry-max-interval | SOLACEBROKER_RETRY_MAX_INTERVAL | 30s | +| skip-api-check | No | --skip-api-check | SOLACEBROKER_SKIP_API_CHECK | false | -Note: For objects with no child object, the file will only contain a resource definition for that object. +Note1: Only one authentication method can be used at a time: either bearer-token or username/password. -For example: -`SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=admin terraform-provider-solacebroker generate --url=https://localhost:8080 solacebroker_msg_vpn_queue.q default/test my-message-vpn-queue.tf` +## Attribute generation -This command would create a file `my-message-vpn-queue.tf` that contains the msg_vpn_queue resource , `test` for the -Message VPN, `default`, assuming a msg_vpn_queue resource called `test` exists for the Message VPN, `default`. +For each object, all attributes will be generated as attributes on the corresponding resource with the exception of: +* attributes that are at the default value (as per the broker version corresponding to the broker provider) +* write-only attributes that cannot be determined if they were configured (not coupled with another non write-only attribute) -### Supported Options +Write-only attributes that are coupled with another non write-only attribute will be generated as variable references. Variables for coupled attributes that are not write-only will have a commented-out default value with the value of the attribute, which you can choose to uncomment. Having no default means that Terraform will prompt for the variable value. -The following parameters can be set as ENVIRONMENT VARIABLES. When used as an environment variable, -each parameter must be preceded with _SOLACEBROKER__. An example for a PubSub+ broker using username and password -_**admin/password**_ -would be: +## System provisioned objects -`SOLACEBROKER_USERNAME=admin SOLACEBROKER_PASSWORD=password` +System provisioned broker objects are created as a side-effect of creating other objects. These other objects are referred to as "parent object". The generator is attempting to recognize system provisioned objects and omit them from the configuration or add a warning comment, as direct creation of such objects will fail. -- `SOLACEBROKER_BEARER_TOKEN` (String, Sensitive, Mandatory if `password` not provided) -- `SOLACEBROKER_INSECURE_SKIP_VERIFY` (Boolean) Disable validation of server SSL certificates, accept/ignore self-signed. -- `SOLACEBROKER_PASSWORD` (String, Sensitive, Mandatory if `bearer_token` not provided) -- `SOLACEBROKER_REQUEST_MIN_INTERVAL` (String) -- `SOLACEBROKER_REQUEST_TIMEOUT_DURATION` (String) -- `SOLACEBROKER_RETRIES` (Number) -- `SOLACEBROKER_RETRY_MAX_INTERVAL` (String) -- `SOLACEBROKER_RETRY_MIN_INTERVAL` (String) -- `SOLACEBROKER_SKIP_API_CHECK` (String) Disable validation of the broker SEMP API for supported platform and minimum version. -- `SOLACEBROKER_USERNAME` (String, Mandatory) The username for the broker request. +If an object's attribute is referencing a possible system-provisioned object, there may be a conflict at apply-time if the referenced object has not yet been created. The generator will add a comment when recognizing such references and it may be necessary to add a "depends_on" meta-argument between the referencoing and the parent objects to ensure proper create sequence. ## Troubleshooting @@ -103,7 +93,7 @@ The following issues may arise while using the generator. | Error | SEMP called failed. resource not found on path /xxx/xxx | |-----------------|------------------------------------------------------------------------------------------| -| Explanation | This indicates the resource attributes attempted to be fetch could not be read. | +| Explanation | This indicates the resource attributes attempted to be fetched could not be read. | | Possible Action | Ensure identifiers values are consistent as set on the PubSub+ broker configured with. | | Error | Error: Broker resource not found by terraform name xxx | diff --git a/third-party-licenses.txt b/third-party-licenses.txt index 591734dc..3d4c9063 100644 --- a/third-party-licenses.txt +++ b/third-party-licenses.txt @@ -15,19 +15,33 @@ Solace THIRD-PARTY SOFTWARE USED ========================= -github.com/Fatih/color-v1.13.0 +github.com/GoLang/protobuf-v1.5.4 +--------------------------------- +Licensed under BSD 3 +Copyright 2010 +Copyright 2010 The Go Authors +Home page: https://pkg.go.dev/github.com/GoLang/protobuf@v1.5.4 + +github.com/fatih/color-v1.16.0 ------------------------------ Licensed under MIT Copyright 2013 Copyright 2013 Fatih Arslan -Home page: https://pkg.go.dev/github.com/Fatih/color@v1.13.0 +Home page: https://pkg.go.dev/github.com/fatih/color@v1.16.0 -github.com/golang/Protobuf-v1.5.3 ---------------------------------- -Licensed under BSD 3 -Copyright 2010 -Copyright 2010 The Go Authors -Home page: https://pkg.go.dev/github.com/golang/Protobuf@v1.5.3 +github.com/hashiCorp/go-retryablehttp-v0.7.5 +-------------------------------------------- +Licensed under Mozilla 2.0 +Copyright 2015 +Copyright 2015 HashiCorp, Inc +Home page: https://pkg.go.dev/github.com/hashiCorp/go-retryablehttp@v0.7.5 + +github.com/hashicorp/go-UuID-v1.0.3 +----------------------------------- +Licensed under Mozilla 2.0 +Copyright 2015-2022 +Copyright 2015-2022 HashiCorp, Inc +Home page: https://pkg.go.dev/github.com/hashicorp/go-UuID@v1.0.3 github.com/hashicorp/go-Version-v1.6.0 -------------------------------------- @@ -41,12 +55,12 @@ Licensed under Mozilla 2.0 No copyright. Home page: https://pkg.go.dev/github.com/hashicorp/go-cleanhttp@v0.5.2 -github.com/hashicorp/go-hcLog-v1.5.0 +github.com/hashicorp/go-hcLog-v1.6.3 ------------------------------------ Licensed under MIT Copyright 2017 Copyright 2017 HashiCorp, Inc -Home page: https://pkg.go.dev/github.com/hashicorp/go-hcLog@v1.5.0 +Home page: https://pkg.go.dev/github.com/hashicorp/go-hcLog@v1.6.3 github.com/hashicorp/go-plugin-v1.6.0 ------------------------------------- @@ -55,26 +69,12 @@ Copyright 2016 Copyright 2016 HashiCorp, Inc Home page: https://pkg.go.dev/github.com/hashicorp/go-plugin@v1.6.0 -github.com/hashicorp/go-retryablehttp-v0.7.5 --------------------------------------------- -Licensed under Mozilla 2.0 -Copyright 2015 -Copyright 2015 HashiCorp, Inc -Home page: https://pkg.go.dev/github.com/hashicorp/go-retryablehttp@v0.7.5 - -github.com/hashicorp/go-uuid-v1.0.3 ------------------------------------ -Licensed under Mozilla 2.0 -Copyright 2015-2022 -Copyright 2015-2022 HashiCorp, Inc -Home page: https://pkg.go.dev/github.com/hashicorp/go-uuid@v1.0.3 - -github.com/hashicorp/terraform-plugin-framework-v1.4.2 +github.com/hashicorp/terraform-plugin-framework-v1.8.0 ------------------------------------------------------ Licensed under Mozilla 2.0 Copyright 2021 Copyright 2021 HashiCorp, Inc -Home page: https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework@v1.4.2 +Home page: https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework@v1.8.0 github.com/hashicorp/terraform-plugin-framework-validators-v0.12.0 ------------------------------------------------------------------ @@ -83,12 +83,12 @@ Copyright 2022 Copyright 2022 HashiCorp, Inc Home page: https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework-validators@v0.12.0 -github.com/hashicorp/terraform-plugin-go-v0.20.0 +github.com/hashicorp/terraform-plugin-go-v0.22.2 ------------------------------------------------ Licensed under Mozilla 2.0 Copyright 2020 Copyright 2020 HashiCorp, Inc -Home page: https://pkg.go.dev/github.com/hashicorp/terraform-plugin-go@v0.20.0 +Home page: https://pkg.go.dev/github.com/hashicorp/terraform-plugin-go@v0.22.2 github.com/hashicorp/terraform-plugin-log-v0.9.0 ------------------------------------------------ @@ -123,11 +123,11 @@ Copyright 2016 Copyright 2016 Yasuhiro Matsumoto Home page: https://pkg.go.dev/github.com/mattn/go-coLorabLe@v0.1.13 -github.com/mattn/go-isatty-v0.0.16 +github.com/mattn/go-isatty-v0.0.20 ---------------------------------- Licensed under MIT Copyright Yasuhiro MATSUMOTO -Home page: https://pkg.go.dev/github.com/mattn/go-isatty@v0.0.16 +Home page: https://pkg.go.dev/github.com/mattn/go-isatty@v0.0.20 github.com/mitchellh/go-testing-interface-v1.14.1 ------------------------------------------------- @@ -136,11 +136,11 @@ Copyright 2016 Copyright 2016 Mitchell Hashimoto Home page: https://pkg.go.dev/github.com/mitchellh/go-testing-interface@v1.14.1 -github.com/oklog/Run-v1.0.0 +github.com/oklog/Run-v1.1.0 --------------------------- Licensed under Apache 2.0 No copyright. -Home page: https://pkg.go.dev/github.com/oklog/Run@v1.0.0 +Home page: https://pkg.go.dev/github.com/oklog/Run@v1.1.0 github.com/spf13/cobra-v1.8.0 ----------------------------- @@ -169,26 +169,19 @@ Copyright 2019 Copyright 2019 The github.com/vmihailenco/tagparser Authors Home page: https://pkg.go.dev/github.com/vmihailenco/tagparser/v2@v2.0.0 -golang.org/x/exp-v0.0.0-20231006140011-7918f672742d ---------------------------------------------------- -Licensed under Golang BSD + Patents -Copyright 2009 -Copyright 2009 The Go Authors -Home page: https://pkg.go.dev/golang.org/x/exp@v0.0.0-20231006140011-7918f672742d - -golang.org/x/net-v0.17.0 +golang.org/x/net-v0.24.0 ------------------------ Licensed under Golang BSD + Patents Copyright 2009 Copyright 2009 The Go Authors -Home page: https://pkg.go.dev/golang.org/x/net@v0.17.0 +Home page: https://pkg.go.dev/golang.org/x/net@v0.24.0 -golang.org/x/sys-v0.15.0 +golang.org/x/sys-v0.19.0 ------------------------ Licensed under Golang BSD + Patents Copyright 2009 Copyright 2009 The Go Authors -Home page: https://pkg.go.dev/golang.org/x/sys@v0.15.0 +Home page: https://pkg.go.dev/golang.org/x/sys@v0.19.0 golang.org/x/text-v0.14.0 ------------------------- @@ -197,24 +190,24 @@ Copyright 2009 Copyright 2009 The Go Authors Home page: https://pkg.go.dev/golang.org/x/text@v0.14.0 -google.golang.org/genproto/googleapis/rpc-v0.0.0-20231002182017-d307bd883b97 +google.golang.org/genproto/googleapis/rpc-v0.0.0-20240429193739-8cf5692501f6 ---------------------------------------------------------------------------- Licensed under Apache 2.0 -Home page: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc@v0.0.0-20231002182017-d307bd883b97 +Home page: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc@v0.0.0-20240429193739-8cf5692501f6 -google.golang.org/grpc-v1.60.0 +google.golang.org/grpc-v1.63.2 ------------------------------ Licensed under Apache 2.0 Copyright 2014 Copyright 2014 gRPC authors -Home page: https://pkg.go.dev/google.golang.org/grpc@v1.60.0 +Home page: https://pkg.go.dev/google.golang.org/grpc@v1.63.2 -google.golang.org/protobuf-v1.31.0 +google.golang.org/protobuf-v1.34.0 ---------------------------------- Licensed under Golang BSD + Patents Copyright 2018 Copyright 2018 The Go Authors -Home page: https://pkg.go.dev/google.golang.org/protobuf@v1.31.0 +Home page: https://pkg.go.dev/google.golang.org/protobuf@v1.34.0 LICENSE REQUIREMENTS & SPECIFICATIONS diff --git a/version.go b/version.go index f88a1a1e..dfa2d744 100644 --- a/version.go +++ b/version.go @@ -16,4 +16,4 @@ package main -const version = "0.9.2" +const version = "0.9.3-rc.6"